UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

470 lines (469 loc) 30.2 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 type TimeLockEntryStruct = { amount: PromiseOrValue<BigNumberish>; releaseStart: PromiseOrValue<BigNumberish>; releaseEnd: PromiseOrValue<BigNumberish>; }; export declare type TimeLockEntryStructOutput = [BigNumber, BigNumber, BigNumber] & { amount: BigNumber; releaseStart: BigNumber; releaseEnd: BigNumber; }; export declare type VotingLockInfoStruct = { lockedAmount: PromiseOrValue<BigNumberish>; lockedUntil: PromiseOrValue<BigNumberish>; pendingUnlockAmount: PromiseOrValue<BigNumberish>; pendingUnlockTime: PromiseOrValue<BigNumberish>; }; export declare type VotingLockInfoStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber ] & { lockedAmount: BigNumber; lockedUntil: BigNumber; pendingUnlockAmount: BigNumber; pendingUnlockTime: BigNumber; }; export declare namespace Roots { type StakeStruct = { root: PromiseOrValue<string>; value: PromiseOrValue<BigNumberish>; }; type StakeStructOutput = [string, BigNumber] & { root: string; value: BigNumber; }; } export interface RootsInterface extends utils.Interface { functions: { "depositOnBehalfOf(address,uint256,uint256)": FunctionFragment; "getMinimumBalance(address,uint256)": FunctionFragment; "getTimeLocks(address)": FunctionFragment; "pendingSlashingProposals(address,uint256)": FunctionFragment; "purgeTimeLocks(address)": FunctionFragment; "withdrawals(address)": FunctionFragment; "initialize(address,address[])": FunctionFragment; "addMember(address)": FunctionFragment; "removeMember(address)": FunctionFragment; "swapMember(address,address)": FunctionFragment; "commitStake()": FunctionFragment; "announceWithdrawal(uint256)": FunctionFragment; "applySlashing(uint256,address,uint256)": FunctionFragment; "withdraw(uint256,address)": FunctionFragment; "addSlashingProposal(address,uint256)": FunctionFragment; "getSlashingProposalIds(address)": FunctionFragment; "getMembers()": FunctionFragment; "isMember(address)": FunctionFragment; "getSize()": FunctionFragment; "getLimit()": FunctionFragment; "getRootNodeStake(address)": FunctionFragment; "getStakes()": FunctionFragment; "getLockInfo()": FunctionFragment; "purgePendingSlashings(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "depositOnBehalfOf" | "getMinimumBalance" | "getTimeLocks" | "pendingSlashingProposals" | "purgeTimeLocks" | "withdrawals" | "initialize" | "addMember" | "removeMember" | "swapMember" | "commitStake" | "announceWithdrawal" | "applySlashing" | "withdraw" | "addSlashingProposal" | "getSlashingProposalIds" | "getMembers" | "isMember" | "getSize" | "getLimit" | "getRootNodeStake" | "getStakes" | "getLockInfo" | "purgePendingSlashings"): FunctionFragment; encodeFunctionData(functionFragment: "depositOnBehalfOf", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "getMinimumBalance", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getTimeLocks", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "pendingSlashingProposals", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "purgeTimeLocks", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "withdrawals", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>, PromiseOrValue<string>[]]): string; encodeFunctionData(functionFragment: "addMember", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "removeMember", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "swapMember", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "commitStake", values?: undefined): string; encodeFunctionData(functionFragment: "announceWithdrawal", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "applySlashing", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "addSlashingProposal", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getSlashingProposalIds", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getMembers", values?: undefined): string; encodeFunctionData(functionFragment: "isMember", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getSize", values?: undefined): string; encodeFunctionData(functionFragment: "getLimit", values?: undefined): string; encodeFunctionData(functionFragment: "getRootNodeStake", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getStakes", values?: undefined): string; encodeFunctionData(functionFragment: "getLockInfo", values?: undefined): string; encodeFunctionData(functionFragment: "purgePendingSlashings", values: [PromiseOrValue<string>]): string; decodeFunctionResult(functionFragment: "depositOnBehalfOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMinimumBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimeLocks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingSlashingProposals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purgeTimeLocks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "commitStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "announceWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "applySlashing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSlashingProposal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSlashingProposalIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMembers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRootNodeStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStakes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLockInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purgePendingSlashings", data: BytesLike): Result; events: { "CommittedStake(address,uint256)": EventFragment; "DepositedStake(address,address,uint256)": EventFragment; "NewTimeLock(address,tuple)": EventFragment; "Purged(address,tuple)": EventFragment; "WithdrawalAnnounced(address,uint256)": EventFragment; "Withdrawn(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "CommittedStake"): EventFragment; getEvent(nameOrSignatureOrTopic: "DepositedStake"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewTimeLock"): EventFragment; getEvent(nameOrSignatureOrTopic: "Purged"): EventFragment; getEvent(nameOrSignatureOrTopic: "WithdrawalAnnounced"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; } export interface CommittedStakeEventObject { _root: string; _amount: BigNumber; } export declare type CommittedStakeEvent = TypedEvent<[ string, BigNumber ], CommittedStakeEventObject>; export declare type CommittedStakeEventFilter = TypedEventFilter<CommittedStakeEvent>; export interface DepositedStakeEventObject { _sender: string; _root: string; _amount: BigNumber; } export declare type DepositedStakeEvent = TypedEvent<[ string, string, BigNumber ], DepositedStakeEventObject>; export declare type DepositedStakeEventFilter = TypedEventFilter<DepositedStakeEvent>; export interface NewTimeLockEventObject { _account: string; _timelock: TimeLockEntryStructOutput; } export declare type NewTimeLockEvent = TypedEvent<[ string, TimeLockEntryStructOutput ], NewTimeLockEventObject>; export declare type NewTimeLockEventFilter = TypedEventFilter<NewTimeLockEvent>; export interface PurgedEventObject { _account: string; _timelock: TimeLockEntryStructOutput; } export declare type PurgedEvent = TypedEvent<[ string, TimeLockEntryStructOutput ], PurgedEventObject>; export declare type PurgedEventFilter = TypedEventFilter<PurgedEvent>; export interface WithdrawalAnnouncedEventObject { _root: string; _amount: BigNumber; } export declare type WithdrawalAnnouncedEvent = TypedEvent<[ string, BigNumber ], WithdrawalAnnouncedEventObject>; export declare type WithdrawalAnnouncedEventFilter = TypedEventFilter<WithdrawalAnnouncedEvent>; export interface WithdrawnEventObject { _root: string; _paidTo: string; _amount: BigNumber; } export declare type WithdrawnEvent = TypedEvent<[ string, string, BigNumber ], WithdrawnEventObject>; export declare type WithdrawnEventFilter = TypedEventFilter<WithdrawnEvent>; export interface Roots extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: RootsInterface; 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: { depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>; getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[TimeLockEntryStructOutput[]]>; pendingSlashingProposals(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { endTime: BigNumber; amount: BigNumber; }>; initialize(_registry: PromiseOrValue<string>, _roots: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; removeMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapMember(_rootAddress: PromiseOrValue<string>, _newRootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _root: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addSlashingProposal(_root: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getSlashingProposalIds(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber[]]>; getMembers(overrides?: CallOverrides): Promise<[string[]]>; isMember(_exp: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; getSize(overrides?: CallOverrides): Promise<[BigNumber]>; getLimit(overrides?: CallOverrides): Promise<[BigNumber]>; getRootNodeStake(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; getStakes(overrides?: CallOverrides): Promise<[Roots.StakeStructOutput[]]>; getLockInfo(overrides?: CallOverrides): Promise<[VotingLockInfoStructOutput]>; purgePendingSlashings(_root: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<TimeLockEntryStructOutput[]>; pendingSlashingProposals(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { endTime: BigNumber; amount: BigNumber; }>; initialize(_registry: PromiseOrValue<string>, _roots: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; removeMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; swapMember(_rootAddress: PromiseOrValue<string>, _newRootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _root: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addSlashingProposal(_root: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getSlashingProposalIds(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>; getMembers(overrides?: CallOverrides): Promise<string[]>; isMember(_exp: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; getSize(overrides?: CallOverrides): Promise<BigNumber>; getLimit(overrides?: CallOverrides): Promise<BigNumber>; getRootNodeStake(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getStakes(overrides?: CallOverrides): Promise<Roots.StakeStructOutput[]>; getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>; purgePendingSlashings(_root: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<TimeLockEntryStructOutput[]>; pendingSlashingProposals(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { endTime: BigNumber; amount: BigNumber; }>; initialize(_registry: PromiseOrValue<string>, _roots: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>; addMember(_rootAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; removeMember(_rootAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; swapMember(_rootAddress: PromiseOrValue<string>, _newRootAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; commitStake(overrides?: CallOverrides): Promise<void>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _root: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; addSlashingProposal(_root: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; getSlashingProposalIds(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>; getMembers(overrides?: CallOverrides): Promise<string[]>; isMember(_exp: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; getSize(overrides?: CallOverrides): Promise<BigNumber>; getLimit(overrides?: CallOverrides): Promise<BigNumber>; getRootNodeStake(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getStakes(overrides?: CallOverrides): Promise<Roots.StakeStructOutput[]>; getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>; purgePendingSlashings(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; }; filters: { "CommittedStake(address,uint256)"(_root?: PromiseOrValue<string> | null, _amount?: null): CommittedStakeEventFilter; CommittedStake(_root?: PromiseOrValue<string> | null, _amount?: null): CommittedStakeEventFilter; "DepositedStake(address,address,uint256)"(_sender?: PromiseOrValue<string> | null, _root?: PromiseOrValue<string> | null, _amount?: null): DepositedStakeEventFilter; DepositedStake(_sender?: PromiseOrValue<string> | null, _root?: PromiseOrValue<string> | null, _amount?: null): DepositedStakeEventFilter; "NewTimeLock(address,tuple)"(_account?: PromiseOrValue<string> | null, _timelock?: null): NewTimeLockEventFilter; NewTimeLock(_account?: PromiseOrValue<string> | null, _timelock?: null): NewTimeLockEventFilter; "Purged(address,tuple)"(_account?: PromiseOrValue<string> | null, _timelock?: null): PurgedEventFilter; Purged(_account?: PromiseOrValue<string> | null, _timelock?: null): PurgedEventFilter; "WithdrawalAnnounced(address,uint256)"(_root?: PromiseOrValue<string> | null, _amount?: null): WithdrawalAnnouncedEventFilter; WithdrawalAnnounced(_root?: PromiseOrValue<string> | null, _amount?: null): WithdrawalAnnouncedEventFilter; "Withdrawn(address,address,uint256)"(_root?: PromiseOrValue<string> | null, _paidTo?: PromiseOrValue<string> | null, _amount?: null): WithdrawnEventFilter; Withdrawn(_root?: PromiseOrValue<string> | null, _paidTo?: PromiseOrValue<string> | null, _amount?: null): WithdrawnEventFilter; }; estimateGas: { depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; pendingSlashingProposals(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; initialize(_registry: PromiseOrValue<string>, _roots: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; addMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; removeMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; swapMember(_rootAddress: PromiseOrValue<string>, _newRootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _root: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; addSlashingProposal(_root: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getSlashingProposalIds(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getMembers(overrides?: CallOverrides): Promise<BigNumber>; isMember(_exp: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getSize(overrides?: CallOverrides): Promise<BigNumber>; getLimit(overrides?: CallOverrides): Promise<BigNumber>; getRootNodeStake(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getStakes(overrides?: CallOverrides): Promise<BigNumber>; getLockInfo(overrides?: CallOverrides): Promise<BigNumber>; purgePendingSlashings(_root: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; }; populateTransaction: { depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; pendingSlashingProposals(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; initialize(_registry: PromiseOrValue<string>, _roots: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; addMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; removeMember(_rootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; swapMember(_rootAddress: PromiseOrValue<string>, _newRootAddress: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _root: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; addSlashingProposal(_root: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getSlashingProposalIds(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getMembers(overrides?: CallOverrides): Promise<PopulatedTransaction>; isMember(_exp: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getSize(overrides?: CallOverrides): Promise<PopulatedTransaction>; getLimit(overrides?: CallOverrides): Promise<PopulatedTransaction>; getRootNodeStake(_root: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getStakes(overrides?: CallOverrides): Promise<PopulatedTransaction>; getLockInfo(overrides?: CallOverrides): Promise<PopulatedTransaction>; purgePendingSlashings(_root: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; }; }