UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

482 lines (481 loc) 33.9 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 Validators { type WithdrawalStruct = { endTime: PromiseOrValue<BigNumberish>; amount: PromiseOrValue<BigNumberish>; }; type WithdrawalStructOutput = [BigNumber, BigNumber] & { endTime: BigNumber; amount: BigNumber; }; type ValidatorAmountStruct = { validator: PromiseOrValue<string>; amount: PromiseOrValue<BigNumberish>; }; type ValidatorAmountStructOutput = [string, BigNumber] & { validator: string; amount: BigNumber; }; } export interface ValidatorsInterface extends utils.Interface { functions: { "depositOnBehalfOf(address,uint256,uint256)": FunctionFragment; "getMinimumBalance(address,uint256)": FunctionFragment; "getTimeLocks(address)": FunctionFragment; "longList()": FunctionFragment; "purgeTimeLocks(address)": FunctionFragment; "validatorsInfos(address)": FunctionFragment; "initialize(address,address,address)": FunctionFragment; "commitStake()": FunctionFragment; "enterShortList()": FunctionFragment; "announceWithdrawal(uint256)": FunctionFragment; "withdraw(uint256,address)": FunctionFragment; "makeSnapshot()": FunctionFragment; "applySlashing(uint256,address,uint256)": FunctionFragment; "addSlashingProposal(address,uint256)": FunctionFragment; "calculatePendingSlashingsAmount(address,uint256)": FunctionFragment; "getValidatorShortList()": FunctionFragment; "getValidatorDelegatedStake(address)": FunctionFragment; "isInLongList(address)": FunctionFragment; "isInShortList(address)": FunctionFragment; "getSlashingProposalIds(address)": FunctionFragment; "getLockInfo()": FunctionFragment; "getValidatorsList()": FunctionFragment; "getValidatorTotalStake(address)": FunctionFragment; "purgePendingSlashings(address)": FunctionFragment; "refreshDelegatedStake(address)": FunctionFragment; "getShortListMaxLength()": FunctionFragment; "getAccountableSelfStake(address)": FunctionFragment; "getSelfStake(address)": FunctionFragment; "getAccountableTotalStake(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "depositOnBehalfOf" | "getMinimumBalance" | "getTimeLocks" | "longList" | "purgeTimeLocks" | "validatorsInfos" | "initialize" | "commitStake" | "enterShortList" | "announceWithdrawal" | "withdraw" | "makeSnapshot" | "applySlashing" | "addSlashingProposal" | "calculatePendingSlashingsAmount" | "getValidatorShortList" | "getValidatorDelegatedStake" | "isInLongList" | "isInShortList" | "getSlashingProposalIds" | "getLockInfo" | "getValidatorsList" | "getValidatorTotalStake" | "purgePendingSlashings" | "refreshDelegatedStake" | "getShortListMaxLength" | "getAccountableSelfStake" | "getSelfStake" | "getAccountableTotalStake"): 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: "longList", values?: undefined): string; encodeFunctionData(functionFragment: "purgeTimeLocks", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "validatorsInfos", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "initialize", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string> ]): string; encodeFunctionData(functionFragment: "commitStake", values?: undefined): string; encodeFunctionData(functionFragment: "enterShortList", values?: undefined): string; encodeFunctionData(functionFragment: "announceWithdrawal", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "makeSnapshot", values?: undefined): string; encodeFunctionData(functionFragment: "applySlashing", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "addSlashingProposal", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "calculatePendingSlashingsAmount", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getValidatorShortList", values?: undefined): string; encodeFunctionData(functionFragment: "getValidatorDelegatedStake", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "isInLongList", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "isInShortList", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getSlashingProposalIds", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getLockInfo", values?: undefined): string; encodeFunctionData(functionFragment: "getValidatorsList", values?: undefined): string; encodeFunctionData(functionFragment: "getValidatorTotalStake", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "purgePendingSlashings", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "refreshDelegatedStake", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getShortListMaxLength", values?: undefined): string; encodeFunctionData(functionFragment: "getAccountableSelfStake", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getSelfStake", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getAccountableTotalStake", values: [PromiseOrValue<string>]): string; decodeFunctionResult(functionFragment: "depositOnBehalfOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMinimumBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimeLocks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "longList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purgeTimeLocks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validatorsInfos", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "commitStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "enterShortList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "announceWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "makeSnapshot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "applySlashing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSlashingProposal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "calculatePendingSlashingsAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getValidatorShortList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getValidatorDelegatedStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isInLongList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isInShortList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSlashingProposalIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLockInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getValidatorsList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getValidatorTotalStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purgePendingSlashings", data: BytesLike): Result; decodeFunctionResult(functionFragment: "refreshDelegatedStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getShortListMaxLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountableSelfStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSelfStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountableTotalStake", data: BytesLike): Result; events: { "NewTimeLock(address,tuple)": EventFragment; "Purged(address,tuple)": EventFragment; "ValidatorDroppedFromShortList(address)": EventFragment; "ValidatorEnteredShortList(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "NewTimeLock"): EventFragment; getEvent(nameOrSignatureOrTopic: "Purged"): EventFragment; getEvent(nameOrSignatureOrTopic: "ValidatorDroppedFromShortList"): EventFragment; getEvent(nameOrSignatureOrTopic: "ValidatorEnteredShortList"): EventFragment; } 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 ValidatorDroppedFromShortListEventObject { _validator: string; } export declare type ValidatorDroppedFromShortListEvent = TypedEvent<[ string ], ValidatorDroppedFromShortListEventObject>; export declare type ValidatorDroppedFromShortListEventFilter = TypedEventFilter<ValidatorDroppedFromShortListEvent>; export interface ValidatorEnteredShortListEventObject { _validator: string; } export declare type ValidatorEnteredShortListEvent = TypedEvent<[ string ], ValidatorEnteredShortListEventObject>; export declare type ValidatorEnteredShortListEventFilter = TypedEventFilter<ValidatorEnteredShortListEvent>; export interface Validators extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: ValidatorsInterface; 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[]]>; longList(overrides?: CallOverrides): Promise<[string]>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; validatorsInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ Validators.WithdrawalStructOutput ] & { withdrawal: Validators.WithdrawalStructOutput; }>; initialize(_registry: PromiseOrValue<string>, _AddressStorageStakesSorted: PromiseOrValue<string>, _AddressStorageStakes: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; enterShortList(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; makeSnapshot(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _validator: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addSlashingProposal(_validator: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; calculatePendingSlashingsAmount(_validator: PromiseOrValue<string>, _endTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getValidatorShortList(overrides?: CallOverrides): Promise<[Validators.ValidatorAmountStructOutput[]]>; getValidatorDelegatedStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; isInLongList(_userAddr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; isInShortList(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; getSlashingProposalIds(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber[]]>; getLockInfo(overrides?: CallOverrides): Promise<[VotingLockInfoStructOutput]>; getValidatorsList(overrides?: CallOverrides): Promise<[string[]]>; getValidatorTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; purgePendingSlashings(_validator: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; refreshDelegatedStake(_delegateTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getShortListMaxLength(overrides?: CallOverrides): Promise<[BigNumber]>; getAccountableSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; getSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; getAccountableTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; }; 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[]>; longList(overrides?: CallOverrides): Promise<string>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; validatorsInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<Validators.WithdrawalStructOutput>; initialize(_registry: PromiseOrValue<string>, _AddressStorageStakesSorted: PromiseOrValue<string>, _AddressStorageStakes: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; enterShortList(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; makeSnapshot(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _validator: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addSlashingProposal(_validator: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; calculatePendingSlashingsAmount(_validator: PromiseOrValue<string>, _endTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getValidatorShortList(overrides?: CallOverrides): Promise<Validators.ValidatorAmountStructOutput[]>; getValidatorDelegatedStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isInLongList(_userAddr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isInShortList(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; getSlashingProposalIds(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>; getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>; getValidatorsList(overrides?: CallOverrides): Promise<string[]>; getValidatorTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; purgePendingSlashings(_validator: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; refreshDelegatedStake(_delegateTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getShortListMaxLength(overrides?: CallOverrides): Promise<BigNumber>; getAccountableSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getAccountableTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; 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[]>; longList(overrides?: CallOverrides): Promise<string>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; validatorsInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<Validators.WithdrawalStructOutput>; initialize(_registry: PromiseOrValue<string>, _AddressStorageStakesSorted: PromiseOrValue<string>, _AddressStorageStakes: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; commitStake(overrides?: CallOverrides): Promise<void>; enterShortList(overrides?: CallOverrides): Promise<boolean>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; makeSnapshot(overrides?: CallOverrides): Promise<boolean>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _validator: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; addSlashingProposal(_validator: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; calculatePendingSlashingsAmount(_validator: PromiseOrValue<string>, _endTime: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getValidatorShortList(overrides?: CallOverrides): Promise<Validators.ValidatorAmountStructOutput[]>; getValidatorDelegatedStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isInLongList(_userAddr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isInShortList(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; getSlashingProposalIds(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>; getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>; getValidatorsList(overrides?: CallOverrides): Promise<string[]>; getValidatorTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; purgePendingSlashings(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; refreshDelegatedStake(_delegateTo: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; getShortListMaxLength(overrides?: CallOverrides): Promise<BigNumber>; getAccountableSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getAccountableTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; }; filters: { "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; "ValidatorDroppedFromShortList(address)"(_validator?: PromiseOrValue<string> | null): ValidatorDroppedFromShortListEventFilter; ValidatorDroppedFromShortList(_validator?: PromiseOrValue<string> | null): ValidatorDroppedFromShortListEventFilter; "ValidatorEnteredShortList(address)"(_validator?: PromiseOrValue<string> | null): ValidatorEnteredShortListEventFilter; ValidatorEnteredShortList(_validator?: PromiseOrValue<string> | null): ValidatorEnteredShortListEventFilter; }; 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>; longList(overrides?: CallOverrides): Promise<BigNumber>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; validatorsInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; initialize(_registry: PromiseOrValue<string>, _AddressStorageStakesSorted: PromiseOrValue<string>, _AddressStorageStakes: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; enterShortList(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; makeSnapshot(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _validator: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; addSlashingProposal(_validator: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; calculatePendingSlashingsAmount(_validator: PromiseOrValue<string>, _endTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getValidatorShortList(overrides?: CallOverrides): Promise<BigNumber>; getValidatorDelegatedStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isInLongList(_userAddr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isInShortList(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getSlashingProposalIds(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getLockInfo(overrides?: CallOverrides): Promise<BigNumber>; getValidatorsList(overrides?: CallOverrides): Promise<BigNumber>; getValidatorTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; purgePendingSlashings(_validator: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; refreshDelegatedStake(_delegateTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getShortListMaxLength(overrides?: CallOverrides): Promise<BigNumber>; getAccountableSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getAccountableTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): 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>; longList(overrides?: CallOverrides): Promise<PopulatedTransaction>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; validatorsInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; initialize(_registry: PromiseOrValue<string>, _AddressStorageStakesSorted: PromiseOrValue<string>, _AddressStorageStakes: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; commitStake(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; enterShortList(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; announceWithdrawal(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, _payTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; makeSnapshot(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; applySlashing(_proposalId: PromiseOrValue<BigNumberish>, _validator: PromiseOrValue<string>, _amountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; addSlashingProposal(_validator: PromiseOrValue<string>, _slashingProposalId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; calculatePendingSlashingsAmount(_validator: PromiseOrValue<string>, _endTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getValidatorShortList(overrides?: CallOverrides): Promise<PopulatedTransaction>; getValidatorDelegatedStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; isInLongList(_userAddr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; isInShortList(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getSlashingProposalIds(_validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getLockInfo(overrides?: CallOverrides): Promise<PopulatedTransaction>; getValidatorsList(overrides?: CallOverrides): Promise<PopulatedTransaction>; getValidatorTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; purgePendingSlashings(_validator: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; refreshDelegatedStake(_delegateTo: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getShortListMaxLength(overrides?: CallOverrides): Promise<PopulatedTransaction>; getAccountableSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getSelfStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getAccountableTotalStake(_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; }; }