UNPKG

@augmentedfinance/protocol-v1

Version:

Augmented Protocol smart contracts

2,099 lines (2,013 loc) 67.1 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction, } from "ethers"; import { Contract, ContractTransaction, CallOverrides, } from "@ethersproject/contracts"; import { BytesLike } from "@ethersproject/bytes"; import { Listener, Provider } from "@ethersproject/providers"; import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; interface ProtocolDataProviderInterface extends ethers.utils.Interface { functions: { "ADDRESS_PROVIDER()": FunctionFragment; "ETH()": FunctionFragment; "USD()": FunctionFragment; "balanceOf(address,address,uint8)": FunctionFragment; "batchBalanceOf(address[],address[],uint8[],uint8)": FunctionFragment; "explainReward(address,uint32)": FunctionFragment; "getAddresses()": FunctionFragment; "getAllTokenDescriptions(bool)": FunctionFragment; "getAllTokens(bool)": FunctionFragment; "getReserveConfigurationData(address)": FunctionFragment; "getReserveData(address)": FunctionFragment; "getReserveTokensAddresses(address)": FunctionFragment; "getReservesData(address)": FunctionFragment; "getUserReserveData(address,address)": FunctionFragment; "rewardPoolNames(address[],uint256)": FunctionFragment; }; encodeFunctionData( functionFragment: "ADDRESS_PROVIDER", values?: undefined ): string; encodeFunctionData(functionFragment: "ETH", values?: undefined): string; encodeFunctionData(functionFragment: "USD", values?: undefined): string; encodeFunctionData( functionFragment: "balanceOf", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "batchBalanceOf", values: [string[], string[], BigNumberish[], BigNumberish] ): string; encodeFunctionData( functionFragment: "explainReward", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "getAddresses", values?: undefined ): string; encodeFunctionData( functionFragment: "getAllTokenDescriptions", values: [boolean] ): string; encodeFunctionData( functionFragment: "getAllTokens", values: [boolean] ): string; encodeFunctionData( functionFragment: "getReserveConfigurationData", values: [string] ): string; encodeFunctionData( functionFragment: "getReserveData", values: [string] ): string; encodeFunctionData( functionFragment: "getReserveTokensAddresses", values: [string] ): string; encodeFunctionData( functionFragment: "getReservesData", values: [string] ): string; encodeFunctionData( functionFragment: "getUserReserveData", values: [string, string] ): string; encodeFunctionData( functionFragment: "rewardPoolNames", values: [string[], BigNumberish] ): string; decodeFunctionResult( functionFragment: "ADDRESS_PROVIDER", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "ETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "USD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult( functionFragment: "batchBalanceOf", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "explainReward", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAddresses", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAllTokenDescriptions", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAllTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getReserveConfigurationData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getReserveData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getReserveTokensAddresses", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getReservesData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getUserReserveData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "rewardPoolNames", data: BytesLike ): Result; events: {}; } export class ProtocolDataProvider 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: ProtocolDataProviderInterface; functions: { ADDRESS_PROVIDER(overrides?: CallOverrides): Promise<{ 0: string; }>; "ADDRESS_PROVIDER()"(overrides?: CallOverrides): Promise<{ 0: string; }>; ETH(overrides?: CallOverrides): Promise<{ 0: string; }>; "ETH()"(overrides?: CallOverrides): Promise<{ 0: string; }>; USD(overrides?: CallOverrides): Promise<{ 0: string; }>; "USD()"(overrides?: CallOverrides): Promise<{ 0: string; }>; balanceOf( user: string, token: string, tokenType: BigNumberish, overrides?: CallOverrides ): Promise<{ r: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }; 0: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }; }>; "balanceOf(address,address,uint8)"( user: string, token: string, tokenType: BigNumberish, overrides?: CallOverrides ): Promise<{ r: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }; 0: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }; }>; batchBalanceOf( users: string[], tokens: string[], tokenTypes: BigNumberish[], defType: BigNumberish, overrides?: CallOverrides ): Promise<{ balances: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[]; 0: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[]; }>; "batchBalanceOf(address[],address[],uint8[],uint8)"( users: string[], tokens: string[], tokenTypes: BigNumberish[], defType: BigNumberish, overrides?: CallOverrides ): Promise<{ balances: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[]; 0: { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[]; }>; explainReward( holder: string, minDuration: BigNumberish, overrides?: CallOverrides ): Promise<{ at: number; 0: { amountClaimable: BigNumber; amountExtra: BigNumber; maxBoost: BigNumber; boostLimit: BigNumber; latestClaimAt: number; allocations: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: number; 5: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; }; 1: number; }>; "explainReward(address,uint32)"( holder: string, minDuration: BigNumberish, overrides?: CallOverrides ): Promise<{ at: number; 0: { amountClaimable: BigNumber; amountExtra: BigNumber; maxBoost: BigNumber; boostLimit: BigNumber; latestClaimAt: number; allocations: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: number; 5: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; }; 1: number; }>; getAddresses(overrides?: CallOverrides): Promise<{ data: { addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }; 0: { addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }; }>; "getAddresses()"(overrides?: CallOverrides): Promise<{ data: { addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }; 0: { addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }; }>; getAllTokenDescriptions( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; tokenCount: BigNumber; 0: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; 1: BigNumber; }>; "getAllTokenDescriptions(bool)"( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; tokenCount: BigNumber; 0: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; 1: BigNumber; }>; getAllTokens( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: string[]; tokenCount: BigNumber; tokenTypes: number[]; 0: string[]; 1: BigNumber; 2: number[]; }>; "getAllTokens(bool)"( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: string[]; tokenCount: BigNumber; tokenTypes: number[]; 0: string[]; 1: BigNumber; 2: number[]; }>; getReserveConfigurationData( asset: string, overrides?: CallOverrides ): Promise<{ decimals: BigNumber; ltv: BigNumber; liquidationThreshold: BigNumber; liquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: boolean; 6: boolean; 7: boolean; 8: boolean; 9: boolean; }>; "getReserveConfigurationData(address)"( asset: string, overrides?: CallOverrides ): Promise<{ decimals: BigNumber; ltv: BigNumber; liquidationThreshold: BigNumber; liquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: boolean; 6: boolean; 7: boolean; 8: boolean; 9: boolean; }>; getReserveData( asset: string, overrides?: CallOverrides ): Promise<{ availableLiquidity: BigNumber; totalStableDebt: BigNumber; totalVariableDebt: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; averageStableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; lastUpdateTimestamp: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: number; }>; "getReserveData(address)"( asset: string, overrides?: CallOverrides ): Promise<{ availableLiquidity: BigNumber; totalStableDebt: BigNumber; totalVariableDebt: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; averageStableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; lastUpdateTimestamp: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: number; }>; getReserveTokensAddresses( asset: string, overrides?: CallOverrides ): Promise<{ depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; 0: string; 1: string; 2: string; }>; "getReserveTokensAddresses(address)"( asset: string, overrides?: CallOverrides ): Promise<{ depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; 0: string; 1: string; 2: string; }>; getReservesData( user: string, overrides?: CallOverrides ): Promise<{ 0: { underlyingAsset: string; pricingAsset: string; name: string; symbol: string; decimals: BigNumber; baseLTVasCollateral: BigNumber; reserveLiquidationThreshold: BigNumber; reserveLiquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; lastUpdateTimestamp: number; depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; strategy: string; isExternalStrategy: boolean; availableLiquidity: BigNumber; totalPrincipalStableDebt: BigNumber; averageStableRate: BigNumber; totalStableDebt: BigNumber; stableDebtLastUpdateTimestamp: BigNumber; totalScaledVariableDebt: BigNumber; priceInEth: BigNumber; 0: string; 1: string; 2: string; 3: string; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: boolean; 10: boolean; 11: boolean; 12: boolean; 13: boolean; 14: BigNumber; 15: BigNumber; 16: BigNumber; 17: BigNumber; 18: BigNumber; 19: number; 20: string; 21: string; 22: string; 23: string; 24: boolean; 25: BigNumber; 26: BigNumber; 27: BigNumber; 28: BigNumber; 29: BigNumber; 30: BigNumber; 31: BigNumber; }[]; 1: { underlyingAsset: string; scaledDepositTokenBalance: BigNumber; usageAsCollateralEnabledOnUser: boolean; stableBorrowRate: BigNumber; scaledVariableDebt: BigNumber; principalStableDebt: BigNumber; stableBorrowLastUpdateTimestamp: BigNumber; 0: string; 1: BigNumber; 2: boolean; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; }[]; 2: BigNumber; }>; "getReservesData(address)"( user: string, overrides?: CallOverrides ): Promise<{ 0: { underlyingAsset: string; pricingAsset: string; name: string; symbol: string; decimals: BigNumber; baseLTVasCollateral: BigNumber; reserveLiquidationThreshold: BigNumber; reserveLiquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; lastUpdateTimestamp: number; depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; strategy: string; isExternalStrategy: boolean; availableLiquidity: BigNumber; totalPrincipalStableDebt: BigNumber; averageStableRate: BigNumber; totalStableDebt: BigNumber; stableDebtLastUpdateTimestamp: BigNumber; totalScaledVariableDebt: BigNumber; priceInEth: BigNumber; 0: string; 1: string; 2: string; 3: string; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: boolean; 10: boolean; 11: boolean; 12: boolean; 13: boolean; 14: BigNumber; 15: BigNumber; 16: BigNumber; 17: BigNumber; 18: BigNumber; 19: number; 20: string; 21: string; 22: string; 23: string; 24: boolean; 25: BigNumber; 26: BigNumber; 27: BigNumber; 28: BigNumber; 29: BigNumber; 30: BigNumber; 31: BigNumber; }[]; 1: { underlyingAsset: string; scaledDepositTokenBalance: BigNumber; usageAsCollateralEnabledOnUser: boolean; stableBorrowRate: BigNumber; scaledVariableDebt: BigNumber; principalStableDebt: BigNumber; stableBorrowLastUpdateTimestamp: BigNumber; 0: string; 1: BigNumber; 2: boolean; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; }[]; 2: BigNumber; }>; getUserReserveData( asset: string, user: string, overrides?: CallOverrides ): Promise<{ currentDepositBalance: BigNumber; currentStableDebt: BigNumber; currentVariableDebt: BigNumber; principalStableDebt: BigNumber; scaledVariableDebt: BigNumber; stableBorrowRate: BigNumber; liquidityRate: BigNumber; stableRateLastUpdated: number; usageAsCollateralEnabled: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: number; 8: boolean; }>; "getUserReserveData(address,address)"( asset: string, user: string, overrides?: CallOverrides ): Promise<{ currentDepositBalance: BigNumber; currentStableDebt: BigNumber; currentVariableDebt: BigNumber; principalStableDebt: BigNumber; scaledVariableDebt: BigNumber; stableBorrowRate: BigNumber; liquidityRate: BigNumber; stableRateLastUpdated: number; usageAsCollateralEnabled: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: number; 8: boolean; }>; rewardPoolNames( pools: string[], ignoreMask: BigNumberish, overrides?: CallOverrides ): Promise<{ names: string[]; 0: string[]; }>; "rewardPoolNames(address[],uint256)"( pools: string[], ignoreMask: BigNumberish, overrides?: CallOverrides ): Promise<{ names: string[]; 0: string[]; }>; }; ADDRESS_PROVIDER(overrides?: CallOverrides): Promise<string>; "ADDRESS_PROVIDER()"(overrides?: CallOverrides): Promise<string>; ETH(overrides?: CallOverrides): Promise<string>; "ETH()"(overrides?: CallOverrides): Promise<string>; USD(overrides?: CallOverrides): Promise<string>; "USD()"(overrides?: CallOverrides): Promise<string>; balanceOf( user: string, token: string, tokenType: BigNumberish, overrides?: CallOverrides ): Promise<{ balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }>; "balanceOf(address,address,uint8)"( user: string, token: string, tokenType: BigNumberish, overrides?: CallOverrides ): Promise<{ balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }>; batchBalanceOf( users: string[], tokens: string[], tokenTypes: BigNumberish[], defType: BigNumberish, overrides?: CallOverrides ): Promise< { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[] >; "batchBalanceOf(address[],address[],uint8[],uint8)"( users: string[], tokens: string[], tokenTypes: BigNumberish[], defType: BigNumberish, overrides?: CallOverrides ): Promise< { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[] >; explainReward( holder: string, minDuration: BigNumberish, overrides?: CallOverrides ): Promise<{ at: number; 0: { amountClaimable: BigNumber; amountExtra: BigNumber; maxBoost: BigNumber; boostLimit: BigNumber; latestClaimAt: number; allocations: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: number; 5: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; }; 1: number; }>; "explainReward(address,uint32)"( holder: string, minDuration: BigNumberish, overrides?: CallOverrides ): Promise<{ at: number; 0: { amountClaimable: BigNumber; amountExtra: BigNumber; maxBoost: BigNumber; boostLimit: BigNumber; latestClaimAt: number; allocations: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: number; 5: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; }; 1: number; }>; getAddresses( overrides?: CallOverrides ): Promise<{ addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }>; "getAddresses()"( overrides?: CallOverrides ): Promise<{ addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }>; getAllTokenDescriptions( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; tokenCount: BigNumber; 0: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; 1: BigNumber; }>; "getAllTokenDescriptions(bool)"( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; tokenCount: BigNumber; 0: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; 1: BigNumber; }>; getAllTokens( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: string[]; tokenCount: BigNumber; tokenTypes: number[]; 0: string[]; 1: BigNumber; 2: number[]; }>; "getAllTokens(bool)"( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: string[]; tokenCount: BigNumber; tokenTypes: number[]; 0: string[]; 1: BigNumber; 2: number[]; }>; getReserveConfigurationData( asset: string, overrides?: CallOverrides ): Promise<{ decimals: BigNumber; ltv: BigNumber; liquidationThreshold: BigNumber; liquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: boolean; 6: boolean; 7: boolean; 8: boolean; 9: boolean; }>; "getReserveConfigurationData(address)"( asset: string, overrides?: CallOverrides ): Promise<{ decimals: BigNumber; ltv: BigNumber; liquidationThreshold: BigNumber; liquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: boolean; 6: boolean; 7: boolean; 8: boolean; 9: boolean; }>; getReserveData( asset: string, overrides?: CallOverrides ): Promise<{ availableLiquidity: BigNumber; totalStableDebt: BigNumber; totalVariableDebt: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; averageStableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; lastUpdateTimestamp: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: number; }>; "getReserveData(address)"( asset: string, overrides?: CallOverrides ): Promise<{ availableLiquidity: BigNumber; totalStableDebt: BigNumber; totalVariableDebt: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; averageStableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; lastUpdateTimestamp: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: number; }>; getReserveTokensAddresses( asset: string, overrides?: CallOverrides ): Promise<{ depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; 0: string; 1: string; 2: string; }>; "getReserveTokensAddresses(address)"( asset: string, overrides?: CallOverrides ): Promise<{ depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; 0: string; 1: string; 2: string; }>; getReservesData( user: string, overrides?: CallOverrides ): Promise<{ 0: { underlyingAsset: string; pricingAsset: string; name: string; symbol: string; decimals: BigNumber; baseLTVasCollateral: BigNumber; reserveLiquidationThreshold: BigNumber; reserveLiquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; lastUpdateTimestamp: number; depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; strategy: string; isExternalStrategy: boolean; availableLiquidity: BigNumber; totalPrincipalStableDebt: BigNumber; averageStableRate: BigNumber; totalStableDebt: BigNumber; stableDebtLastUpdateTimestamp: BigNumber; totalScaledVariableDebt: BigNumber; priceInEth: BigNumber; 0: string; 1: string; 2: string; 3: string; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: boolean; 10: boolean; 11: boolean; 12: boolean; 13: boolean; 14: BigNumber; 15: BigNumber; 16: BigNumber; 17: BigNumber; 18: BigNumber; 19: number; 20: string; 21: string; 22: string; 23: string; 24: boolean; 25: BigNumber; 26: BigNumber; 27: BigNumber; 28: BigNumber; 29: BigNumber; 30: BigNumber; 31: BigNumber; }[]; 1: { underlyingAsset: string; scaledDepositTokenBalance: BigNumber; usageAsCollateralEnabledOnUser: boolean; stableBorrowRate: BigNumber; scaledVariableDebt: BigNumber; principalStableDebt: BigNumber; stableBorrowLastUpdateTimestamp: BigNumber; 0: string; 1: BigNumber; 2: boolean; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; }[]; 2: BigNumber; }>; "getReservesData(address)"( user: string, overrides?: CallOverrides ): Promise<{ 0: { underlyingAsset: string; pricingAsset: string; name: string; symbol: string; decimals: BigNumber; baseLTVasCollateral: BigNumber; reserveLiquidationThreshold: BigNumber; reserveLiquidationBonus: BigNumber; reserveFactor: BigNumber; usageAsCollateralEnabled: boolean; borrowingEnabled: boolean; stableBorrowRateEnabled: boolean; isActive: boolean; isFrozen: boolean; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; liquidityRate: BigNumber; variableBorrowRate: BigNumber; stableBorrowRate: BigNumber; lastUpdateTimestamp: number; depositTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; strategy: string; isExternalStrategy: boolean; availableLiquidity: BigNumber; totalPrincipalStableDebt: BigNumber; averageStableRate: BigNumber; totalStableDebt: BigNumber; stableDebtLastUpdateTimestamp: BigNumber; totalScaledVariableDebt: BigNumber; priceInEth: BigNumber; 0: string; 1: string; 2: string; 3: string; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: BigNumber; 8: BigNumber; 9: boolean; 10: boolean; 11: boolean; 12: boolean; 13: boolean; 14: BigNumber; 15: BigNumber; 16: BigNumber; 17: BigNumber; 18: BigNumber; 19: number; 20: string; 21: string; 22: string; 23: string; 24: boolean; 25: BigNumber; 26: BigNumber; 27: BigNumber; 28: BigNumber; 29: BigNumber; 30: BigNumber; 31: BigNumber; }[]; 1: { underlyingAsset: string; scaledDepositTokenBalance: BigNumber; usageAsCollateralEnabledOnUser: boolean; stableBorrowRate: BigNumber; scaledVariableDebt: BigNumber; principalStableDebt: BigNumber; stableBorrowLastUpdateTimestamp: BigNumber; 0: string; 1: BigNumber; 2: boolean; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; }[]; 2: BigNumber; }>; getUserReserveData( asset: string, user: string, overrides?: CallOverrides ): Promise<{ currentDepositBalance: BigNumber; currentStableDebt: BigNumber; currentVariableDebt: BigNumber; principalStableDebt: BigNumber; scaledVariableDebt: BigNumber; stableBorrowRate: BigNumber; liquidityRate: BigNumber; stableRateLastUpdated: number; usageAsCollateralEnabled: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: number; 8: boolean; }>; "getUserReserveData(address,address)"( asset: string, user: string, overrides?: CallOverrides ): Promise<{ currentDepositBalance: BigNumber; currentStableDebt: BigNumber; currentVariableDebt: BigNumber; principalStableDebt: BigNumber; scaledVariableDebt: BigNumber; stableBorrowRate: BigNumber; liquidityRate: BigNumber; stableRateLastUpdated: number; usageAsCollateralEnabled: boolean; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: BigNumber; 5: BigNumber; 6: BigNumber; 7: number; 8: boolean; }>; rewardPoolNames( pools: string[], ignoreMask: BigNumberish, overrides?: CallOverrides ): Promise<string[]>; "rewardPoolNames(address[],uint256)"( pools: string[], ignoreMask: BigNumberish, overrides?: CallOverrides ): Promise<string[]>; callStatic: { ADDRESS_PROVIDER(overrides?: CallOverrides): Promise<string>; "ADDRESS_PROVIDER()"(overrides?: CallOverrides): Promise<string>; ETH(overrides?: CallOverrides): Promise<string>; "ETH()"(overrides?: CallOverrides): Promise<string>; USD(overrides?: CallOverrides): Promise<string>; "USD()"(overrides?: CallOverrides): Promise<string>; balanceOf( user: string, token: string, tokenType: BigNumberish, overrides?: CallOverrides ): Promise<{ balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }>; "balanceOf(address,address,uint8)"( user: string, token: string, tokenType: BigNumberish, overrides?: CallOverrides ): Promise<{ balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }>; batchBalanceOf( users: string[], tokens: string[], tokenTypes: BigNumberish[], defType: BigNumberish, overrides?: CallOverrides ): Promise< { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[] >; "batchBalanceOf(address[],address[],uint8[],uint8)"( users: string[], tokens: string[], tokenTypes: BigNumberish[], defType: BigNumberish, overrides?: CallOverrides ): Promise< { balance: BigNumber; underlyingBalance: BigNumber; rewardedBalance: BigNumber; unstakeWindowStart: number; unstakeWindowEnd: number; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: number; 4: number; }[] >; explainReward( holder: string, minDuration: BigNumberish, overrides?: CallOverrides ): Promise<{ at: number; 0: { amountClaimable: BigNumber; amountExtra: BigNumber; maxBoost: BigNumber; boostLimit: BigNumber; latestClaimAt: number; allocations: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: number; 5: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; }; 1: number; }>; "explainReward(address,uint32)"( holder: string, minDuration: BigNumberish, overrides?: CallOverrides ): Promise<{ at: number; 0: { amountClaimable: BigNumber; amountExtra: BigNumber; maxBoost: BigNumber; boostLimit: BigNumber; latestClaimAt: number; allocations: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; 0: BigNumber; 1: BigNumber; 2: BigNumber; 3: BigNumber; 4: number; 5: { amount: BigNumber; extra: BigNumber; pool: string; since: number; factor: number; rewardType: number; 0: BigNumber; 1: BigNumber; 2: string; 3: number; 4: number; 5: number; }[]; }; 1: number; }>; getAddresses( overrides?: CallOverrides ): Promise<{ addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }>; "getAddresses()"( overrides?: CallOverrides ): Promise<{ addressProvider: string; lendingPool: string; stakeConfigurator: string; rewardConfigurator: string; rewardController: string; wethGateway: string; priceOracle: string; lendingPriceOracle: string; rewardToken: string; rewardStake: string; referralRegistry: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; }>; getAllTokenDescriptions( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; tokenCount: BigNumber; 0: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; 1: BigNumber; }>; "getAllTokenDescriptions(bool)"( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; tokenCount: BigNumber; 0: { token: string; priceToken: string; rewardPool: string; tokenSymbol: string; underlying: string; decimals: number; tokenType: number; active: boolean; frozen: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: number; 6: number; 7: boolean; 8: boolean; }[]; 1: BigNumber; }>; getAllTokens( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: string[]; tokenCount: BigNumber; tokenTypes: number[]; 0: string[]; 1: BigNumber; 2: number[]; }>; "getAllTokens(bool)"( includeAssets: boolean, overrides?: CallOverrides ): Promise<{ tokens: st