import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common.js'; export interface IERC4626Interface extends utils.Interface { functions: { 'allowance(address,address)': FunctionFragment; 'approve(address,uint256)': FunctionFragment; 'asset()': FunctionFragment; 'balanceOf(address)': FunctionFragment; 'convertToAssets(uint256)': FunctionFragment; 'convertToShares(uint256)': FunctionFragment; 'decimals()': FunctionFragment; 'deposit(uint256,address)': FunctionFragment; 'maxDeposit(address)': FunctionFragment; 'maxMint(address)': FunctionFragment; 'maxRedeem(address)': FunctionFragment; 'maxWithdraw(address)': FunctionFragment; 'mint(uint256,address)': FunctionFragment; 'name()': FunctionFragment; 'previewDeposit(uint256)': FunctionFragment; 'previewMint(uint256)': FunctionFragment; 'previewRedeem(uint256)': FunctionFragment; 'previewWithdraw(uint256)': FunctionFragment; 'redeem(uint256,address,address)': FunctionFragment; 'symbol()': FunctionFragment; 'totalAssets()': FunctionFragment; 'totalSupply()': FunctionFragment; 'transfer(address,uint256)': FunctionFragment; 'transferFrom(address,address,uint256)': FunctionFragment; 'withdraw(uint256,address,address)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'allowance' | 'approve' | 'asset' | 'balanceOf' | 'convertToAssets' | 'convertToShares' | 'decimals' | 'deposit' | 'maxDeposit' | 'maxMint' | 'maxRedeem' | 'maxWithdraw' | 'mint' | 'name' | 'previewDeposit' | 'previewMint' | 'previewRedeem' | 'previewWithdraw' | 'redeem' | 'symbol' | 'totalAssets' | 'totalSupply' | 'transfer' | 'transferFrom' | 'withdraw'): FunctionFragment; encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'asset', values?: undefined): string; encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'convertToAssets', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'convertToShares', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'decimals', values?: undefined): string; encodeFunctionData(functionFragment: 'deposit', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'maxDeposit', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'maxMint', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'maxRedeem', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'maxWithdraw', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'mint', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'name', values?: undefined): string; encodeFunctionData(functionFragment: 'previewDeposit', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'previewMint', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'previewRedeem', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'previewWithdraw', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'redeem', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; encodeFunctionData(functionFragment: 'totalAssets', values?: undefined): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; encodeFunctionData(functionFragment: 'transfer', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'asset', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'convertToAssets', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'convertToShares', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'maxDeposit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'maxMint', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'maxRedeem', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'maxWithdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'mint', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'previewDeposit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'previewMint', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'previewRedeem', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'previewWithdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'redeem', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; events: { 'Approval(address,address,uint256)': EventFragment; 'Deposit(address,address,uint256,uint256)': EventFragment; 'Transfer(address,address,uint256)': EventFragment; 'Withdraw(address,address,address,uint256,uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Withdraw'): EventFragment; } export interface ApprovalEventObject { owner: string; spender: string; value: BigNumber; } export declare type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>; export declare type ApprovalEventFilter = TypedEventFilter; export interface DepositEventObject { sender: string; owner: string; assets: BigNumber; shares: BigNumber; } export declare type DepositEvent = TypedEvent<[string, string, BigNumber, BigNumber], DepositEventObject>; export declare type DepositEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; value: BigNumber; } export declare type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>; export declare type TransferEventFilter = TypedEventFilter; export interface WithdrawEventObject { sender: string; receiver: string; owner: string; assets: BigNumber; shares: BigNumber; } export declare type WithdrawEvent = TypedEvent<[string, string, string, BigNumber, BigNumber], WithdrawEventObject>; export declare type WithdrawEventFilter = TypedEventFilter; export interface IERC4626 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IERC4626Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; asset(overrides?: CallOverrides): Promise<[string] & { assetTokenAddress: string; }>; balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { assets: BigNumber; }>; convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { shares: BigNumber; }>; decimals(overrides?: CallOverrides): Promise<[number]>; deposit(assets: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { maxAssets: BigNumber; }>; maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { maxShares: BigNumber; }>; maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { maxShares: BigNumber; }>; maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { maxAssets: BigNumber; }>; mint(shares: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise<[string]>; previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { shares: BigNumber; }>; previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { assets: BigNumber; }>; previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { assets: BigNumber; }>; previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { shares: BigNumber; }>; redeem(shares: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; totalAssets(overrides?: CallOverrides): Promise<[BigNumber] & { totalManagedAssets: BigNumber; }>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer(to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(assets: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; asset(overrides?: CallOverrides): Promise; balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; deposit(assets: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; mint(shares: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; redeem(shares: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(assets: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; asset(overrides?: CallOverrides): Promise; balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; deposit(assets: PromiseOrValue, receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; mint(shares: PromiseOrValue, receiver: PromiseOrValue, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; redeem(shares: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; transferFrom(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(assets: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { 'Approval(address,address,uint256)'(owner?: PromiseOrValue | null, spender?: PromiseOrValue | null, value?: null): ApprovalEventFilter; Approval(owner?: PromiseOrValue | null, spender?: PromiseOrValue | null, value?: null): ApprovalEventFilter; 'Deposit(address,address,uint256,uint256)'(sender?: PromiseOrValue | null, owner?: PromiseOrValue | null, assets?: null, shares?: null): DepositEventFilter; Deposit(sender?: PromiseOrValue | null, owner?: PromiseOrValue | null, assets?: null, shares?: null): DepositEventFilter; 'Transfer(address,address,uint256)'(from?: PromiseOrValue | null, to?: PromiseOrValue | null, value?: null): TransferEventFilter; Transfer(from?: PromiseOrValue | null, to?: PromiseOrValue | null, value?: null): TransferEventFilter; 'Withdraw(address,address,address,uint256,uint256)'(sender?: PromiseOrValue | null, receiver?: PromiseOrValue | null, owner?: PromiseOrValue | null, assets?: null, shares?: null): WithdrawEventFilter; Withdraw(sender?: PromiseOrValue | null, receiver?: PromiseOrValue | null, owner?: PromiseOrValue | null, assets?: null, shares?: null): WithdrawEventFilter; }; estimateGas: { allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; asset(overrides?: CallOverrides): Promise; balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; deposit(assets: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; mint(shares: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; redeem(shares: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(assets: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; asset(overrides?: CallOverrides): Promise; balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; deposit(assets: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; mint(shares: PromiseOrValue, receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; redeem(shares: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(assets: PromiseOrValue, receiver: PromiseOrValue, owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }