@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
350 lines (349 loc) • 21 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
export declare namespace IVoting {
type VotingParamsStruct = {
votingStartTime: PromiseOrValue<BigNumberish>;
votingEndTime: PromiseOrValue<BigNumberish>;
vetoEndTime: PromiseOrValue<BigNumberish>;
proposalExecutionP: PromiseOrValue<BigNumberish>;
requiredQuorum: PromiseOrValue<BigNumberish>;
requiredMajority: PromiseOrValue<BigNumberish>;
requiredSMajority: PromiseOrValue<BigNumberish>;
requiredSQuorum: PromiseOrValue<BigNumberish>;
};
type VotingParamsStructOutput = [
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber
] & {
votingStartTime: BigNumber;
votingEndTime: BigNumber;
vetoEndTime: BigNumber;
proposalExecutionP: BigNumber;
requiredQuorum: BigNumber;
requiredMajority: BigNumber;
requiredSMajority: BigNumber;
requiredSQuorum: BigNumber;
};
type VotingCountersStruct = {
weightFor: PromiseOrValue<BigNumberish>;
weightAgainst: PromiseOrValue<BigNumberish>;
vetosCount: PromiseOrValue<BigNumberish>;
};
type VotingCountersStructOutput = [BigNumber, BigNumber, BigNumber] & {
weightFor: BigNumber;
weightAgainst: BigNumber;
vetosCount: BigNumber;
};
type BaseProposalStruct = {
remark: PromiseOrValue<string>;
params: IVoting.VotingParamsStruct;
counters: IVoting.VotingCountersStruct;
executed: PromiseOrValue<boolean>;
};
type BaseProposalStructOutput = [
string,
IVoting.VotingParamsStructOutput,
IVoting.VotingCountersStructOutput,
boolean
] & {
remark: string;
params: IVoting.VotingParamsStructOutput;
counters: IVoting.VotingCountersStructOutput;
executed: boolean;
};
type VotingStatsStruct = {
requiredQuorum: PromiseOrValue<BigNumberish>;
currentQuorum: PromiseOrValue<BigNumberish>;
requiredMajority: PromiseOrValue<BigNumberish>;
currentMajority: PromiseOrValue<BigNumberish>;
currentVetoPercentage: PromiseOrValue<BigNumberish>;
};
type VotingStatsStructOutput = [
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber
] & {
requiredQuorum: BigNumber;
currentQuorum: BigNumber;
requiredMajority: BigNumber;
currentMajority: BigNumber;
currentVetoPercentage: BigNumber;
};
}
export interface ValidatorsSlashingVotingInterface extends utils.Interface {
functions: {
"proposalCount()": FunctionFragment;
"proposals(uint256)": FunctionFragment;
"voted(uint256,address)": FunctionFragment;
"initialize(address)": FunctionFragment;
"createProposal(string,address,uint256)": FunctionFragment;
"voteFor(uint256)": FunctionFragment;
"voteAgainst(uint256)": FunctionFragment;
"execute(uint256)": FunctionFragment;
"getProposal(uint256)": FunctionFragment;
"getSlashingVictim(uint256)": FunctionFragment;
"getSlashingProposer(uint256)": FunctionFragment;
"getProposalStats(uint256)": FunctionFragment;
"slashingAffectsWithdrawal(uint256)": FunctionFragment;
"getProposalStartTime(uint256)": FunctionFragment;
"getStatus(uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "proposalCount" | "proposals" | "voted" | "initialize" | "createProposal" | "voteFor" | "voteAgainst" | "execute" | "getProposal" | "getSlashingVictim" | "getSlashingProposer" | "getProposalStats" | "slashingAffectsWithdrawal" | "getProposalStartTime" | "getStatus"): FunctionFragment;
encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string;
encodeFunctionData(functionFragment: "proposals", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "voted", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "createProposal", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "voteFor", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "voteAgainst", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "execute", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getProposal", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getSlashingVictim", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getSlashingProposer", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getProposalStats", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "slashingAffectsWithdrawal", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getProposalStartTime", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getStatus", values: [PromiseOrValue<BigNumberish>]): string;
decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "voted", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createProposal", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "voteFor", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "voteAgainst", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getProposal", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSlashingVictim", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSlashingProposer", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getProposalStats", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "slashingAffectsWithdrawal", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getProposalStartTime", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getStatus", data: BytesLike): Result;
events: {
"ProposalCreated(uint256,tuple)": EventFragment;
"ProposalExecuted(uint256,address,uint256)": EventFragment;
"UserVoted(uint256,uint8)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment;
getEvent(nameOrSignatureOrTopic: "UserVoted"): EventFragment;
}
export interface ProposalCreatedEventObject {
_id: BigNumber;
_proposal: IVoting.BaseProposalStructOutput;
}
export declare type ProposalCreatedEvent = TypedEvent<[
BigNumber,
IVoting.BaseProposalStructOutput
], ProposalCreatedEventObject>;
export declare type ProposalCreatedEventFilter = TypedEventFilter<ProposalCreatedEvent>;
export interface ProposalExecutedEventObject {
_proposalId: BigNumber;
_candidate: string;
_amountToSlash: BigNumber;
}
export declare type ProposalExecutedEvent = TypedEvent<[
BigNumber,
string,
BigNumber
], ProposalExecutedEventObject>;
export declare type ProposalExecutedEventFilter = TypedEventFilter<ProposalExecutedEvent>;
export interface UserVotedEventObject {
_proposalId: BigNumber;
_votingOption: number;
}
export declare type UserVotedEvent = TypedEvent<[
BigNumber,
number
], UserVotedEventObject>;
export declare type UserVotedEventFilter = TypedEventFilter<UserVotedEvent>;
export interface ValidatorsSlashingVoting extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: ValidatorsSlashingVotingInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
proposalCount(overrides?: CallOverrides): Promise<[BigNumber]>;
proposals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
IVoting.BaseProposalStructOutput,
string,
string,
BigNumber
] & {
base: IVoting.BaseProposalStructOutput;
proposer: string;
candidate: string;
amountToSlash: BigNumber;
}>;
voted(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createProposal(_remark: PromiseOrValue<string>, _candidate: PromiseOrValue<string>, _percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IVoting.BaseProposalStructOutput]>;
getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IVoting.VotingStatsStructOutput]>;
slashingAffectsWithdrawal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
getProposalStartTime(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
getStatus(_id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number]>;
};
proposalCount(overrides?: CallOverrides): Promise<BigNumber>;
proposals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
IVoting.BaseProposalStructOutput,
string,
string,
BigNumber
] & {
base: IVoting.BaseProposalStructOutput;
proposer: string;
candidate: string;
amountToSlash: BigNumber;
}>;
voted(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createProposal(_remark: PromiseOrValue<string>, _candidate: PromiseOrValue<string>, _percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.BaseProposalStructOutput>;
getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.VotingStatsStructOutput>;
slashingAffectsWithdrawal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
getProposalStartTime(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getStatus(_id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
callStatic: {
proposalCount(overrides?: CallOverrides): Promise<BigNumber>;
proposals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
IVoting.BaseProposalStructOutput,
string,
string,
BigNumber
] & {
base: IVoting.BaseProposalStructOutput;
proposer: string;
candidate: string;
amountToSlash: BigNumber;
}>;
voted(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
initialize(_registry: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
createProposal(_remark: PromiseOrValue<string>, _candidate: PromiseOrValue<string>, _percentage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.BaseProposalStructOutput>;
getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.VotingStatsStructOutput>;
slashingAffectsWithdrawal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
getProposalStartTime(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getStatus(_id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
};
filters: {
"ProposalCreated(uint256,tuple)"(_id?: null, _proposal?: null): ProposalCreatedEventFilter;
ProposalCreated(_id?: null, _proposal?: null): ProposalCreatedEventFilter;
"ProposalExecuted(uint256,address,uint256)"(_proposalId?: PromiseOrValue<BigNumberish> | null, _candidate?: null, _amountToSlash?: null): ProposalExecutedEventFilter;
ProposalExecuted(_proposalId?: PromiseOrValue<BigNumberish> | null, _candidate?: null, _amountToSlash?: null): ProposalExecutedEventFilter;
"UserVoted(uint256,uint8)"(_proposalId?: PromiseOrValue<BigNumberish> | null, _votingOption?: null): UserVotedEventFilter;
UserVoted(_proposalId?: PromiseOrValue<BigNumberish> | null, _votingOption?: null): UserVotedEventFilter;
};
estimateGas: {
proposalCount(overrides?: CallOverrides): Promise<BigNumber>;
proposals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
voted(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
createProposal(_remark: PromiseOrValue<string>, _candidate: PromiseOrValue<string>, _percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
slashingAffectsWithdrawal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getProposalStartTime(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getStatus(_id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
proposalCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
proposals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
voted(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
createProposal(_remark: PromiseOrValue<string>, _candidate: PromiseOrValue<string>, _percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
slashingAffectsWithdrawal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getProposalStartTime(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getStatus(_id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}