UNPKG

@augmentedfinance/protocol-v1

Version:

Augmented Protocol smart contracts

1,932 lines (1,629 loc) 50.6 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 IDepositTokenInterface extends ethers.utils.Interface { functions: { "POOL()": FunctionFragment; "UNDERLYING_ASSET_ADDRESS()": FunctionFragment; "addStakeOperator(address)": FunctionFragment; "addSubBalanceOperator(address)": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "burn(address,address,uint256,uint256)": FunctionFragment; "collateralBalanceOf(address)": FunctionFragment; "getScaleIndex()": FunctionFragment; "getScaledUserBalanceAndSupply(address)": FunctionFragment; "lockSubBalance(address,uint256)": FunctionFragment; "mint(address,uint256,uint256,bool)": FunctionFragment; "mintToTreasury(uint256,uint256)": FunctionFragment; "provideSubBalance(address,address,uint256)": FunctionFragment; "removeSubBalanceOperator(address)": FunctionFragment; "replaceSubBalance(address,address,uint256,address,uint256)": FunctionFragment; "returnSubBalance(address,address,uint256,bool)": FunctionFragment; "scaledBalanceOf(address)": FunctionFragment; "scaledTotalSupply()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "transferLockedBalance(address,address,uint256)": FunctionFragment; "transferOnLiquidation(address,address,uint256,uint256,bool)": FunctionFragment; "transferUnderlyingTo(address,uint256)": FunctionFragment; "unlockSubBalance(address,uint256,address)": FunctionFragment; "updatePool()": FunctionFragment; "updateTreasury()": FunctionFragment; }; encodeFunctionData(functionFragment: "POOL", values?: undefined): string; encodeFunctionData( functionFragment: "UNDERLYING_ASSET_ADDRESS", values?: undefined ): string; encodeFunctionData( functionFragment: "addStakeOperator", values: [string] ): string; encodeFunctionData( functionFragment: "addSubBalanceOperator", 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: "burn", values: [string, string, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "collateralBalanceOf", values: [string] ): string; encodeFunctionData( functionFragment: "getScaleIndex", values?: undefined ): string; encodeFunctionData( functionFragment: "getScaledUserBalanceAndSupply", values: [string] ): string; encodeFunctionData( functionFragment: "lockSubBalance", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "mint", values: [string, BigNumberish, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "mintToTreasury", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "provideSubBalance", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "removeSubBalanceOperator", values: [string] ): string; encodeFunctionData( functionFragment: "replaceSubBalance", values: [string, string, BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "returnSubBalance", values: [string, string, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "scaledBalanceOf", values: [string] ): string; encodeFunctionData( functionFragment: "scaledTotalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "transfer", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferLockedBalance", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferOnLiquidation", values: [string, string, BigNumberish, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "transferUnderlyingTo", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "unlockSubBalance", values: [string, BigNumberish, string] ): string; encodeFunctionData( functionFragment: "updatePool", values?: undefined ): string; encodeFunctionData( functionFragment: "updateTreasury", values?: undefined ): string; decodeFunctionResult(functionFragment: "POOL", data: BytesLike): Result; decodeFunctionResult( functionFragment: "UNDERLYING_ASSET_ADDRESS", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "addStakeOperator", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "addSubBalanceOperator", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult( functionFragment: "collateralBalanceOf", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getScaleIndex", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getScaledUserBalanceAndSupply", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "lockSubBalance", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult( functionFragment: "mintToTreasury", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "provideSubBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeSubBalanceOperator", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "replaceSubBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "returnSubBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "scaledBalanceOf", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "scaledTotalSupply", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalSupply", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferLockedBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferOnLiquidation", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferUnderlyingTo", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "unlockSubBalance", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "updatePool", data: BytesLike): Result; decodeFunctionResult( functionFragment: "updateTreasury", data: BytesLike ): Result; events: { "BalanceTransfer(address,address,uint256,uint256)": EventFragment; "Burn(address,address,uint256,uint256)": EventFragment; "Mint(address,uint256,uint256)": EventFragment; "OverdraftApplied(address,uint256,uint256)": EventFragment; "OverdraftCovered(address,address,uint256,uint256)": EventFragment; "SubBalanceLocked(address,uint256,uint256)": EventFragment; "SubBalanceProvided(address,address,uint256,uint256)": EventFragment; "SubBalanceReturned(address,address,uint256,uint256)": EventFragment; "SubBalanceUnlocked(address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BalanceTransfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "Burn"): EventFragment; getEvent(nameOrSignatureOrTopic: "Mint"): EventFragment; getEvent(nameOrSignatureOrTopic: "OverdraftApplied"): EventFragment; getEvent(nameOrSignatureOrTopic: "OverdraftCovered"): EventFragment; getEvent(nameOrSignatureOrTopic: "SubBalanceLocked"): EventFragment; getEvent(nameOrSignatureOrTopic: "SubBalanceProvided"): EventFragment; getEvent(nameOrSignatureOrTopic: "SubBalanceReturned"): EventFragment; getEvent(nameOrSignatureOrTopic: "SubBalanceUnlocked"): EventFragment; } export class IDepositToken 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: IDepositTokenInterface; functions: { POOL(overrides?: CallOverrides): Promise<{ 0: string; }>; "POOL()"(overrides?: CallOverrides): Promise<{ 0: string; }>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<{ 0: string; }>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<{ 0: string; }>; addStakeOperator( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; "addStakeOperator(address)"( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; addSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; "addSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; 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; }>; burn( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "burn(address,address,uint256,uint256)"( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; collateralBalanceOf( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "collateralBalanceOf(address)"( arg0: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; getScaleIndex(overrides?: CallOverrides): Promise<{ 0: BigNumber; }>; "getScaleIndex()"(overrides?: CallOverrides): Promise<{ 0: BigNumber; }>; getScaledUserBalanceAndSupply( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; 1: BigNumber; }>; "getScaledUserBalanceAndSupply(address)"( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; 1: BigNumber; }>; lockSubBalance( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "lockSubBalance(address,uint256)"( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; mint( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "mint(address,uint256,uint256,bool)"( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; mintToTreasury( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "mintToTreasury(uint256,uint256)"( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; provideSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "provideSubBalance(address,address,uint256)"( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; removeSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; "removeSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; replaceSubBalance( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "replaceSubBalance(address,address,uint256,address,uint256)"( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; returnSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "returnSubBalance(address,address,uint256,bool)"( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; scaledBalanceOf( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; "scaledBalanceOf(address)"( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; }>; scaledTotalSupply(overrides?: CallOverrides): Promise<{ 0: BigNumber; }>; "scaledTotalSupply()"(overrides?: CallOverrides): Promise<{ 0: BigNumber; }>; 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>; transferLockedBalance( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transferLockedBalance(address,address,uint256)"( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; transferOnLiquidation( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "transferOnLiquidation(address,address,uint256,uint256,bool)"( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<ContractTransaction>; transferUnderlyingTo( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transferUnderlyingTo(address,uint256)"( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; unlockSubBalance( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: Overrides ): Promise<ContractTransaction>; "unlockSubBalance(address,uint256,address)"( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: Overrides ): Promise<ContractTransaction>; updatePool(overrides?: Overrides): Promise<ContractTransaction>; "updatePool()"(overrides?: Overrides): Promise<ContractTransaction>; updateTreasury(overrides?: Overrides): Promise<ContractTransaction>; "updateTreasury()"(overrides?: Overrides): Promise<ContractTransaction>; }; POOL(overrides?: CallOverrides): Promise<string>; "POOL()"(overrides?: CallOverrides): Promise<string>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<string>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<string>; addStakeOperator( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; "addStakeOperator(address)"( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; addSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; "addSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; 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>; burn( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "burn(address,address,uint256,uint256)"( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; collateralBalanceOf( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; "collateralBalanceOf(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; getScaleIndex(overrides?: CallOverrides): Promise<BigNumber>; "getScaleIndex()"(overrides?: CallOverrides): Promise<BigNumber>; getScaledUserBalanceAndSupply( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; 1: BigNumber; }>; "getScaledUserBalanceAndSupply(address)"( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; 1: BigNumber; }>; lockSubBalance( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "lockSubBalance(address,uint256)"( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; mint( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "mint(address,uint256,uint256,bool)"( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; mintToTreasury( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "mintToTreasury(uint256,uint256)"( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; provideSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "provideSubBalance(address,address,uint256)"( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; removeSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; "removeSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): Promise<ContractTransaction>; replaceSubBalance( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "replaceSubBalance(address,address,uint256,address,uint256)"( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; returnSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "returnSubBalance(address,address,uint256,bool)"( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<ContractTransaction>; scaledBalanceOf(user: string, overrides?: CallOverrides): Promise<BigNumber>; "scaledBalanceOf(address)"( user: string, overrides?: CallOverrides ): Promise<BigNumber>; scaledTotalSupply(overrides?: CallOverrides): Promise<BigNumber>; "scaledTotalSupply()"(overrides?: CallOverrides): Promise<BigNumber>; 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>; transferLockedBalance( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transferLockedBalance(address,address,uint256)"( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; transferOnLiquidation( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<ContractTransaction>; "transferOnLiquidation(address,address,uint256,uint256,bool)"( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<ContractTransaction>; transferUnderlyingTo( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; "transferUnderlyingTo(address,uint256)"( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<ContractTransaction>; unlockSubBalance( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: Overrides ): Promise<ContractTransaction>; "unlockSubBalance(address,uint256,address)"( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: Overrides ): Promise<ContractTransaction>; updatePool(overrides?: Overrides): Promise<ContractTransaction>; "updatePool()"(overrides?: Overrides): Promise<ContractTransaction>; updateTreasury(overrides?: Overrides): Promise<ContractTransaction>; "updateTreasury()"(overrides?: Overrides): Promise<ContractTransaction>; callStatic: { POOL(overrides?: CallOverrides): Promise<string>; "POOL()"(overrides?: CallOverrides): Promise<string>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<string>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<string>; addStakeOperator(addr: string, overrides?: CallOverrides): Promise<void>; "addStakeOperator(address)"( addr: string, overrides?: CallOverrides ): Promise<void>; addSubBalanceOperator( addr: string, overrides?: CallOverrides ): Promise<void>; "addSubBalanceOperator(address)"( addr: string, overrides?: CallOverrides ): Promise<void>; 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>; burn( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: CallOverrides ): Promise<void>; "burn(address,address,uint256,uint256)"( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: CallOverrides ): Promise<void>; collateralBalanceOf( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; "collateralBalanceOf(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; getScaleIndex(overrides?: CallOverrides): Promise<BigNumber>; "getScaleIndex()"(overrides?: CallOverrides): Promise<BigNumber>; getScaledUserBalanceAndSupply( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; 1: BigNumber; }>; "getScaledUserBalanceAndSupply(address)"( user: string, overrides?: CallOverrides ): Promise<{ 0: BigNumber; 1: BigNumber; }>; lockSubBalance( provider: string, scaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; "lockSubBalance(address,uint256)"( provider: string, scaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; mint( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: CallOverrides ): Promise<boolean>; "mint(address,uint256,uint256,bool)"( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: CallOverrides ): Promise<boolean>; mintToTreasury( amount: BigNumberish, index: BigNumberish, overrides?: CallOverrides ): Promise<void>; "mintToTreasury(uint256,uint256)"( amount: BigNumberish, index: BigNumberish, overrides?: CallOverrides ): Promise<void>; provideSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; "provideSubBalance(address,address,uint256)"( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; removeSubBalanceOperator( addr: string, overrides?: CallOverrides ): Promise<void>; "removeSubBalanceOperator(address)"( addr: string, overrides?: CallOverrides ): Promise<void>; replaceSubBalance( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "replaceSubBalance(address,address,uint256,address,uint256)"( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; returnSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: CallOverrides ): Promise<BigNumber>; "returnSubBalance(address,address,uint256,bool)"( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: CallOverrides ): Promise<BigNumber>; scaledBalanceOf( user: string, overrides?: CallOverrides ): Promise<BigNumber>; "scaledBalanceOf(address)"( user: string, overrides?: CallOverrides ): Promise<BigNumber>; scaledTotalSupply(overrides?: CallOverrides): Promise<BigNumber>; "scaledTotalSupply()"(overrides?: CallOverrides): Promise<BigNumber>; 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>; transferLockedBalance( from: string, to: string, scaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; "transferLockedBalance(address,address,uint256)"( from: string, to: string, scaledAmount: BigNumberish, overrides?: CallOverrides ): Promise<void>; transferOnLiquidation( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: CallOverrides ): Promise<boolean>; "transferOnLiquidation(address,address,uint256,uint256,bool)"( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: CallOverrides ): Promise<boolean>; transferUnderlyingTo( user: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; "transferUnderlyingTo(address,uint256)"( user: string, amount: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; unlockSubBalance( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: CallOverrides ): Promise<void>; "unlockSubBalance(address,uint256,address)"( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: CallOverrides ): Promise<void>; updatePool(overrides?: CallOverrides): Promise<void>; "updatePool()"(overrides?: CallOverrides): Promise<void>; updateTreasury(overrides?: CallOverrides): Promise<void>; "updateTreasury()"(overrides?: CallOverrides): Promise<void>; }; filters: { BalanceTransfer( from: string | null, to: string | null, value: null, index: null ): EventFilter; Burn( account: string | null, target: string | null, value: null, index: null ): EventFilter; Mint(account: string | null, value: null, index: null): EventFilter; OverdraftApplied( account: string | null, value: null, index: null ): EventFilter; OverdraftCovered( provider: string | null, recipient: string | null, overdraft: null, index: null ): EventFilter; SubBalanceLocked( provider: string | null, amount: null, index: null ): EventFilter; SubBalanceProvided( provider: string | null, recipient: string | null, amount: null, index: null ): EventFilter; SubBalanceReturned( provider: string | null, recipient: string | null, amount: null, index: null ): EventFilter; SubBalanceUnlocked( provider: string | null, amount: null, index: null ): EventFilter; }; estimateGas: { POOL(overrides?: CallOverrides): Promise<BigNumber>; "POOL()"(overrides?: CallOverrides): Promise<BigNumber>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<BigNumber>; "UNDERLYING_ASSET_ADDRESS()"(overrides?: CallOverrides): Promise<BigNumber>; addStakeOperator(addr: string, overrides?: Overrides): Promise<BigNumber>; "addStakeOperator(address)"( addr: string, overrides?: Overrides ): Promise<BigNumber>; addSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<BigNumber>; "addSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): 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>; burn( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "burn(address,address,uint256,uint256)"( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; collateralBalanceOf( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; "collateralBalanceOf(address)"( arg0: string, overrides?: CallOverrides ): Promise<BigNumber>; getScaleIndex(overrides?: CallOverrides): Promise<BigNumber>; "getScaleIndex()"(overrides?: CallOverrides): Promise<BigNumber>; getScaledUserBalanceAndSupply( user: string, overrides?: CallOverrides ): Promise<BigNumber>; "getScaledUserBalanceAndSupply(address)"( user: string, overrides?: CallOverrides ): Promise<BigNumber>; lockSubBalance( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "lockSubBalance(address,uint256)"( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; mint( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<BigNumber>; "mint(address,uint256,uint256,bool)"( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<BigNumber>; mintToTreasury( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "mintToTreasury(uint256,uint256)"( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; provideSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "provideSubBalance(address,address,uint256)"( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; removeSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<BigNumber>; "removeSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): Promise<BigNumber>; replaceSubBalance( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "replaceSubBalance(address,address,uint256,address,uint256)"( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; returnSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<BigNumber>; "returnSubBalance(address,address,uint256,bool)"( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<BigNumber>; scaledBalanceOf( user: string, overrides?: CallOverrides ): Promise<BigNumber>; "scaledBalanceOf(address)"( user: string, overrides?: CallOverrides ): Promise<BigNumber>; scaledTotalSupply(overrides?: CallOverrides): Promise<BigNumber>; "scaledTotalSupply()"(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>; transferLockedBalance( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "transferLockedBalance(address,address,uint256)"( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; transferOnLiquidation( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<BigNumber>; "transferOnLiquidation(address,address,uint256,uint256,bool)"( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<BigNumber>; transferUnderlyingTo( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; "transferUnderlyingTo(address,uint256)"( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<BigNumber>; unlockSubBalance( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: Overrides ): Promise<BigNumber>; "unlockSubBalance(address,uint256,address)"( provider: string, scaledAmount: BigNumberish, transferTo: string, overrides?: Overrides ): Promise<BigNumber>; updatePool(overrides?: Overrides): Promise<BigNumber>; "updatePool()"(overrides?: Overrides): Promise<BigNumber>; updateTreasury(overrides?: Overrides): Promise<BigNumber>; "updateTreasury()"(overrides?: Overrides): Promise<BigNumber>; }; populateTransaction: { POOL(overrides?: CallOverrides): Promise<PopulatedTransaction>; "POOL()"(overrides?: CallOverrides): Promise<PopulatedTransaction>; UNDERLYING_ASSET_ADDRESS( overrides?: CallOverrides ): Promise<PopulatedTransaction>; "UNDERLYING_ASSET_ADDRESS()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; addStakeOperator( addr: string, overrides?: Overrides ): Promise<PopulatedTransaction>; "addStakeOperator(address)"( addr: string, overrides?: Overrides ): Promise<PopulatedTransaction>; addSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<PopulatedTransaction>; "addSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): 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>; burn( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "burn(address,address,uint256,uint256)"( user: string, receiverOfUnderlying: string, amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; collateralBalanceOf( arg0: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; "collateralBalanceOf(address)"( arg0: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; getScaleIndex(overrides?: CallOverrides): Promise<PopulatedTransaction>; "getScaleIndex()"(overrides?: CallOverrides): Promise<PopulatedTransaction>; getScaledUserBalanceAndSupply( user: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; "getScaledUserBalanceAndSupply(address)"( user: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; lockSubBalance( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "lockSubBalance(address,uint256)"( provider: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; mint( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<PopulatedTransaction>; "mint(address,uint256,uint256,bool)"( user: string, amount: BigNumberish, index: BigNumberish, repayOverdraft: boolean, overrides?: Overrides ): Promise<PopulatedTransaction>; mintToTreasury( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "mintToTreasury(uint256,uint256)"( amount: BigNumberish, index: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; provideSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "provideSubBalance(address,address,uint256)"( provider: string, recipient: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; removeSubBalanceOperator( addr: string, overrides?: Overrides ): Promise<PopulatedTransaction>; "removeSubBalanceOperator(address)"( addr: string, overrides?: Overrides ): Promise<PopulatedTransaction>; replaceSubBalance( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "replaceSubBalance(address,address,uint256,address,uint256)"( prevProvider: string, recipient: string, prevScaledAmount: BigNumberish, newProvider: string, newScaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; returnSubBalance( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<PopulatedTransaction>; "returnSubBalance(address,address,uint256,bool)"( provider: string, recipient: string, scaledAmount: BigNumberish, preferOverdraft: boolean, overrides?: Overrides ): Promise<PopulatedTransaction>; scaledBalanceOf( user: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; "scaledBalanceOf(address)"( user: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; scaledTotalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>; "scaledTotalSupply()"( overrides?: CallOverrides ): Promise<PopulatedTransaction>; totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>; "totalSupply()"(overrides?: CallOverrides): Promise<PopulatedTransaction>; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "transfer(address,uint256)"( recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; transferFrom( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "transferFrom(address,address,uint256)"( sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; transferLockedBalance( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "transferLockedBalance(address,address,uint256)"( from: string, to: string, scaledAmount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; transferOnLiquidation( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<PopulatedTransaction>; "transferOnLiquidation(address,address,uint256,uint256,bool)"( from: string, to: string, value: BigNumberish, index: BigNumberish, transferUnderlying: boolean, overrides?: Overrides ): Promise<PopulatedTransaction>; transferUnderlyingTo( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; "transferUnderlyingTo(address,uint256)"( user: string, amount: BigNumberish, overrides?: Overrides ): Promise<PopulatedTransaction>; unlockSubBalance( provider: string, scaledA