UNPKG

@augumented-finance/protocol-v1

Version:

Augmented Protocol smart contracts

1,951 lines (1,672 loc) 79.3 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction, } from "ethers"; import { Contract, ContractTransaction, Overrides, CallOverrides, } from "@ethersproject/contracts"; import { BytesLike } from "@ethersproject/bytes"; import { Listener, Provider } from "@ethersproject/providers"; import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; interface VotingTokenInterface extends ethers.utils.Interface { functions: { "COOLDOWN_BLOCKS()": FunctionFragment; "DELEGATE_BY_TYPE_TYPEHASH()": FunctionFragment; "DELEGATE_TYPEHASH()": FunctionFragment; "DOMAIN_SEPARATOR()": FunctionFragment; "EIP712_REVISION()": FunctionFragment; "PERMIT_TYPEHASH()": FunctionFragment; "UNDERLYING_ASSET_ADDRESS()": FunctionFragment; "UNSTAKE_WINDOW_BLOCKS()": FunctionFragment; "_governance()": FunctionFragment; "_nonces(address)": FunctionFragment; "_votingSnapshots(address,uint256)": FunctionFragment; "_votingSnapshotsCounts(address)": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "cooldown()": FunctionFragment; "decimals()": FunctionFragment; "decreaseAllowance(address,uint256)": FunctionFragment; "delegate(address)": FunctionFragment; "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "delegateByType(address,uint8)": FunctionFragment; "delegateByTypeBySig(address,uint8,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "donate(uint256)": FunctionFragment; "exchangeRate()": FunctionFragment; "getCooldown(address)": FunctionFragment; "getDelegateeByType(address,uint8)": FunctionFragment; "getMaxSlashablePercentage()": FunctionFragment; "getNextCooldownBlocks(uint32,uint256,address,uint256)": FunctionFragment; "getPowerAtBlock(address,uint256,uint8)": FunctionFragment; "getPowerCurrent(address,uint8)": FunctionFragment; "increaseAllowance(address,uint256)": FunctionFragment; "initialize(tuple,string,string,uint8)": FunctionFragment; "isPaused()": FunctionFragment; "isRedeemable()": FunctionFragment; "name()": FunctionFragment; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "redeem(address,uint256)": FunctionFragment; "redeemUnderlying(address,uint256)": FunctionFragment; "setCooldown(uint32,uint32)": FunctionFragment; "setMaxSlashablePercentage(uint256)": FunctionFragment; "setPaused(bool)": FunctionFragment; "setRedeemable(bool)": FunctionFragment; "slashUnderlying(address,uint256,uint256)": FunctionFragment; "stake(address,uint256)": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; "totalSupplyAt(uint256)": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; }; encodeFunctionData( functionFragment: "COOLDOWN_BLOCKS", values?: undefined ): string; encodeFunctionData( functionFragment: "DELEGATE_BY_TYPE_TYPEHASH", values?: undefined ): string; encodeFunctionData( functionFragment: "DELEGATE_TYPEHASH", values?: undefined ): string; encodeFunctionData( functionFragment: "DOMAIN_SEPARATOR", values?: undefined ): string; encodeFunctionData( functionFragment: "EIP712_REVISION", values?: undefined ): string; encodeFunctionData( functionFragment: "PERMIT_TYPEHASH", values?: undefined ): string; encodeFunctionData( functionFragment: "UNDERLYING_ASSET_ADDRESS", values?: undefined ): string; encodeFunctionData( functionFragment: "UNSTAKE_WINDOW_BLOCKS", values?: undefined ): string; encodeFunctionData( functionFragment: "_governance", values?: undefined ): string; encodeFunctionData(functionFragment: "_nonces", values: [string]): string; encodeFunctionData( functionFragment: "_votingSnapshots", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "_votingSnapshotsCounts", values: [string] ): string; encodeFunctionData( functionFragment: "allowance", values: [string, string] ): string; encodeFunctionData( functionFragment: "approve", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData(functionFragment: "cooldown", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData( functionFragment: "decreaseAllowance", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "delegate", values: [string]): string; encodeFunctionData( functionFragment: "delegateBySig", values: [ string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: "delegateByType", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "delegateByTypeBySig", values: [ string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: "donate", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "exchangeRate", values?: undefined ): string; encodeFunctionData(functionFragment: "getCooldown", values: [string]): string; encodeFunctionData( functionFragment: "getDelegateeByType", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "getMaxSlashablePercentage", values?: undefined ): string; encodeFunctionData( functionFragment: "getNextCooldownBlocks", values: [BigNumberish, BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "getPowerAtBlock", values: [string, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "getPowerCurrent", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "increaseAllowance", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "initialize", values: [ { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, string, string, BigNumberish ] ): string; encodeFunctionData(functionFragment: "isPaused", values?: undefined): string; encodeFunctionData( functionFragment: "isRedeemable", values?: undefined ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "permit", values: [ string, string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: "redeem", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "redeemUnderlying", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "setCooldown", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "setMaxSlashablePercentage", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "setPaused", values: [boolean]): string; encodeFunctionData( functionFragment: "setRedeemable", values: [boolean] ): string; encodeFunctionData( functionFragment: "slashUnderlying", values: [string, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "stake", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "totalSupplyAt", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "transfer", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; decodeFunctionResult( functionFragment: "COOLDOWN_BLOCKS", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "DELEGATE_BY_TYPE_TYPEHASH", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "DELEGATE_TYPEHASH", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "DOMAIN_SEPARATOR", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "EIP712_REVISION", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "PERMIT_TYPEHASH", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "UNDERLYING_ASSET_ADDRESS", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "UNSTAKE_WINDOW_BLOCKS", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "_governance", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "_nonces", data: BytesLike): Result; decodeFunctionResult( functionFragment: "_votingSnapshots", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "_votingSnapshotsCounts", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cooldown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult( functionFragment: "decreaseAllowance", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; decodeFunctionResult( functionFragment: "delegateBySig", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "delegateByType", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "delegateByTypeBySig", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "donate", data: BytesLike): Result; decodeFunctionResult( functionFragment: "exchangeRate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCooldown", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getDelegateeByType", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMaxSlashablePercentage", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getNextCooldownBlocks", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPowerAtBlock", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPowerCurrent", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "increaseAllowance", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isPaused", data: BytesLike): Result; decodeFunctionResult( functionFragment: "isRedeemable", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult( functionFragment: "redeemUnderlying", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setCooldown", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMaxSlashablePercentage", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "setPaused", data: BytesLike): Result; decodeFunctionResult( functionFragment: "setRedeemable", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "slashUnderlying", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult( functionFragment: "totalSupply", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalSupplyAt", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferFrom", data: BytesLike ): Result; events: { "Approval(address,address,uint256)": EventFragment; "Cooldown(address,uint32)": EventFragment; "DelegateChanged(address,address,uint8)": EventFragment; "DelegatedPowerChanged(address,uint256,uint8)": EventFragment; "Donated(address,uint256)": EventFragment; "Initialized(tuple,string,string,uint8)": EventFragment; "Redeem(address,address,uint256,uint256)": EventFragment; "Slashed(address,uint256)": EventFragment; "Staked(address,address,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "Cooldown"): EventFragment; getEvent(nameOrSignatureOrTopic: "DelegateChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "DelegatedPowerChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "Donated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Redeem"): EventFragment; getEvent(nameOrSignatureOrTopic: "Slashed"): EventFragment; getEvent(nameOrSignatureOrTopic: "Staked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export class VotingToken extends Contract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; on(event: EventFilter | string, listener: Listener): this; once(event: EventFilter | string, listener: Listener): this; addListener(eventName: EventFilter | string, listener: Listener): this; removeAllListeners(eventName: EventFilter | string): this; removeListener(eventName: any, listener: Listener): this; interface: VotingTokenInterface; functions: { COOLDOWN_BLOCKS( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "COOLDOWN_BLOCKS()"( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; DELEGATE_BY_TYPE_TYPEHASH( overrides?: CallOverrides ): Promise<{ 0: string; }>; "DELEGATE_BY_TYPE_TYPEHASH()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; DELEGATE_TYPEHASH( overrides?: CallOverrides ): Promise<{ 0: string; }>; "DELEGATE_TYPEHASH()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; DOMAIN_SEPARATOR( overrides?: CallOverrides ): Promise<{ 0: string; }>; "DOMAIN_SEPARATOR()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; EIP712_REVISION( overrides?: CallOverrides ): Promise<{ 0: string; }>; "EIP712_REVISION()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; PERMIT_TYPEHASH( overrides?: CallOverrides ): Promise<{ 0: string; }>; "PERMIT_TYPEHASH()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; UNDERLYING_ASSET_ADDRESS( overrides?: CallOverrides ): Promise<{ 0: string; }>; "UNDERLYING_ASSET_ADDRESS()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; UNSTAKE_WINDOW_BLOCKS( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "UNSTAKE_WINDOW_BLOCKS()"( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; _governance( overrides?: CallOverrides ): Promise<{ 0: string; }>; "_governance()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; _nonces( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "_nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; _votingSnapshots( arg0: string, arg1: BigNumberish, overrides?: CallOverrides ): Promise<{ blockNumber: BigNumber; value: BigNumber; 0: BigNumber; 1: BigNumber; }>; "_votingSnapshots(address,uint256)"( arg0: string, arg1: BigNumberish, overrides?: CallOverrides ): Promise<{ blockNumber: BigNumber; value: BigNumber; 0: BigNumber; 1: BigNumber; }>; _votingSnapshotsCounts( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "_votingSnapshotsCounts(address)"( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "allowance(address,address)"( owner: string, spender: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "approve(address,uint256)"( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; balanceOf( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; cooldown(overrides?: Overrides): Promise<ContractTransaction>; "cooldown()"(overrides?: Overrides): Promise<ContractTransaction>; decimals( overrides?: CallOverrides ): Promise<{ 0: number; }>; "decimals()"( overrides?: CallOverrides ): Promise<{ 0: number; }>; decreaseAllowance( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "decreaseAllowance(address,uint256)"( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; delegate( delegatee: string, overrides?: Overrides ): Promise<ContractTransaction>; "delegate(address)"( delegatee: string, overrides?: Overrides ): Promise<ContractTransaction>; delegateBySig( delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)"( delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; delegateByType( delegatee: string, delegationType: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "delegateByType(address,uint8)"( delegatee: string, delegationType: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; delegateByTypeBySig( delegatee: string, delegationType: BigNumberish, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; "delegateByTypeBySig(address,uint8,uint256,uint256,uint8,bytes32,bytes32)"( delegatee: string, delegationType: BigNumberish, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; donate( amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "donate(uint256)"( amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; exchangeRate( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "exchangeRate()"( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; getCooldown( holder: string, overrides?: Overrides ): Promise<ContractTransaction>; "getCooldown(address)"( holder: string, overrides?: Overrides ): Promise<ContractTransaction>; getDelegateeByType( delegator: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: string; }>; "getDelegateeByType(address,uint8)"( delegator: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: string; }>; getMaxSlashablePercentage( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "getMaxSlashablePercentage()"( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; getNextCooldownBlocks( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "getNextCooldownBlocks(uint32,uint256,address,uint256)"( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; getPowerAtBlock( user: string, blockNumber: BigNumberish, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "getPowerAtBlock(address,uint256,uint8)"( user: string, blockNumber: BigNumberish, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; getPowerCurrent( user: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "getPowerCurrent(address,uint8)"( user: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; increaseAllowance( spender: string, addedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "increaseAllowance(address,uint256)"( spender: string, addedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; initialize( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "initialize((address,address,uint32,uint32,address),string,string,uint8)"( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; isPaused( overrides?: CallOverrides ): Promise<{ 0: boolean; }>; "isPaused()"( overrides?: CallOverrides ): Promise<{ 0: boolean; }>; isRedeemable( overrides?: CallOverrides ): Promise<{ 0: boolean; }>; "isRedeemable()"( overrides?: CallOverrides ): Promise<{ 0: boolean; }>; name( overrides?: CallOverrides ): Promise<{ 0: string; }>; "name()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; permit( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; redeem( to: string, stakeAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "redeem(address,uint256)"( to: string, stakeAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; redeemUnderlying( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "redeemUnderlying(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; setCooldown( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "setCooldown(uint32,uint32)"( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; setMaxSlashablePercentage( percentageInRay: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "setMaxSlashablePercentage(uint256)"( percentageInRay: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; setPaused( paused: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "setPaused(bool)"( paused: boolean, overrides?: Overrides ): Promise<ContractTransaction>; setRedeemable( redeemable: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "setRedeemable(bool)"( redeemable: boolean, overrides?: Overrides ): Promise<ContractTransaction>; slashUnderlying( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "slashUnderlying(address,uint256,uint256)"( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; stake( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "stake(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; symbol( overrides?: CallOverrides ): Promise<{ 0: string; }>; "symbol()"( overrides?: CallOverrides ): Promise<{ 0: string; }>; totalSupply( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "totalSupply()"( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; totalSupplyAt( blockNumber: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "totalSupplyAt(uint256)"( blockNumber: BigNumberish, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transfer(address,uint256)"( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transferFrom(address,address,uint256)"( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; }; COOLDOWN_BLOCKS(overrides?: CallOverrides): Promise<BigNumber>; "COOLDOWN_BLOCKS()"(overrides?: CallOverrides): Promise<BigNumber>; DELEGATE_BY_TYPE_TYPEHASH(overrides?: CallOverrides): Promise<string>; "DELEGATE_BY_TYPE_TYPEHASH()"(overrides?: CallOverrides): Promise<string>; DELEGATE_TYPEHASH(overrides?: CallOverrides): Promise<string>; "DELEGATE_TYPEHASH()"(overrides?: CallOverrides): Promise<string>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise<string>; EIP712_REVISION(overrides?: CallOverrides): Promise<string>; "EIP712_REVISION()"(overrides?: CallOverrides): Promise<string>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>; "PERMIT_TYPEHASH()"(overrides?: CallOverrides): Promise<string>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<string>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<string>; UNSTAKE_WINDOW_BLOCKS(overrides?: CallOverrides): Promise<BigNumber>; "UNSTAKE_WINDOW_BLOCKS()"(overrides?: CallOverrides): Promise<BigNumber>; _governance(overrides?: CallOverrides): Promise<string>; "_governance()"(overrides?: CallOverrides): Promise<string>; _nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>; "_nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; _votingSnapshots( arg0: string, arg1: BigNumberish, overrides?: CallOverrides ): Promise<{ blockNumber: BigNumber; value: BigNumber; 0: BigNumber; 1: BigNumber; }>; "_votingSnapshots(address,uint256)"( arg0: string, arg1: BigNumberish, overrides?: CallOverrides ): Promise<{ blockNumber: BigNumber; value: BigNumber; 0: BigNumber; 1: BigNumber; }>; _votingSnapshotsCounts( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; "_votingSnapshotsCounts(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise<BigNumber>; "allowance(address,address)"( owner: string, spender: string, overrides?: CallOverrides ): Promise<BigNumber>; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "approve(address,uint256)"( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise<BigNumber>; cooldown(overrides?: Overrides): Promise<ContractTransaction>; "cooldown()"(overrides?: Overrides): Promise<ContractTransaction>; decimals(overrides?: CallOverrides): Promise<number>; "decimals()"(overrides?: CallOverrides): Promise<number>; decreaseAllowance( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "decreaseAllowance(address,uint256)"( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; delegate( delegatee: string, overrides?: Overrides ): Promise<ContractTransaction>; "delegate(address)"( delegatee: string, overrides?: Overrides ): Promise<ContractTransaction>; delegateBySig( delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)"( delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; delegateByType( delegatee: string, delegationType: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "delegateByType(address,uint8)"( delegatee: string, delegationType: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; delegateByTypeBySig( delegatee: string, delegationType: BigNumberish, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; "delegateByTypeBySig(address,uint8,uint256,uint256,uint8,bytes32,bytes32)"( delegatee: string, delegationType: BigNumberish, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; donate( amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "donate(uint256)"( amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; exchangeRate(overrides?: CallOverrides): Promise<BigNumber>; "exchangeRate()"(overrides?: CallOverrides): Promise<BigNumber>; getCooldown( holder: string, overrides?: Overrides ): Promise<ContractTransaction>; "getCooldown(address)"( holder: string, overrides?: Overrides ): Promise<ContractTransaction>; getDelegateeByType( delegator: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<string>; "getDelegateeByType(address,uint8)"( delegator: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<string>; getMaxSlashablePercentage(overrides?: CallOverrides): Promise<BigNumber>; "getMaxSlashablePercentage()"(overrides?: CallOverrides): Promise<BigNumber>; getNextCooldownBlocks( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "getNextCooldownBlocks(uint32,uint256,address,uint256)"( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; getPowerAtBlock( user: string, blockNumber: BigNumberish, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "getPowerAtBlock(address,uint256,uint8)"( user: string, blockNumber: BigNumberish, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; getPowerCurrent( user: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "getPowerCurrent(address,uint8)"( user: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; increaseAllowance( spender: string, addedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "increaseAllowance(address,uint256)"( spender: string, addedValue: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; initialize( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "initialize((address,address,uint32,uint32,address),string,string,uint8)"( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; isPaused(overrides?: CallOverrides): Promise<boolean>; "isPaused()"(overrides?: CallOverrides): Promise<boolean>; isRedeemable(overrides?: CallOverrides): Promise<boolean>; "isRedeemable()"(overrides?: CallOverrides): Promise<boolean>; name(overrides?: CallOverrides): Promise<string>; "name()"(overrides?: CallOverrides): Promise<string>; permit( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<ContractTransaction>; redeem( to: string, stakeAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "redeem(address,uint256)"( to: string, stakeAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; redeemUnderlying( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "redeemUnderlying(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; setCooldown( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "setCooldown(uint32,uint32)"( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; setMaxSlashablePercentage( percentageInRay: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "setMaxSlashablePercentage(uint256)"( percentageInRay: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; setPaused( paused: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "setPaused(bool)"( paused: boolean, overrides?: Overrides ): Promise<ContractTransaction>; setRedeemable( redeemable: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "setRedeemable(bool)"( redeemable: boolean, overrides?: Overrides ): Promise<ContractTransaction>; slashUnderlying( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "slashUnderlying(address,uint256,uint256)"( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; stake( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "stake(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; symbol(overrides?: CallOverrides): Promise<string>; "symbol()"(overrides?: CallOverrides): Promise<string>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; "totalSupply()"(overrides?: CallOverrides): Promise<BigNumber>; totalSupplyAt( blockNumber: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "totalSupplyAt(uint256)"( blockNumber: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transfer(address,uint256)"( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transferFrom(address,address,uint256)"( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; callStatic: { COOLDOWN_BLOCKS(overrides?: CallOverrides): Promise<BigNumber>; "COOLDOWN_BLOCKS()"(overrides?: CallOverrides): Promise<BigNumber>; DELEGATE_BY_TYPE_TYPEHASH(overrides?: CallOverrides): Promise<string>; "DELEGATE_BY_TYPE_TYPEHASH()"(overrides?: CallOverrides): Promise<string>; DELEGATE_TYPEHASH(overrides?: CallOverrides): Promise<string>; "DELEGATE_TYPEHASH()"(overrides?: CallOverrides): Promise<string>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise<string>; EIP712_REVISION(overrides?: CallOverrides): Promise<string>; "EIP712_REVISION()"(overrides?: CallOverrides): Promise<string>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>; "PERMIT_TYPEHASH()"(overrides?: CallOverrides): Promise<string>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<string>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<string>; UNSTAKE_WINDOW_BLOCKS(overrides?: CallOverrides): Promise<BigNumber>; "UNSTAKE_WINDOW_BLOCKS()"(overrides?: CallOverrides): Promise<BigNumber>; _governance(overrides?: CallOverrides): Promise<string>; "_governance()"(overrides?: CallOverrides): Promise<string>; _nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>; "_nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; _votingSnapshots( arg0: string, arg1: BigNumberish, overrides?: CallOverrides ): Promise<{ blockNumber: BigNumber; value: BigNumber; 0: BigNumber; 1: BigNumber; }>; "_votingSnapshots(address,uint256)"( arg0: string, arg1: BigNumberish, overrides?: CallOverrides ): Promise<{ blockNumber: BigNumber; value: BigNumber; 0: BigNumber; 1: BigNumber; }>; _votingSnapshotsCounts( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; "_votingSnapshotsCounts(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise<BigNumber>; "allowance(address,address)"( owner: string, spender: string, overrides?: CallOverrides ): Promise<BigNumber>; approve( spender: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; "approve(address,uint256)"( spender: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise<BigNumber>; cooldown(overrides?: CallOverrides): Promise<void>; "cooldown()"(overrides?: CallOverrides): Promise<void>; decimals(overrides?: CallOverrides): Promise<number>; "decimals()"(overrides?: CallOverrides): Promise<number>; decreaseAllowance( spender: string, subtractedValue: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; "decreaseAllowance(address,uint256)"( spender: string, subtractedValue: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; delegate(delegatee: string, overrides?: CallOverrides): Promise<void>; "delegate(address)"( delegatee: string, overrides?: CallOverrides ): Promise<void>; delegateBySig( delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<void>; "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)"( delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<void>; delegateByType( delegatee: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<void>; "delegateByType(address,uint8)"( delegatee: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<void>; delegateByTypeBySig( delegatee: string, delegationType: BigNumberish, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<void>; "delegateByTypeBySig(address,uint8,uint256,uint256,uint8,bytes32,bytes32)"( delegatee: string, delegationType: BigNumberish, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<void>; donate(amount: BigNumberish, overrides?: CallOverrides): Promise<void>; "donate(uint256)"( amount: BigNumberish, overrides?: CallOverrides ): Promise<void>; exchangeRate(overrides?: CallOverrides): Promise<BigNumber>; "exchangeRate()"(overrides?: CallOverrides): Promise<BigNumber>; getCooldown(holder: string, overrides?: CallOverrides): Promise<number>; "getCooldown(address)"( holder: string, overrides?: CallOverrides ): Promise<number>; getDelegateeByType( delegator: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<string>; "getDelegateeByType(address,uint8)"( delegator: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<string>; getMaxSlashablePercentage(overrides?: CallOverrides): Promise<BigNumber>; "getMaxSlashablePercentage()"( overrides?: CallOverrides ): Promise<BigNumber>; getNextCooldownBlocks( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: CallOverrides ): Promise<number>; "getNextCooldownBlocks(uint32,uint256,address,uint256)"( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: CallOverrides ): Promise<number>; getPowerAtBlock( user: string, blockNumber: BigNumberish, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "getPowerAtBlock(address,uint256,uint8)"( user: string, blockNumber: BigNumberish, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; getPowerCurrent( user: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "getPowerCurrent(address,uint8)"( user: string, delegationType: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; increaseAllowance( spender: string, addedValue: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; "increaseAllowance(address,uint256)"( spender: string, addedValue: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; initialize( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: CallOverrides ): Promise<void>; "initialize((address,address,uint32,uint32,address),string,string,uint8)"( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: CallOverrides ): Promise<void>; isPaused(overrides?: CallOverrides): Promise<boolean>; "isPaused()"(overrides?: CallOverrides): Promise<boolean>; isRedeemable(overrides?: CallOverrides): Promise<boolean>; "isRedeemable()"(overrides?: CallOverrides): Promise<boolean>; name(overrides?: CallOverrides): Promise<string>; "name()"(overrides?: CallOverrides): Promise<string>; permit( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<void>; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<void>; redeem( to: string, stakeAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "redeem(address,uint256)"( to: string, stakeAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>;