UNPKG

@augumented-finance/protocol-v1

Version:

Augmented Protocol smart contracts

1,928 lines (1,588 loc) 55.7 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 StakeTokenBaseInterface extends ethers.utils.Interface { functions: { "COOLDOWN_BLOCKS()": FunctionFragment; "DOMAIN_SEPARATOR()": FunctionFragment; "EIP712_REVISION()": FunctionFragment; "PERMIT_TYPEHASH()": FunctionFragment; "UNDERLYING_ASSET_ADDRESS()": FunctionFragment; "UNSTAKE_WINDOW_BLOCKS()": FunctionFragment; "_nonces(address)": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "cooldown()": FunctionFragment; "decimals()": FunctionFragment; "decreaseAllowance(address,uint256)": FunctionFragment; "donate(uint256)": FunctionFragment; "exchangeRate()": FunctionFragment; "getCooldown(address)": FunctionFragment; "getMaxSlashablePercentage()": FunctionFragment; "getNextCooldownBlocks(uint32,uint256,address,uint256)": 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; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; }; encodeFunctionData( functionFragment: "COOLDOWN_BLOCKS", 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: "_nonces", 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: "donate", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "exchangeRate", values?: undefined ): string; encodeFunctionData(functionFragment: "getCooldown", values: [string]): string; encodeFunctionData( functionFragment: "getMaxSlashablePercentage", values?: undefined ): string; encodeFunctionData( functionFragment: "getNextCooldownBlocks", values: [BigNumberish, BigNumberish, 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: "transfer", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; decodeFunctionResult( functionFragment: "COOLDOWN_BLOCKS", 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: "_nonces", 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: "donate", data: BytesLike): Result; decodeFunctionResult( functionFragment: "exchangeRate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCooldown", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMaxSlashablePercentage", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getNextCooldownBlocks", 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: "transfer", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferFrom", data: BytesLike ): Result; events: { "Approval(address,address,uint256)": EventFragment; "Cooldown(address,uint32)": 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: "Donated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Redeem"): EventFragment; getEvent(nameOrSignatureOrTopic: "Slashed"): EventFragment; getEvent(nameOrSignatureOrTopic: "Staked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export class StakeTokenBase 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: StakeTokenBaseInterface; functions: { COOLDOWN_BLOCKS( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "COOLDOWN_BLOCKS()"( overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; 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; }>; _nonces( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "_nonces(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>; 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>; 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>; 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; }>; 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>; 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>; _nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>; "_nonces(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>; 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>; 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>; 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>; 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>; 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>; _nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>; "_nonces(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>; 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>; 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>; 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>; redeemUnderlying( to: string, underlyingAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "redeemUnderlying(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; setCooldown( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: CallOverrides ): Promise<void>; "setCooldown(uint32,uint32)"( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: CallOverrides ): Promise<void>; setMaxSlashablePercentage( percentageInRay: BigNumberish, overrides?: CallOverrides ): Promise<void>; "setMaxSlashablePercentage(uint256)"( percentageInRay: BigNumberish, overrides?: CallOverrides ): Promise<void>; setPaused(paused: boolean, overrides?: CallOverrides): Promise<void>; "setPaused(bool)"( paused: boolean, overrides?: CallOverrides ): Promise<void>; setRedeemable( redeemable: boolean, overrides?: CallOverrides ): Promise<void>; "setRedeemable(bool)"( redeemable: boolean, overrides?: CallOverrides ): Promise<void>; slashUnderlying( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "slashUnderlying(address,uint256,uint256)"( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; stake( to: string, underlyingAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "stake(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; symbol(overrides?: CallOverrides): Promise<string>; "symbol()"(overrides?: CallOverrides): Promise<string>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; "totalSupply()"(overrides?: CallOverrides): Promise<BigNumber>; transfer( recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; "transfer(address,uint256)"( recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; "transferFrom(address,address,uint256)"( sender: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<boolean>; }; filters: { Approval( owner: string | null, spender: string | null, value: null ): EventFilter; Cooldown(user: null, blockNumber: null): EventFilter; Donated(from: null, amount: null): EventFilter; Initialized( params: null, tokenName: null, tokenSymbol: null, decimals: null ): EventFilter; Redeem( from: null, to: null, amount: null, underlyingAmount: null ): EventFilter; Slashed(to: null, amount: null): EventFilter; Staked(from: null, to: null, amount: null): EventFilter; Transfer(from: string | null, to: string | null, value: null): EventFilter; }; estimateGas: { COOLDOWN_BLOCKS(overrides?: CallOverrides): Promise<BigNumber>; "COOLDOWN_BLOCKS()"(overrides?: CallOverrides): Promise<BigNumber>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<BigNumber>; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise<BigNumber>; EIP712_REVISION(overrides?: CallOverrides): Promise<BigNumber>; "EIP712_REVISION()"(overrides?: CallOverrides): Promise<BigNumber>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>; "PERMIT_TYPEHASH()"(overrides?: CallOverrides): Promise<BigNumber>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<BigNumber>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<BigNumber>; UNSTAKE_WINDOW_BLOCKS(overrides?: CallOverrides): Promise<BigNumber>; "UNSTAKE_WINDOW_BLOCKS()"(overrides?: CallOverrides): Promise<BigNumber>; _nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>; "_nonces(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<BigNumber>; "approve(address,uint256)"( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise<BigNumber>; cooldown(overrides?: Overrides): Promise<BigNumber>; "cooldown()"(overrides?: Overrides): Promise<BigNumber>; decimals(overrides?: CallOverrides): Promise<BigNumber>; "decimals()"(overrides?: CallOverrides): Promise<BigNumber>; decreaseAllowance( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "decreaseAllowance(address,uint256)"( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; donate(amount: BigNumberish, overrides?: Overrides): Promise<BigNumber>; "donate(uint256)"( amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; exchangeRate(overrides?: CallOverrides): Promise<BigNumber>; "exchangeRate()"(overrides?: CallOverrides): Promise<BigNumber>; getCooldown(holder: string, overrides?: Overrides): Promise<BigNumber>; "getCooldown(address)"( holder: string, overrides?: Overrides ): Promise<BigNumber>; getMaxSlashablePercentage(overrides?: CallOverrides): Promise<BigNumber>; "getMaxSlashablePercentage()"( overrides?: CallOverrides ): Promise<BigNumber>; getNextCooldownBlocks( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "getNextCooldownBlocks(uint32,uint256,address,uint256)"( fromCooldownBlock: BigNumberish, amountToReceive: BigNumberish, toAddress: string, toBalance: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; increaseAllowance( spender: string, addedValue: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "increaseAllowance(address,uint256)"( spender: string, addedValue: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; initialize( params: { stakeController: string; stakedToken: string; cooldownBlocks: BigNumberish; unstakeBlocks: BigNumberish; governance: string; }, name: string, symbol: string, decimals: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "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<BigNumber>; isPaused(overrides?: CallOverrides): Promise<BigNumber>; "isPaused()"(overrides?: CallOverrides): Promise<BigNumber>; isRedeemable(overrides?: CallOverrides): Promise<BigNumber>; "isRedeemable()"(overrides?: CallOverrides): Promise<BigNumber>; name(overrides?: CallOverrides): Promise<BigNumber>; "name()"(overrides?: CallOverrides): Promise<BigNumber>; permit( owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise<BigNumber>; "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<BigNumber>; redeem( to: string, stakeAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "redeem(address,uint256)"( to: string, stakeAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; redeemUnderlying( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "redeemUnderlying(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; setCooldown( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "setCooldown(uint32,uint32)"( cooldownBlocks: BigNumberish, unstakeBlocks: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; setMaxSlashablePercentage( percentageInRay: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "setMaxSlashablePercentage(uint256)"( percentageInRay: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; setPaused(paused: boolean, overrides?: Overrides): Promise<BigNumber>; "setPaused(bool)"( paused: boolean, overrides?: Overrides ): Promise<BigNumber>; setRedeemable( redeemable: boolean, overrides?: Overrides ): Promise<BigNumber>; "setRedeemable(bool)"( redeemable: boolean, overrides?: Overrides ): Promise<BigNumber>; slashUnderlying( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "slashUnderlying(address,uint256,uint256)"( destination: string, minAmount: BigNumberish, maxAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; stake( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "stake(address,uint256)"( to: string, underlyingAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; symbol(overrides?: CallOverrides): Promise<BigNumber>; "symbol()"(overrides?: CallOverrides): Promise<BigNumber>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; "totalSupply()"(overrides?: CallOverrides): Promise<BigNumber>; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "transfer(address,uint256)"( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "transferFrom(address,address,uint256)"( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; }; populateTransaction: { COOLDOWN_BLOCKS(overrides?: CallOverrides): Promise<PopulatedTransaction>; "COOLDOWN_BLOCKS()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>; "DOMAIN_SEPARATOR()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; EIP712_REVISION(overrides?: CallOverrides): Promise<PopulatedTransaction>; "EIP712_REVISION()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>; "PERMIT_TYPEHASH()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; UNDERLYING_ASSET_ADDRESS( overrides?: CallOverrides ): Promise<PopulatedTransaction>; "UNDERLYING_ASSET_ADDRESS()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; UNSTAKE_WINDOW_BLOCKS( overrides?: CallOverrides ): Promise<PopulatedTransaction>; "UNSTAKE_WINDOW_BLOCKS()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; _nonces( arg0: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; "_nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; "allowance(address,address)"( owner: string, spender: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; approve( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "approve(address,uint256)"( spender: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; balanceOf( account: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; cooldown(overrides?: Overrides): Promise<PopulatedTransaction>; "cooldown()"(overrides?: Overrides): Promise<PopulatedTransaction>; decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>; "decimals()"(overrides?: CallOverrides): Promise<PopulatedTransaction>; decreaseAllowance( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "decreaseAllowance(address,uint256)"( spender: string, subtractedValue: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; donate( amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "donate(uint256)"( amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; exchangeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>; "exchangeRate()"(overrides?: CallOverrides): Promise<PopulatedTransaction>; getCooldown( holder: string, overrides?: Overrides ): Promise<PopulatedTransaction>; "getCooldown(address)"( holder: string, overrides?: Overrides ): Promise<PopulatedTransaction>; getMaxSlashablePercentage( overrides?: CallOverrides ): Promise<PopulatedTransaction>; "getMaxSlashablePercentage()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; getNextCooldownBlocks( fromCooldownBlock: BigNumberish, amountToReceive: BigN