UNPKG

@stakewise/v3-sdk

Version:
956 lines (940 loc) 471 kB
import BigDecimals from 'bignumber.js'; import * as ethers from 'ethers'; import { JsonRpcProvider, DeferredTopicFilter, EventFragment, EventLog, TransactionRequest, Typed, ContractTransactionResponse, FunctionFragment, ContractTransaction, LogDescription, BaseContract, ContractRunner, Interface, AddressLike, BytesLike, Result, Listener, ContractMethod, BigNumberish, InterfaceAbi, Provider, BrowserProvider, FallbackProvider } from 'ethers'; declare enum Network { Mainnet = 1, Gnosis = 100, /** * Network for mainnet testing */ Hoodi = 560048, /** * Network for gnosis testing */ Chiado = 10200 } declare enum VaultType { Default = "Default", Private = "Private", Blocklist = "Blocklist" } declare enum AllocatorActionType { Redeemed = "Redeemed", Migrated = "Migrated", Deposited = "Deposited", TransferIn = "TransferIn", VaultCreated = "VaultCreated", OsTokenMinted = "OsTokenMinted", OsTokenBurned = "OsTokenBurned", BoostDeposited = "BoostDeposited", OsTokenRedeemed = "OsTokenRedeemed", ExitQueueEntered = "ExitQueueEntered", OsTokenLiquidated = "OsTokenLiquidated", ExitedAssetsClaimed = "ExitedAssetsClaimed", BoostExitedAssetsClaimed = "BoostExitedAssetsClaimed" } declare enum OsTokenPositionHealth { Unhealthy = 0, Moderate = 1, Healthy = 2, Risky = 3 } declare enum BorrowStatus { Healthy = 0, Moderate = 1, Risky = 2 } type GetGasInput = { provider: StakeWise.Provider; estimatedGas: bigint; }; declare const getGas: (value: GetGasInput) => Promise<bigint>; declare const _default$1: { 1: { readonly network: { readonly id: "mainnet"; readonly name: "Ethereum"; readonly chainId: Network.Mainnet; readonly hexadecimalChainId: "0x1"; readonly blockExplorerUrl: "https://etherscan.io"; readonly nativeCurrency: { readonly symbol: "ETH"; readonly name: "Ethereum"; readonly decimals: 18; }; readonly isTestnet: false; }; readonly api: { readonly backend: "https://mainnet-api-b.stakewise.io/graphql"; readonly subgraph: readonly ["https://graphs.stakewise.io/mainnet-a/subgraphs/name/stakewise/prod", "https://graphs.stakewise.io/mainnet-b/subgraphs/name/stakewise/prod"]; }; readonly pages: { readonly beaconchain: "https://beaconcha.in"; }; readonly addresses: { readonly tokens: { readonly ssv: "0x9d65ff81a3c488d585bbfb0bfe3c7707c7917f54"; readonly obol: "0x0b010000b7624eb9b3dfbc279673c76e9d29d5f7"; readonly swise: "0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2"; readonly mintToken: "0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38"; readonly depositToken: string; readonly v2RewardToken: "0x20BC832ca081b91433ff6c17f85701B6e92486c5"; readonly v2StakedToken: "0xFe2e637202056d30016725477c5da089Ab0A043A"; }; readonly base: { readonly keeper: "0x6B5815467da09DaA7DC83Db21c9239d98Bb487b5"; readonly multicall: "0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"; readonly priceOracle: "0x8023518b2192FB5384DAdc596765B3dD1cdFe471"; readonly vaultsRegistry: "0x3a0008a588772446f6e656133C2D5029CC4FC20E"; readonly sharedMevEscrow: "0x48319f97E5Da1233c21c48b80097c0FB7a20Ff86"; readonly mintTokenConfigV1: "0xE8822246F8864DA92015813A39ae776087Fb1Cd5"; readonly mintTokenConfigV2: "0x287d1e2A8dE183A8bf8f2b09Fa1340fBd766eb59"; readonly depositDataRegistry: "0x75AB6DdCe07556639333d3Df1eaa684F5735223e"; readonly mintTokenController: "0x2A261e60FB14586B474C208b1B7AC6D0f5000306"; readonly rewardSplitterFactory: "0x256aF27ce81282A0491A5361172c1Db08f6cC5F8"; }; readonly factories: { readonly vault: "0xDF82E5D27E175618e5bC4581ee336F59AdabfBB2"; readonly erc20Vault: "0x978302cAcAdEDE5d503390E176e86F3889Df6Ce6"; readonly privateVault: "0x80fC05f62C35C1b1361bc8908ea0aF06C510D390"; readonly erc20PrivateVault: "0x291Fa5849215847081B475450cBE5De46CfD4fAE"; readonly blocklistVault: "0x8b6c2C9E09c6022780D164F3cFd882808b8bDBF0"; readonly erc20BlocklistVault: "0xe487EDDB7C5802e416385544f0A6a4426AF4AE87"; }; readonly special: { readonly stakeCalculator: "0x75c57bd50A3EB7291Da3429956D3566E0153A38f"; readonly leverageStrategy: "0x48cD14FDB8e72A03C8D952af081DBB127D6281fc"; }; }; readonly tokens: { readonly ssv: "SSV"; readonly obol: "Obol"; readonly swise: "SWISE"; readonly mintToken: "osETH"; readonly nativeToken: "ETH"; readonly depositToken: "ETH"; readonly v2RewardToken: "rETH2"; readonly v2StakedToken: "sETH2"; }; }; 560048: { readonly network: { readonly id: "hoodi"; readonly name: "Hoodi Testnet"; readonly chainId: Network.Hoodi; readonly hexadecimalChainId: "0x88bb0"; readonly blockExplorerUrl: "https://hoodi.etherscan.io"; readonly nativeCurrency: { readonly symbol: "ETH"; readonly name: "Ethereum"; readonly decimals: 18; }; readonly isTestnet: true; }; readonly api: { readonly backend: "https://hoodi-api.stakewise.io/graphql"; readonly subgraph: "https://graphs.stakewise.io/hoodi/subgraphs/name/stakewise/prod"; }; readonly pages: { readonly beaconchain: "https://hoodi.beaconcha.in/"; }; readonly addresses: { readonly tokens: { readonly ssv: string; readonly obol: string; readonly swise: "0x3c5634a5437A394353F49fe04FE5db11961c5c2D"; readonly mintToken: "0x7345fC8268459413beE9e9dd327f31283C65Ee7e"; readonly depositToken: string; readonly v2RewardToken: "0x75c57bd50A3EB7291Da3429956D3566E0153A38f"; readonly v2StakedToken: "0xe684eD3e740A3fD62e86b6bD6a8865e070568BCa"; }; readonly base: { readonly keeper: "0xA7D1Ac9D6F32B404C75626874BA56f7654c1dC0f"; readonly multicall: "0xcA11bde05977b3631167028862bE2a173976CA11"; readonly priceOracle: "0xe8a222D887b468a71Ee8a27df4fa3b886A4B7BA1"; readonly vaultsRegistry: "0xf16fea93D3253A401C3f73B0De890C6586740B25"; readonly sharedMevEscrow: "0x51FD45BAEfB12f54766B5C4d639b360Ea50063bd"; readonly mintTokenConfigV1: string; readonly mintTokenConfigV2: "0x5b817621EBE00622b9a71b53c942b392751c8197"; readonly depositDataRegistry: "0x93a3f880E07B27dacA6Ef2d3C23E77DBd6294487"; readonly mintTokenController: "0x140Fc69Eabd77fFF91d9852B612B2323256f7Ac1"; readonly rewardSplitterFactory: "0x80353898B72417AC5701a9809A9eF63F691BdE86"; }; readonly factories: { readonly vault: "0x508e82B5119CCfB923C387d62D2Ae7B56Df79906"; readonly erc20Vault: "0xBb1B3E55315967c65133A0e942d8EA7a992aF6C7"; readonly privateVault: "0x9115E176C3d034339036194c3EB7014Ef04A2e4b"; readonly erc20PrivateVault: "0x76D90928645065b4D4212eE62ce1ba8f90718f14"; readonly blocklistVault: "0xE2121568066C0a9d794bbB95D0Ade0ebd81cCaf9"; readonly erc20BlocklistVault: "0x4E3dE90882B3d10D067b8954909D4A4b0Bb390D0"; }; readonly special: { readonly stakeCalculator: "0xaE9A192Ed2030444eB9323C592F1b85801EA0Ec3"; readonly leverageStrategy: string; }; }; readonly tokens: { readonly ssv: "SSV"; readonly obol: "Obol"; readonly swise: "SWISE"; readonly mintToken: "osETH"; readonly nativeToken: "ETH"; readonly depositToken: "ETH"; readonly v2RewardToken: "rETH2"; readonly v2StakedToken: "sETH2"; }; }; 100: { readonly network: { readonly id: "gnosis"; readonly name: "Gnosis Chain"; readonly chainId: Network.Gnosis; readonly hexadecimalChainId: "0x64"; readonly blockExplorerUrl: "https://gnosisscan.io"; readonly nativeCurrency: { readonly symbol: "xDAI"; readonly name: "xDAI"; readonly decimals: 18; }; readonly isTestnet: false; }; readonly api: { readonly backend: "https://gnosis-api-b.stakewise.io/graphql"; readonly subgraph: "https://graphs.stakewise.io/gnosis/subgraphs/name/stakewise/prod"; }; readonly pages: { readonly beaconchain: "https://gnosis.beaconcha.in"; }; readonly addresses: { readonly tokens: { readonly ssv: string; readonly obol: string; readonly swise: "0xfdA94F056346d2320d4B5E468D6Ad099b2277746"; readonly mintToken: "0xF490c80aAE5f2616d3e3BDa2483E30C4CB21d1A0"; readonly depositToken: "0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb"; readonly v2RewardToken: "0x6aC78efae880282396a335CA2F79863A1e6831D4"; readonly v2StakedToken: "0xA4eF9Da5BA71Cc0D2e5E877a910A37eC43420445"; }; readonly base: { readonly keeper: "0xcAC0e3E35d3BA271cd2aaBE688ac9DB1898C26aa"; readonly multicall: "0xb5b692a88BDFc81ca69dcB1d924f59f0413A602a"; readonly priceOracle: "0x9B1b13afA6a57e54C03AD0428a4766C39707D272"; readonly vaultsRegistry: "0x7d014B3C6ee446563d4e0cB6fBD8C3D0419867cB"; readonly sharedMevEscrow: "0x30db0d10d3774e78f8cB214b9e8B72D4B402488a"; readonly mintTokenConfigV1: string; readonly mintTokenConfigV2: "0xd6672fbE1D28877db598DC0ac2559A15745FC3ec"; readonly depositDataRegistry: "0x58e16621B5c0786D6667D2d54E28A20940269E16"; readonly mintTokenController: "0x60B2053d7f2a0bBa70fe6CDd88FB47b579B9179a"; readonly rewardSplitterFactory: "0x4c6306BA1821D88803e27A115433520F2d6276Fb"; }; readonly factories: { readonly vault: "0xC2ecc7620416bd65bfab7010B0db955a0e49579a"; readonly erc20Vault: "0xF6BBBc05536Ab198d4b7Ab74a93f8e2d4cAd5354"; readonly privateVault: "0x574952EC88b2fC271d0C0dB130794c86Ea42139A"; readonly erc20PrivateVault: "0x48319f97E5Da1233c21c48b80097c0FB7a20Ff86"; readonly blocklistVault: "0x78FbfBd1DD38892476Ac469325df36604A27F5B7"; readonly erc20BlocklistVault: "0x99E4300326867FE3f97864a74e500d19654c19e9"; }; readonly special: { readonly stakeCalculator: "0x2A415b65207049AC7481BF69ff9fc1B3Def97c9A"; readonly leverageStrategy: string; }; }; readonly tokens: { readonly ssv: "SSV"; readonly obol: "Obol"; readonly swise: "SWISE"; readonly mintToken: "osGNO"; readonly nativeToken: "xDAI"; readonly depositToken: "GNO"; readonly v2RewardToken: "rGNO"; readonly v2StakedToken: "sGNO"; }; }; 10200: { readonly network: { readonly id: "chiado"; readonly name: "Chiado Testnet"; readonly chainId: Network.Chiado; readonly hexadecimalChainId: "0x27D8"; readonly blockExplorerUrl: "https://gnosis-chiado.blockscout.com"; readonly nativeCurrency: { readonly symbol: "xDAI"; readonly name: "xDAI"; readonly decimals: 18; }; readonly isTestnet: true; }; readonly api: { readonly backend: "https://chiado-api.stakewise.io/graphql"; readonly subgraph: "https://graphs.stakewise.io/chiado/subgraphs/name/stakewise/prod"; }; readonly pages: { readonly beaconchain: "https://beacon.chiadochain.net"; }; readonly addresses: { readonly tokens: { readonly ssv: string; readonly obol: string; readonly swise: "0x460d2c6c3254809949a7d0b4646ce15F77e9c545"; readonly mintToken: "0x0b4F6bFB694790051E0203Db83edbB5888099556"; readonly depositToken: "0x19C653Da7c37c66208fbfbE8908A5051B57b4C70"; readonly v2RewardToken: "0x14c74b1C7eCa8362D4ABcCd71051Ce174d61a3D4"; readonly v2StakedToken: "0xee2493a42861a0a49f88525c44aab8126d04b761"; }; readonly base: { readonly keeper: "0x5f31eD13eBF81B67a9f9498F3d1D2Da553058988"; readonly multicall: "0xcA11bde05977b3631167028862bE2a173976CA11"; readonly priceOracle: "0x3CC131e6f6b975423151E5aaE8C466f4f81A8A4c"; readonly vaultsRegistry: "0x8750594B33516232e751C8B9C350a660cD5f1BB8"; readonly sharedMevEscrow: "0x453056f0bc4631abB15eEC656139f88067668E3E"; readonly mintTokenConfigV1: string; readonly mintTokenConfigV2: "0x6D5957e075fd93b3B9F36Da93d7462F14387706d"; readonly depositDataRegistry: "0xFAce8504462AEb9BB6ae7Ecb206BD7B1EdF7956D"; readonly mintTokenController: "0x5518052f2d898f062ee59964004A560F24E2eE7d"; readonly rewardSplitterFactory: "0x6EE912596DCC3a8b7308164A65Af529a4276737C"; }; readonly factories: { readonly vault: "0x7fEFdC8375E84Adb0bE5e4Ba5E238c021F1858fE"; readonly erc20Vault: "0x7eA0D7dB6cf2402eB2B1A56bfBf6c2C88e6c8284"; readonly privateVault: "0xA67D62F8D26Fe034426B512A6621D4e8fc8B2aB3"; readonly erc20PrivateVault: "0x588102eB5E387956b8067F4948BcA34893E89597"; readonly blocklistVault: "0x2bC7968461c51525433b9DcE504a543b26a2f31B"; readonly erc20BlocklistVault: "0x35482A11E21157E0C706d1A562483902421dB341"; }; readonly special: { readonly stakeCalculator: "0x35704E96851d4aDd48475757b8f9bbb2390D9e4E"; readonly leverageStrategy: string; }; }; readonly tokens: { readonly ssv: "SSV"; readonly obol: "Obol"; readonly swise: "SWISE"; readonly mintToken: "osGNO"; readonly nativeToken: "xDAI"; readonly depositToken: "GNO"; readonly v2RewardToken: "rGNO"; readonly v2StakedToken: "sGNO"; }; }; }; type Argument = bigint | string | number | BigDecimal; /** * @private * @description This class can be modified without maintaining backward compatibility. */ declare class BigDecimal { #private; constructor(value: Argument); toBigDecimal(value: Argument): BigDecimals; divide(value: Argument): this; multiply(value: Argument): this; minus(value: Argument): this; plus(value: Argument): this; decimals(count: number): this; toString(): string; toNumber(): number; } declare const getTimestamp: (days: number) => number; declare const createProvider: (options: StakeWise.Options) => JsonRpcProvider | StakeWise.CustomFallbackProvider; interface TypedDeferredTopicFilter$1<_TCEvent extends TypedContractEvent$1> extends DeferredTopicFilter { } interface TypedContractEvent$1<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> { (...args: Partial<InputTuple>): TypedDeferredTopicFilter$1<TypedContractEvent$1<InputTuple, OutputTuple, OutputObject>>; name: string; fragment: EventFragment; getFragment(...args: Partial<InputTuple>): EventFragment; } type __TypechainAOutputTuple$1<T> = T extends TypedContractEvent$1<infer _U, infer W> ? W : never; type __TypechainOutputObject$1<T> = T extends TypedContractEvent$1<infer _U, infer _W, infer V> ? V : never; interface TypedEventLog$1<TCEvent extends TypedContractEvent$1> extends Omit<EventLog, "args"> { args: __TypechainAOutputTuple$1<TCEvent> & __TypechainOutputObject$1<TCEvent>; } interface TypedLogDescription<TCEvent extends TypedContractEvent$1> extends Omit<LogDescription, "args"> { args: __TypechainAOutputTuple$1<TCEvent> & __TypechainOutputObject$1<TCEvent>; } type TypedListener$1<TCEvent extends TypedContractEvent$1> = (...listenerArg: [ ...__TypechainAOutputTuple$1<TCEvent>, TypedEventLog$1<TCEvent>, ...undefined[] ]) => void; type StateMutability$1 = "nonpayable" | "payable" | "view"; type BaseOverrides$1 = Omit<TransactionRequest, "to" | "data">; type NonPayableOverrides$1 = Omit<BaseOverrides$1, "value" | "blockTag" | "enableCcipRead">; type PayableOverrides$1 = Omit<BaseOverrides$1, "blockTag" | "enableCcipRead">; type ViewOverrides$1 = Omit<TransactionRequest, "to" | "data">; type Overrides$1<S extends StateMutability$1> = S extends "nonpayable" ? NonPayableOverrides$1 : S extends "payable" ? PayableOverrides$1 : ViewOverrides$1; type PostfixOverrides$1<A extends Array<any>, S extends StateMutability$1> = A | [...A, Overrides$1<S>]; type ContractMethodArgs$1<A extends Array<any>, S extends StateMutability$1> = PostfixOverrides$1<{ [I in keyof A]-?: A[I] | Typed; }, S>; type DefaultReturnType$1<R> = R extends Array<any> ? R[0] : R; interface TypedContractMethod$1<A extends Array<any> = Array<any>, R = any, S extends StateMutability$1 = "payable"> { (...args: ContractMethodArgs$1<A, S>): S extends "view" ? Promise<DefaultReturnType$1<R>> : Promise<ContractTransactionResponse>; name: string; fragment: FunctionFragment; getFragment(...args: ContractMethodArgs$1<A, S>): FunctionFragment; populateTransaction(...args: ContractMethodArgs$1<A, S>): Promise<ContractTransaction>; staticCall(...args: ContractMethodArgs$1<A, "view">): Promise<DefaultReturnType$1<R>>; send(...args: ContractMethodArgs$1<A, S>): Promise<ContractTransactionResponse>; estimateGas(...args: ContractMethodArgs$1<A, S>): Promise<bigint>; staticCallResult(...args: ContractMethodArgs$1<A, "view">): Promise<R>; } interface DepositDataRegistryAbiInterface extends Interface { getFunction(nameOrSignature: "getDepositDataManager" | "setDepositDataManager" | "setDepositDataRoot"): FunctionFragment; encodeFunctionData(functionFragment: "getDepositDataManager", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setDepositDataManager", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "setDepositDataRoot", values: [AddressLike, BytesLike]): string; decodeFunctionResult(functionFragment: "getDepositDataManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDepositDataManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDepositDataRoot", data: BytesLike): Result; } interface DepositDataRegistryAbi extends BaseContract { connect(runner?: ContractRunner | null): DepositDataRegistryAbi; waitForDeployment(): Promise<this>; interface: DepositDataRegistryAbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; getDepositDataManager: TypedContractMethod$1<[ vault: AddressLike ], [ string ], "view">; setDepositDataManager: TypedContractMethod$1<[ vault: AddressLike, depositDataManager: AddressLike ], [ void ], "nonpayable">; setDepositDataRoot: TypedContractMethod$1<[ vault: AddressLike, depositDataRoot: BytesLike ], [ void ], "nonpayable">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getDepositDataManager"): TypedContractMethod$1<[vault: AddressLike], [string], "view">; getFunction(nameOrSignature: "setDepositDataManager"): TypedContractMethod$1<[ vault: AddressLike, depositDataManager: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDepositDataRoot"): TypedContractMethod$1<[ vault: AddressLike, depositDataRoot: BytesLike ], [ void ], "nonpayable">; filters: {}; } declare namespace IEigenDelegationManager { type SignatureWithExpiryStruct = { signature: BytesLike; expiry: BigNumberish; }; type SignatureWithExpiryStructOutput = [ signature: string, expiry: bigint ] & { signature: string; expiry: bigint; }; } interface EigenPodOwnerAbiInterface extends Interface { getFunction(nameOrSignature: "eigenPod" | "multicall" | "delegateTo" | "undelegate"): FunctionFragment; encodeFunctionData(functionFragment: "eigenPod", values?: undefined): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "delegateTo", values: [ AddressLike, IEigenDelegationManager.SignatureWithExpiryStruct, BytesLike ]): string; encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; decodeFunctionResult(functionFragment: "eigenPod", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; } interface EigenPodOwnerAbi extends BaseContract { connect(runner?: ContractRunner | null): EigenPodOwnerAbi; waitForDeployment(): Promise<this>; interface: EigenPodOwnerAbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; eigenPod: TypedContractMethod$1<[], [string], "view">; multicall: TypedContractMethod$1<[data: BytesLike[]], [string[]], "nonpayable">; delegateTo: TypedContractMethod$1<[ operator: AddressLike, approverSignatureAndExpiry: IEigenDelegationManager.SignatureWithExpiryStruct, approverSalt: BytesLike ], [ void ], "nonpayable">; undelegate: TypedContractMethod$1<[], [void], "nonpayable">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "eigenPod"): TypedContractMethod$1<[], [string], "view">; getFunction(nameOrSignature: "multicall"): TypedContractMethod$1<[data: BytesLike[]], [string[]], "nonpayable">; getFunction(nameOrSignature: "delegateTo"): TypedContractMethod$1<[ operator: AddressLike, approverSignatureAndExpiry: IEigenDelegationManager.SignatureWithExpiryStruct, approverSalt: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "undelegate"): TypedContractMethod$1<[], [void], "nonpayable">; filters: {}; } interface Erc20AbiInterface extends Interface { getFunction(nameOrSignature: "approve" | "permit" | "name" | "nonces" | "balanceOf" | "allowance"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; } declare namespace TransferEvent { type InputTuple = [ from: AddressLike, to: AddressLike, value: BigNumberish ]; type OutputTuple = [from: string, to: string, value: bigint]; interface OutputObject { from: string; to: string; value: bigint; } type Event = TypedContractEvent$1<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter$1<Event>; type Log = TypedEventLog$1<Event>; type LogDescription = TypedLogDescription<Event>; } interface Erc20Abi extends BaseContract { connect(runner?: ContractRunner | null): Erc20Abi; waitForDeployment(): Promise<this>; interface: Erc20AbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; approve: TypedContractMethod$1<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; permit: TypedContractMethod$1<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; name: TypedContractMethod$1<[], [string], "view">; nonces: TypedContractMethod$1<[owner: AddressLike], [bigint], "view">; balanceOf: TypedContractMethod$1<[account: AddressLike], [bigint], "view">; allowance: TypedContractMethod$1<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "approve"): TypedContractMethod$1<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "permit"): TypedContractMethod$1<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod$1<[], [string], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod$1<[owner: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod$1<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod$1<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getEvent(key: "Transfer"): TypedContractEvent$1<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>; filters: { "Transfer(address,address,uint256)": TypedContractEvent$1<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>; Transfer: TypedContractEvent$1<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>; }; } interface KeeperAbiInterface extends Interface { getFunction(nameOrSignature: "isCollateralized" | "canHarvest"): FunctionFragment; encodeFunctionData(functionFragment: "isCollateralized", values: [AddressLike]): string; encodeFunctionData(functionFragment: "canHarvest", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "isCollateralized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "canHarvest", data: BytesLike): Result; } interface KeeperAbi extends BaseContract { connect(runner?: ContractRunner | null): KeeperAbi; waitForDeployment(): Promise<this>; interface: KeeperAbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; isCollateralized: TypedContractMethod$1<[ vault: AddressLike ], [ boolean ], "view">; canHarvest: TypedContractMethod$1<[vault: AddressLike], [boolean], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "isCollateralized"): TypedContractMethod$1<[vault: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "canHarvest"): TypedContractMethod$1<[vault: AddressLike], [boolean], "view">; filters: {}; } declare namespace IKeeperRewards$4 { type HarvestParamsStruct = { rewardsRoot: BytesLike; reward: BigNumberish; unlockedMevReward: BigNumberish; proof: BytesLike[]; }; type HarvestParamsStructOutput = [ rewardsRoot: string, reward: bigint, unlockedMevReward: bigint, proof: string[] ] & { rewardsRoot: string; reward: bigint; unlockedMevReward: bigint; proof: string[]; }; } declare namespace ILeverageStrategy { type ExitPositionStruct = { positionTicket: BigNumberish; timestamp: BigNumberish; exitQueueIndex: BigNumberish; }; type ExitPositionStructOutput = [ positionTicket: bigint, timestamp: bigint, exitQueueIndex: bigint ] & { positionTicket: bigint; timestamp: bigint; exitQueueIndex: bigint; }; } interface LeverageStrategyAbiInterface extends Interface { getFunction(nameOrSignature: "deposit" | "updateVaultState" | "permit" | "multicall" | "getStrategyProxy" | "enterExitQueue" | "claimExitedAssets"): FunctionFragment; encodeFunctionData(functionFragment: "deposit", values: [AddressLike, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "updateVaultState", values: [AddressLike, IKeeperRewards$4.HarvestParamsStruct]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "getStrategyProxy", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "enterExitQueue", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "claimExitedAssets", values: [AddressLike, AddressLike, ILeverageStrategy.ExitPositionStruct]): string; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateVaultState", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStrategyProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "enterExitQueue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimExitedAssets", data: BytesLike): Result; } interface LeverageStrategyAbi extends BaseContract { connect(runner?: ContractRunner | null): LeverageStrategyAbi; waitForDeployment(): Promise<this>; interface: LeverageStrategyAbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; deposit: TypedContractMethod$1<[ vault: AddressLike, osTokenShares: BigNumberish, referrer: AddressLike ], [ void ], "nonpayable">; updateVaultState: TypedContractMethod$1<[ vault: AddressLike, harvestParams: IKeeperRewards$4.HarvestParamsStruct ], [ void ], "nonpayable">; permit: TypedContractMethod$1<[ vault: AddressLike, osTokenShares: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; multicall: TypedContractMethod$1<[data: BytesLike[]], [string[]], "nonpayable">; getStrategyProxy: TypedContractMethod$1<[ vault: AddressLike, user: AddressLike ], [ string ], "view">; enterExitQueue: TypedContractMethod$1<[ vault: AddressLike, positionPercent: BigNumberish ], [ bigint ], "nonpayable">; claimExitedAssets: TypedContractMethod$1<[ vault: AddressLike, user: AddressLike, exitPosition: ILeverageStrategy.ExitPositionStruct ], [ void ], "nonpayable">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "deposit"): TypedContractMethod$1<[ vault: AddressLike, osTokenShares: BigNumberish, referrer: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateVaultState"): TypedContractMethod$1<[ vault: AddressLike, harvestParams: IKeeperRewards$4.HarvestParamsStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "permit"): TypedContractMethod$1<[ vault: AddressLike, osTokenShares: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "multicall"): TypedContractMethod$1<[data: BytesLike[]], [string[]], "nonpayable">; getFunction(nameOrSignature: "getStrategyProxy"): TypedContractMethod$1<[ vault: AddressLike, user: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "enterExitQueue"): TypedContractMethod$1<[ vault: AddressLike, positionPercent: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "claimExitedAssets"): TypedContractMethod$1<[ vault: AddressLike, user: AddressLike, exitPosition: ILeverageStrategy.ExitPositionStruct ], [ void ], "nonpayable">; filters: {}; } interface MintTokenConfigV1AbiInterface extends Interface { getFunction(nameOrSignature: "ltvPercent" | "liqThresholdPercent"): FunctionFragment; encodeFunctionData(functionFragment: "ltvPercent", values?: undefined): string; encodeFunctionData(functionFragment: "liqThresholdPercent", values?: undefined): string; decodeFunctionResult(functionFragment: "ltvPercent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liqThresholdPercent", data: BytesLike): Result; } interface MintTokenConfigV1Abi extends BaseContract { connect(runner?: ContractRunner | null): MintTokenConfigV1Abi; waitForDeployment(): Promise<this>; interface: MintTokenConfigV1AbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; ltvPercent: TypedContractMethod$1<[], [bigint], "view">; liqThresholdPercent: TypedContractMethod$1<[], [bigint], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "ltvPercent"): TypedContractMethod$1<[], [bigint], "view">; getFunction(nameOrSignature: "liqThresholdPercent"): TypedContractMethod$1<[], [bigint], "view">; filters: {}; } declare namespace IOsTokenConfig { type ConfigStruct = { liqBonusPercent: BigNumberish; liqThresholdPercent: BigNumberish; ltvPercent: BigNumberish; }; type ConfigStructOutput = [ liqBonusPercent: bigint, liqThresholdPercent: bigint, ltvPercent: bigint ] & { liqBonusPercent: bigint; liqThresholdPercent: bigint; ltvPercent: bigint; }; } interface MintTokenConfigV2AbiInterface extends Interface { getFunction(nameOrSignature: "getConfig"): FunctionFragment; encodeFunctionData(functionFragment: "getConfig", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "getConfig", data: BytesLike): Result; } interface MintTokenConfigV2Abi extends BaseContract { connect(runner?: ContractRunner | null): MintTokenConfigV2Abi; waitForDeployment(): Promise<this>; interface: MintTokenConfigV2AbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; getConfig: TypedContractMethod$1<[ vault: AddressLike ], [ IOsTokenConfig.ConfigStructOutput ], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getConfig"): TypedContractMethod$1<[ vault: AddressLike ], [ IOsTokenConfig.ConfigStructOutput ], "view">; filters: {}; } interface MintTokenControllerAbiInterface extends Interface { getFunction(nameOrSignature: "convertToShares" | "convertToAssets" | "avgRewardPerSecond" | "feePercent"): FunctionFragment; encodeFunctionData(functionFragment: "convertToShares", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "convertToAssets", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "avgRewardPerSecond", values?: undefined): string; encodeFunctionData(functionFragment: "feePercent", values?: undefined): string; decodeFunctionResult(functionFragment: "convertToShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convertToAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "avgRewardPerSecond", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feePercent", data: BytesLike): Result; } interface MintTokenControllerAbi extends BaseContract { connect(runner?: ContractRunner | null): MintTokenControllerAbi; waitForDeployment(): Promise<this>; interface: MintTokenControllerAbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; on<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(event: TCEvent, listener: TypedListener$1<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, listener: TypedListener$1<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent$1>(event: TCEvent): Promise<Array<TypedListener$1<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent$1>(event?: TCEvent): Promise<this>; convertToShares: TypedContractMethod$1<[ assets: BigNumberish ], [ bigint ], "view">; convertToAssets: TypedContractMethod$1<[ shares: BigNumberish ], [ bigint ], "view">; avgRewardPerSecond: TypedContractMethod$1<[], [bigint], "view">; feePercent: TypedContractMethod$1<[], [bigint], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "convertToShares"): TypedContractMethod$1<[assets: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "convertToAssets"): TypedContractMethod$1<[shares: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "avgRewardPerSecond"): TypedContractMethod$1<[], [bigint], "view">; getFunction(nameOrSignature: "feePercent"): TypedContractMethod$1<[], [bigint], "view">; filters: {}; } interface MulticallAbiInterface extends Interface { getFunction(nameOrSignature: "aggregate" | "getEthBalance"): FunctionFragment; encodeFunctionData(functionFragment: "aggregate", values: [{ target: AddressLike; callData: BytesLike; }[]]): string; encodeFunctionData(functionFragment: "getEthBalance", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "aggregate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEthBalance", data: BytesLike): Result; } interface MulticallAbi extends BaseContract { connect(runner?: ContractRunner | null): MulticallAbi; waitForDeployment(): Promise<this>; interface: MulticallAbiInterface; queryFilter<TCEvent extends TypedContractEvent$1>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog$1<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent$1>(filter: TypedDeferredTopicFilter$1<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog