UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

665 lines (664 loc) 42.4 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 QVault { type ValidatorInfoStruct = { validator: PromiseOrValue<string>; actualStake: PromiseOrValue<BigNumberish>; normalizedStake: PromiseOrValue<BigNumberish>; compoundRate: PromiseOrValue<BigNumberish>; latestUpdateOfCompoundRate: PromiseOrValue<BigNumberish>; idealStake: PromiseOrValue<BigNumberish>; claimableReward: PromiseOrValue<BigNumberish>; }; type ValidatorInfoStructOutput = [ string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { validator: string; actualStake: BigNumber; normalizedStake: BigNumber; compoundRate: BigNumber; latestUpdateOfCompoundRate: BigNumber; idealStake: BigNumber; claimableReward: BigNumber; }; type BalanceDetailsStruct = { currentBalance: PromiseOrValue<BigNumberish>; normalizedBalance: PromiseOrValue<BigNumberish>; compoundRate: PromiseOrValue<BigNumberish>; lastUpdateOfCompoundRate: PromiseOrValue<BigNumberish>; interestRate: PromiseOrValue<BigNumberish>; }; type BalanceDetailsStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { currentBalance: BigNumber; normalizedBalance: BigNumber; compoundRate: BigNumber; lastUpdateOfCompoundRate: BigNumber; interestRate: BigNumber; }; } export interface QVaultInterface extends utils.Interface { functions: { "aggregatedNormalizedBalance()": FunctionFragment; "compoundRateKeeper()": FunctionFragment; "depositOnBehalfOf(address,uint256,uint256)": FunctionFragment; "getMinimumBalance(address,uint256)": FunctionFragment; "getTimeLocks(address)": FunctionFragment; "purgeTimeLocks(address)": FunctionFragment; "initialize(address)": FunctionFragment; "updateCompoundRate()": FunctionFragment; "deposit()": FunctionFragment; "withdraw(uint256)": FunctionFragment; "lock(uint256)": FunctionFragment; "announceUnlock(uint256)": FunctionFragment; "unlock(uint256)": FunctionFragment; "delegateStake(address[],uint256[])": FunctionFragment; "getLockInfo()": FunctionFragment; "getDelegationsList(address)": FunctionFragment; "getNormalizedBalance(address)": FunctionFragment; "claimStakeDelegatorReward()": FunctionFragment; "depositFromPool()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "increaseAllowance(address,uint256)": FunctionFragment; "decreaseAllowance(address,uint256)": FunctionFragment; "transferAndCall(address,uint256,bytes)": FunctionFragment; "withdrawTo(address,uint256)": FunctionFragment; "depositTo(address)": FunctionFragment; "getUserBalance(address)": FunctionFragment; "getBalanceDetails()": FunctionFragment; "totalSupply()": FunctionFragment; "balanceOf(address)": FunctionFragment; "allowance(address,address)": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; "decimals()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "aggregatedNormalizedBalance" | "compoundRateKeeper" | "depositOnBehalfOf" | "getMinimumBalance" | "getTimeLocks" | "purgeTimeLocks" | "initialize" | "updateCompoundRate" | "deposit" | "withdraw" | "lock" | "announceUnlock" | "unlock" | "delegateStake" | "getLockInfo" | "getDelegationsList" | "getNormalizedBalance" | "claimStakeDelegatorReward" | "depositFromPool" | "transfer" | "approve" | "transferFrom" | "increaseAllowance" | "decreaseAllowance" | "transferAndCall" | "withdrawTo" | "depositTo" | "getUserBalance" | "getBalanceDetails" | "totalSupply" | "balanceOf" | "allowance" | "name" | "symbol" | "decimals"): FunctionFragment; encodeFunctionData(functionFragment: "aggregatedNormalizedBalance", values?: undefined): string; encodeFunctionData(functionFragment: "compoundRateKeeper", values?: undefined): string; 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: "purgeTimeLocks", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "updateCompoundRate", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values?: undefined): string; encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "lock", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "announceUnlock", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "unlock", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "delegateStake", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string; encodeFunctionData(functionFragment: "getLockInfo", values?: undefined): string; encodeFunctionData(functionFragment: "getDelegationsList", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getNormalizedBalance", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "claimStakeDelegatorReward", values?: undefined): string; encodeFunctionData(functionFragment: "depositFromPool", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "increaseAllowance", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "decreaseAllowance", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "transferAndCall", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "withdrawTo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "depositTo", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getUserBalance", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getBalanceDetails", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; decodeFunctionResult(functionFragment: "aggregatedNormalizedBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "compoundRateKeeper", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositOnBehalfOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMinimumBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimeLocks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purgeTimeLocks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateCompoundRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "announceUnlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLockInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDelegationsList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNormalizedBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimStakeDelegatorReward", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositFromPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBalanceDetails", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "NewTimeLock(address,tuple)": EventFragment; "Purged(address,tuple)": EventFragment; "Transfer(address,address,uint256,bytes)": EventFragment; "Transfer(address,address,uint256)": EventFragment; "UserDeposited(address,uint256,uint256)": EventFragment; "UserWithdrawn(address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewTimeLock"): EventFragment; getEvent(nameOrSignatureOrTopic: "Purged"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer(address,address,uint256,bytes)"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer(address,address,uint256)"): EventFragment; getEvent(nameOrSignatureOrTopic: "UserDeposited"): EventFragment; getEvent(nameOrSignatureOrTopic: "UserWithdrawn"): EventFragment; } export interface ApprovalEventObject { owner: string; spender: string; value: BigNumber; } export declare type ApprovalEvent = TypedEvent<[ string, string, BigNumber ], ApprovalEventObject>; export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>; 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 Transfer_address_address_uint256_bytes_EventObject { from: string; to: string; value: BigNumber; data: string; } export declare type Transfer_address_address_uint256_bytes_Event = TypedEvent<[ string, string, BigNumber, string ], Transfer_address_address_uint256_bytes_EventObject>; export declare type Transfer_address_address_uint256_bytes_EventFilter = TypedEventFilter<Transfer_address_address_uint256_bytes_Event>; export interface Transfer_address_address_uint256_EventObject { from: string; to: string; value: BigNumber; } export declare type Transfer_address_address_uint256_Event = TypedEvent<[ string, string, BigNumber ], Transfer_address_address_uint256_EventObject>; export declare type Transfer_address_address_uint256_EventFilter = TypedEventFilter<Transfer_address_address_uint256_Event>; export interface UserDepositedEventObject { _user: string; _newDepositAmount: BigNumber; _newBalance: BigNumber; } export declare type UserDepositedEvent = TypedEvent<[ string, BigNumber, BigNumber ], UserDepositedEventObject>; export declare type UserDepositedEventFilter = TypedEventFilter<UserDepositedEvent>; export interface UserWithdrawnEventObject { _user: string; _withdrawnAmount: BigNumber; _newBalance: BigNumber; } export declare type UserWithdrawnEvent = TypedEvent<[ string, BigNumber, BigNumber ], UserWithdrawnEventObject>; export declare type UserWithdrawnEventFilter = TypedEventFilter<UserWithdrawnEvent>; export interface QVault extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: QVaultInterface; 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: { aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<[BigNumber]>; compoundRateKeeper(overrides?: CallOverrides): Promise<[string]>; 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[]]>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; updateCompoundRate(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getLockInfo(overrides?: CallOverrides): Promise<[VotingLockInfoStructOutput]>; getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[QVault.ValidatorInfoStructOutput[]]>; getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; claimStakeDelegatorReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositFromPool(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; getBalanceDetails(overrides?: CallOverrides): Promise<[QVault.BalanceDetailsStructOutput]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; name(overrides?: CallOverrides): Promise<[string]>; symbol(overrides?: CallOverrides): Promise<[string]>; decimals(overrides?: CallOverrides): Promise<[number]>; }; aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<BigNumber>; compoundRateKeeper(overrides?: CallOverrides): Promise<string>; 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[]>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; updateCompoundRate(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>; getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<QVault.ValidatorInfoStructOutput[]>; getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; claimStakeDelegatorReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositFromPool(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getBalanceDetails(overrides?: CallOverrides): Promise<QVault.BalanceDetailsStructOutput>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; name(overrides?: CallOverrides): Promise<string>; symbol(overrides?: CallOverrides): Promise<string>; decimals(overrides?: CallOverrides): Promise<number>; callStatic: { aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<BigNumber>; compoundRateKeeper(overrides?: CallOverrides): Promise<string>; 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[]>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; initialize(_registry: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; updateCompoundRate(overrides?: CallOverrides): Promise<BigNumber>; deposit(overrides?: CallOverrides): Promise<boolean>; withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; lock(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>; getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>; getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<QVault.ValidatorInfoStructOutput[]>; getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; claimStakeDelegatorReward(overrides?: CallOverrides): Promise<boolean>; depositFromPool(overrides?: CallOverrides): Promise<void>; transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>; depositTo(_recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getBalanceDetails(overrides?: CallOverrides): Promise<QVault.BalanceDetailsStructOutput>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; name(overrides?: CallOverrides): Promise<string>; symbol(overrides?: CallOverrides): Promise<string>; decimals(overrides?: CallOverrides): Promise<number>; }; filters: { "Approval(address,address,uint256)"(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter; Approval(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter; "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; "Transfer(address,address,uint256,bytes)"(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null, data?: null): Transfer_address_address_uint256_bytes_EventFilter; "Transfer(address,address,uint256)"(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): Transfer_address_address_uint256_EventFilter; "UserDeposited(address,uint256,uint256)"(_user?: PromiseOrValue<string> | null, _newDepositAmount?: null, _newBalance?: null): UserDepositedEventFilter; UserDeposited(_user?: PromiseOrValue<string> | null, _newDepositAmount?: null, _newBalance?: null): UserDepositedEventFilter; "UserWithdrawn(address,uint256,uint256)"(_user?: PromiseOrValue<string> | null, _withdrawnAmount?: null, _newBalance?: null): UserWithdrawnEventFilter; UserWithdrawn(_user?: PromiseOrValue<string> | null, _withdrawnAmount?: null, _newBalance?: null): UserWithdrawnEventFilter; }; estimateGas: { aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<BigNumber>; compoundRateKeeper(overrides?: CallOverrides): Promise<BigNumber>; 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>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; updateCompoundRate(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getLockInfo(overrides?: CallOverrides): Promise<BigNumber>; getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; claimStakeDelegatorReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; depositFromPool(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getBalanceDetails(overrides?: CallOverrides): Promise<BigNumber>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; name(overrides?: CallOverrides): Promise<BigNumber>; symbol(overrides?: CallOverrides): Promise<BigNumber>; decimals(overrides?: CallOverrides): Promise<BigNumber>; }; populateTransaction: { aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>; compoundRateKeeper(overrides?: CallOverrides): Promise<PopulatedTransaction>; 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>; purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; updateCompoundRate(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getLockInfo(overrides?: CallOverrides): Promise<PopulatedTransaction>; getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; claimStakeDelegatorReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; depositFromPool(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getBalanceDetails(overrides?: CallOverrides): Promise<PopulatedTransaction>; totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>; balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; name(overrides?: CallOverrides): Promise<PopulatedTransaction>; symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>; decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>; }; }