UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

350 lines (349 loc) 21 kB
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>; }; }