UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

208 lines (207 loc) 11.4 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 ISlashingVotingInterface extends utils.Interface { functions: { "execute(uint256)": FunctionFragment; "getProposal(uint256)": FunctionFragment; "getProposalStats(uint256)": FunctionFragment; "voteAgainst(uint256)": FunctionFragment; "voteFor(uint256)": FunctionFragment; "getSlashingVictim(uint256)": FunctionFragment; "getSlashingProposer(uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "execute" | "getProposal" | "getProposalStats" | "voteAgainst" | "voteFor" | "getSlashingVictim" | "getSlashingProposer"): FunctionFragment; encodeFunctionData(functionFragment: "execute", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getProposal", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getProposalStats", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "voteAgainst", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "voteFor", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getSlashingVictim", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getSlashingProposer", values: [PromiseOrValue<BigNumberish>]): string; decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProposal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProposalStats", data: BytesLike): Result; decodeFunctionResult(functionFragment: "voteAgainst", data: BytesLike): Result; decodeFunctionResult(functionFragment: "voteFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSlashingVictim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSlashingProposer", data: BytesLike): Result; events: { "ProposalCreated(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "ProposalCreated"): 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 ISlashingVoting extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: ISlashingVotingInterface; 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: { execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IVoting.BaseProposalStructOutput]>; getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IVoting.VotingStatsStructOutput]>; voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>; getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>; }; execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.BaseProposalStructOutput>; getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.VotingStatsStructOutput>; voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; callStatic: { execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.BaseProposalStructOutput>; getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IVoting.VotingStatsStructOutput>; voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; }; filters: { "ProposalCreated(uint256,tuple)"(_id?: null, _proposal?: null): ProposalCreatedEventFilter; ProposalCreated(_id?: null, _proposal?: null): ProposalCreatedEventFilter; }; estimateGas: { execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; }; populateTransaction: { execute(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getProposalStats(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; voteAgainst(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; voteFor(_proposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getSlashingVictim(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getSlashingProposer(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; }; }