/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils, } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export type RedeemOptsStruct = { redeemToUnderlying: boolean; transferfCash: boolean; receiver: string; maxImpliedRate: BigNumberish; }; export type RedeemOptsStructOutput = [boolean, boolean, string, number] & { redeemToUnderlying: boolean; transferfCash: boolean; receiver: string; maxImpliedRate: number; }; export interface WfCashERC4626Interface extends utils.Interface { functions: { "NotionalV2()": FunctionFragment; "WETH()": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "asset()": FunctionFragment; "authorizeOperator(address)": FunctionFragment; "balanceOf(address)": FunctionFragment; "burn(uint256,bytes)": FunctionFragment; "convertToAssets(uint256)": FunctionFragment; "convertToShares(uint256)": FunctionFragment; "decimals()": FunctionFragment; "defaultOperators()": FunctionFragment; "deposit(uint256,address)": FunctionFragment; "getAssetToken()": FunctionFragment; "getCurrencyId()": FunctionFragment; "getDecodedID()": FunctionFragment; "getMarketIndex()": FunctionFragment; "getMaturity()": FunctionFragment; "getToken(bool)": FunctionFragment; "getUnderlyingToken()": FunctionFragment; "getfCashId()": FunctionFragment; "granularity()": FunctionFragment; "hasMatured()": FunctionFragment; "initialize(uint16,uint40)": FunctionFragment; "isOperatorFor(address,address)": FunctionFragment; "maxDeposit(address)": FunctionFragment; "maxMint(address)": FunctionFragment; "maxRedeem(address)": FunctionFragment; "maxWithdraw(address)": FunctionFragment; "mint(uint256,address)": FunctionFragment; "mintViaAsset(uint256,uint88,address,uint32)": FunctionFragment; "mintViaUnderlying(uint256,uint88,address,uint32)": FunctionFragment; "name()": FunctionFragment; "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; "operatorBurn(address,uint256,bytes,bytes)": FunctionFragment; "operatorSend(address,address,uint256,bytes,bytes)": FunctionFragment; "previewDeposit(uint256)": FunctionFragment; "previewMint(uint256)": FunctionFragment; "previewRedeem(uint256)": FunctionFragment; "previewWithdraw(uint256)": FunctionFragment; "redeem(uint256,address,address)": FunctionFragment; "redeemToAsset(uint256,address,uint32)": FunctionFragment; "redeemToUnderlying(uint256,address,uint32)": FunctionFragment; "revokeOperator(address)": FunctionFragment; "send(address,uint256,bytes)": FunctionFragment; "symbol()": FunctionFragment; "totalAssets()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "withdraw(uint256,address,address)": FunctionFragment; }; encodeFunctionData( functionFragment: "NotionalV2", values?: undefined ): string; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData( functionFragment: "allowance", values: [string, string] ): string; encodeFunctionData( functionFragment: "approve", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData( functionFragment: "authorizeOperator", values: [string] ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData( functionFragment: "burn", values: [BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "convertToAssets", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "convertToShares", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData( functionFragment: "defaultOperators", values?: undefined ): string; encodeFunctionData( functionFragment: "deposit", values: [BigNumberish, string] ): string; encodeFunctionData( functionFragment: "getAssetToken", values?: undefined ): string; encodeFunctionData( functionFragment: "getCurrencyId", values?: undefined ): string; encodeFunctionData( functionFragment: "getDecodedID", values?: undefined ): string; encodeFunctionData( functionFragment: "getMarketIndex", values?: undefined ): string; encodeFunctionData( functionFragment: "getMaturity", values?: undefined ): string; encodeFunctionData(functionFragment: "getToken", values: [boolean]): string; encodeFunctionData( functionFragment: "getUnderlyingToken", values?: undefined ): string; encodeFunctionData( functionFragment: "getfCashId", values?: undefined ): string; encodeFunctionData( functionFragment: "granularity", values?: undefined ): string; encodeFunctionData( functionFragment: "hasMatured", values?: undefined ): string; encodeFunctionData( functionFragment: "initialize", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "isOperatorFor", values: [string, string] ): string; encodeFunctionData(functionFragment: "maxDeposit", values: [string]): string; encodeFunctionData(functionFragment: "maxMint", values: [string]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [string]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [string]): string; encodeFunctionData( functionFragment: "mint", values: [BigNumberish, string] ): string; encodeFunctionData( functionFragment: "mintViaAsset", values: [BigNumberish, BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "mintViaUnderlying", values: [BigNumberish, BigNumberish, string, BigNumberish] ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "onERC1155Received", values: [string, string, BigNumberish, BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "operatorBurn", values: [string, BigNumberish, BytesLike, BytesLike] ): string; encodeFunctionData( functionFragment: "operatorSend", values: [string, string, BigNumberish, BytesLike, BytesLike] ): string; encodeFunctionData( functionFragment: "previewDeposit", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "previewMint", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "previewRedeem", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "previewWithdraw", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "redeem", values: [BigNumberish, string, string] ): string; encodeFunctionData( functionFragment: "redeemToAsset", values: [BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "redeemToUnderlying", values: [BigNumberish, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "revokeOperator", values: [string] ): string; encodeFunctionData( functionFragment: "send", values: [string, BigNumberish, BytesLike] ): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( functionFragment: "totalAssets", values?: undefined ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "transfer", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "withdraw", values: [BigNumberish, string, string] ): string; decodeFunctionResult(functionFragment: "NotionalV2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "authorizeOperator", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult( functionFragment: "convertToAssets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "convertToShares", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult( functionFragment: "defaultOperators", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getAssetToken", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCurrencyId", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getDecodedID", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMarketIndex", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMaturity", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getToken", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getUnderlyingToken", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getfCashId", data: BytesLike): Result; decodeFunctionResult( functionFragment: "granularity", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "hasMatured", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult( functionFragment: "isOperatorFor", 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: "mintViaAsset", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "mintViaUnderlying", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult( functionFragment: "onERC1155Received", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "operatorBurn", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "operatorSend", 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: "redeemToAsset", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "redeemToUnderlying", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "revokeOperator", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "send", 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; "AuthorizedOperator(address,address)": EventFragment; "Burned(address,address,uint256,bytes,bytes)": EventFragment; "Deposit(address,address,uint256,uint256)": EventFragment; "Minted(address,address,uint256,bytes,bytes)": EventFragment; "RevokedOperator(address,address)": EventFragment; "Sent(address,address,address,uint256,bytes,bytes)": EventFragment; "Transfer(address,address,uint256)": EventFragment; "Withdraw(address,address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "AuthorizedOperator"): EventFragment; getEvent(nameOrSignatureOrTopic: "Burned"): EventFragment; getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; getEvent(nameOrSignatureOrTopic: "Minted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RevokedOperator"): EventFragment; getEvent(nameOrSignatureOrTopic: "Sent"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; } export type ApprovalEvent = TypedEvent< [string, string, BigNumber], { owner: string; spender: string; value: BigNumber } >; export type ApprovalEventFilter = TypedEventFilter; export type AuthorizedOperatorEvent = TypedEvent< [string, string], { operator: string; tokenHolder: string } >; export type AuthorizedOperatorEventFilter = TypedEventFilter; export type BurnedEvent = TypedEvent< [string, string, BigNumber, string, string], { operator: string; from: string; amount: BigNumber; data: string; operatorData: string; } >; export type BurnedEventFilter = TypedEventFilter; export type DepositEvent = TypedEvent< [string, string, BigNumber, BigNumber], { caller: string; owner: string; assets: BigNumber; shares: BigNumber } >; export type DepositEventFilter = TypedEventFilter; export type MintedEvent = TypedEvent< [string, string, BigNumber, string, string], { operator: string; to: string; amount: BigNumber; data: string; operatorData: string; } >; export type MintedEventFilter = TypedEventFilter; export type RevokedOperatorEvent = TypedEvent< [string, string], { operator: string; tokenHolder: string } >; export type RevokedOperatorEventFilter = TypedEventFilter; export type SentEvent = TypedEvent< [string, string, string, BigNumber, string, string], { operator: string; from: string; to: string; amount: BigNumber; data: string; operatorData: string; } >; export type SentEventFilter = TypedEventFilter; export type TransferEvent = TypedEvent< [string, string, BigNumber], { from: string; to: string; value: BigNumber } >; export type TransferEventFilter = TypedEventFilter; export type WithdrawEvent = TypedEvent< [string, string, string, BigNumber, BigNumber], { caller: string; receiver: string; owner: string; assets: BigNumber; shares: BigNumber; } >; export type WithdrawEventFilter = TypedEventFilter; export interface WfCashERC4626 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: WfCashERC4626Interface; 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: { NotionalV2(overrides?: CallOverrides): Promise<[string]>; WETH(overrides?: CallOverrides): Promise<[string]>; allowance( holder: string, spender: string, overrides?: CallOverrides ): Promise<[BigNumber]>; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; asset(overrides?: CallOverrides): Promise<[string]>; authorizeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; balanceOf( tokenHolder: string, overrides?: CallOverrides ): Promise<[BigNumber]>; burn( amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { assets: BigNumber }>; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { shares: BigNumber }>; decimals(overrides?: CallOverrides): Promise<[number]>; defaultOperators(overrides?: CallOverrides): Promise<[string[]]>; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; getAssetToken( overrides?: CallOverrides ): Promise< [string, BigNumber, number] & { assetToken: string; underlyingPrecision: BigNumber; tokenType: number; } >; getCurrencyId( overrides?: CallOverrides ): Promise<[number] & { currencyId: number }>; getDecodedID( overrides?: CallOverrides ): Promise<[number, number] & { currencyId: number; maturity: number }>; getMarketIndex(overrides?: CallOverrides): Promise<[number]>; getMaturity( overrides?: CallOverrides ): Promise<[number] & { maturity: number }>; getToken( useUnderlying: boolean, overrides?: CallOverrides ): Promise<[string, boolean] & { token: string; isETH: boolean }>; getUnderlyingToken( overrides?: CallOverrides ): Promise< [string, BigNumber] & { underlyingToken: string; underlyingPrecision: BigNumber; } >; getfCashId(overrides?: CallOverrides): Promise<[BigNumber]>; granularity(overrides?: CallOverrides): Promise<[BigNumber]>; hasMatured(overrides?: CallOverrides): Promise<[boolean]>; initialize( currencyId: BigNumberish, maturity: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isOperatorFor( operator: string, tokenHolder: string, overrides?: CallOverrides ): Promise<[boolean]>; maxDeposit(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; maxMint(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; maxRedeem(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; maxWithdraw(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaAsset( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaUnderlying( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; name(overrides?: CallOverrides): Promise<[string]>; onERC1155Received( _operator: string, _from: string, _id: BigNumberish, _value: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorBurn( account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorSend( sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { assets: BigNumber }>; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { shares: BigNumber }>; "redeem(uint256,address,address)"( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; "redeem(uint256,(bool,bool,address,uint32))"( amount: BigNumberish, opts: RedeemOptsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToAsset( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToUnderlying( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; revokeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; send( recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; totalAssets(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( holder: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; }; NotionalV2(overrides?: CallOverrides): Promise; WETH(overrides?: CallOverrides): Promise; allowance( holder: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; asset(overrides?: CallOverrides): Promise; authorizeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; balanceOf(tokenHolder: string, overrides?: CallOverrides): Promise; burn( amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; defaultOperators(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; getAssetToken( overrides?: CallOverrides ): Promise< [string, BigNumber, number] & { assetToken: string; underlyingPrecision: BigNumber; tokenType: number; } >; getCurrencyId(overrides?: CallOverrides): Promise; getDecodedID( overrides?: CallOverrides ): Promise<[number, number] & { currencyId: number; maturity: number }>; getMarketIndex(overrides?: CallOverrides): Promise; getMaturity(overrides?: CallOverrides): Promise; getToken( useUnderlying: boolean, overrides?: CallOverrides ): Promise<[string, boolean] & { token: string; isETH: boolean }>; getUnderlyingToken( overrides?: CallOverrides ): Promise< [string, BigNumber] & { underlyingToken: string; underlyingPrecision: BigNumber; } >; getfCashId(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; hasMatured(overrides?: CallOverrides): Promise; initialize( currencyId: BigNumberish, maturity: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isOperatorFor( operator: string, tokenHolder: string, overrides?: CallOverrides ): Promise; maxDeposit(arg0: string, overrides?: CallOverrides): Promise; maxMint(arg0: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaAsset( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaUnderlying( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; name(overrides?: CallOverrides): Promise; onERC1155Received( _operator: string, _from: string, _id: BigNumberish, _value: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorBurn( account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorSend( sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; "redeem(uint256,address,address)"( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; "redeem(uint256,(bool,bool,address,uint32))"( amount: BigNumberish, opts: RedeemOptsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToAsset( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToUnderlying( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; revokeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; send( recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( holder: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; callStatic: { NotionalV2(overrides?: CallOverrides): Promise; WETH(overrides?: CallOverrides): Promise; allowance( holder: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: CallOverrides ): Promise; asset(overrides?: CallOverrides): Promise; authorizeOperator( operator: string, overrides?: CallOverrides ): Promise; balanceOf( tokenHolder: string, overrides?: CallOverrides ): Promise; burn( amount: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; defaultOperators(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: CallOverrides ): Promise; getAssetToken( overrides?: CallOverrides ): Promise< [string, BigNumber, number] & { assetToken: string; underlyingPrecision: BigNumber; tokenType: number; } >; getCurrencyId(overrides?: CallOverrides): Promise; getDecodedID( overrides?: CallOverrides ): Promise<[number, number] & { currencyId: number; maturity: number }>; getMarketIndex(overrides?: CallOverrides): Promise; getMaturity(overrides?: CallOverrides): Promise; getToken( useUnderlying: boolean, overrides?: CallOverrides ): Promise<[string, boolean] & { token: string; isETH: boolean }>; getUnderlyingToken( overrides?: CallOverrides ): Promise< [string, BigNumber] & { underlyingToken: string; underlyingPrecision: BigNumber; } >; getfCashId(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; hasMatured(overrides?: CallOverrides): Promise; initialize( currencyId: BigNumberish, maturity: BigNumberish, overrides?: CallOverrides ): Promise; isOperatorFor( operator: string, tokenHolder: string, overrides?: CallOverrides ): Promise; maxDeposit(arg0: string, overrides?: CallOverrides): Promise; maxMint(arg0: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint( shares: BigNumberish, receiver: string, overrides?: CallOverrides ): Promise; mintViaAsset( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: CallOverrides ): Promise; mintViaUnderlying( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: CallOverrides ): Promise; name(overrides?: CallOverrides): Promise; onERC1155Received( _operator: string, _from: string, _id: BigNumberish, _value: BigNumberish, _data: BytesLike, overrides?: CallOverrides ): Promise; operatorBurn( account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: CallOverrides ): Promise; operatorSend( sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: CallOverrides ): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; "redeem(uint256,address,address)"( shares: BigNumberish, receiver: string, owner: string, overrides?: CallOverrides ): Promise; "redeem(uint256,(bool,bool,address,uint32))"( amount: BigNumberish, opts: RedeemOptsStruct, overrides?: CallOverrides ): Promise; redeemToAsset( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: CallOverrides ): Promise; redeemToUnderlying( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: CallOverrides ): Promise; revokeOperator(operator: string, overrides?: CallOverrides): Promise; send( recipient: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( holder: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: CallOverrides ): Promise; }; filters: { "Approval(address,address,uint256)"( owner?: string | null, spender?: string | null, value?: null ): ApprovalEventFilter; Approval( owner?: string | null, spender?: string | null, value?: null ): ApprovalEventFilter; "AuthorizedOperator(address,address)"( operator?: string | null, tokenHolder?: string | null ): AuthorizedOperatorEventFilter; AuthorizedOperator( operator?: string | null, tokenHolder?: string | null ): AuthorizedOperatorEventFilter; "Burned(address,address,uint256,bytes,bytes)"( operator?: string | null, from?: string | null, amount?: null, data?: null, operatorData?: null ): BurnedEventFilter; Burned( operator?: string | null, from?: string | null, amount?: null, data?: null, operatorData?: null ): BurnedEventFilter; "Deposit(address,address,uint256,uint256)"( caller?: string | null, owner?: string | null, assets?: null, shares?: null ): DepositEventFilter; Deposit( caller?: string | null, owner?: string | null, assets?: null, shares?: null ): DepositEventFilter; "Minted(address,address,uint256,bytes,bytes)"( operator?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null ): MintedEventFilter; Minted( operator?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null ): MintedEventFilter; "RevokedOperator(address,address)"( operator?: string | null, tokenHolder?: string | null ): RevokedOperatorEventFilter; RevokedOperator( operator?: string | null, tokenHolder?: string | null ): RevokedOperatorEventFilter; "Sent(address,address,address,uint256,bytes,bytes)"( operator?: string | null, from?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null ): SentEventFilter; Sent( operator?: string | null, from?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null ): SentEventFilter; "Transfer(address,address,uint256)"( from?: string | null, to?: string | null, value?: null ): TransferEventFilter; Transfer( from?: string | null, to?: string | null, value?: null ): TransferEventFilter; "Withdraw(address,address,address,uint256,uint256)"( caller?: string | null, receiver?: string | null, owner?: string | null, assets?: null, shares?: null ): WithdrawEventFilter; Withdraw( caller?: string | null, receiver?: string | null, owner?: string | null, assets?: null, shares?: null ): WithdrawEventFilter; }; estimateGas: { NotionalV2(overrides?: CallOverrides): Promise; WETH(overrides?: CallOverrides): Promise; allowance( holder: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; asset(overrides?: CallOverrides): Promise; authorizeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; balanceOf( tokenHolder: string, overrides?: CallOverrides ): Promise; burn( amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; defaultOperators(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; getAssetToken(overrides?: CallOverrides): Promise; getCurrencyId(overrides?: CallOverrides): Promise; getDecodedID(overrides?: CallOverrides): Promise; getMarketIndex(overrides?: CallOverrides): Promise; getMaturity(overrides?: CallOverrides): Promise; getToken( useUnderlying: boolean, overrides?: CallOverrides ): Promise; getUnderlyingToken(overrides?: CallOverrides): Promise; getfCashId(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; hasMatured(overrides?: CallOverrides): Promise; initialize( currencyId: BigNumberish, maturity: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isOperatorFor( operator: string, tokenHolder: string, overrides?: CallOverrides ): Promise; maxDeposit(arg0: string, overrides?: CallOverrides): Promise; maxMint(arg0: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaAsset( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaUnderlying( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; name(overrides?: CallOverrides): Promise; onERC1155Received( _operator: string, _from: string, _id: BigNumberish, _value: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorBurn( account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorSend( sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; "redeem(uint256,address,address)"( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; "redeem(uint256,(bool,bool,address,uint32))"( amount: BigNumberish, opts: RedeemOptsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToAsset( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToUnderlying( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; revokeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; send( recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( holder: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; }; populateTransaction: { NotionalV2(overrides?: CallOverrides): Promise; WETH(overrides?: CallOverrides): Promise; allowance( holder: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; asset(overrides?: CallOverrides): Promise; authorizeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; balanceOf( tokenHolder: string, overrides?: CallOverrides ): Promise; burn( amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; defaultOperators(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; getAssetToken(overrides?: CallOverrides): Promise; getCurrencyId(overrides?: CallOverrides): Promise; getDecodedID(overrides?: CallOverrides): Promise; getMarketIndex(overrides?: CallOverrides): Promise; getMaturity(overrides?: CallOverrides): Promise; getToken( useUnderlying: boolean, overrides?: CallOverrides ): Promise; getUnderlyingToken( overrides?: CallOverrides ): Promise; getfCashId(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; hasMatured(overrides?: CallOverrides): Promise; initialize( currencyId: BigNumberish, maturity: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isOperatorFor( operator: string, tokenHolder: string, overrides?: CallOverrides ): Promise; maxDeposit( arg0: string, overrides?: CallOverrides ): Promise; maxMint( arg0: string, overrides?: CallOverrides ): Promise; maxRedeem( owner: string, overrides?: CallOverrides ): Promise; maxWithdraw( owner: string, overrides?: CallOverrides ): Promise; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaAsset( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; mintViaUnderlying( depositAmountExternal: BigNumberish, fCashAmount: BigNumberish, receiver: string, minImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; name(overrides?: CallOverrides): Promise; onERC1155Received( _operator: string, _from: string, _id: BigNumberish, _value: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorBurn( account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; operatorSend( sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; "redeem(uint256,address,address)"( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; "redeem(uint256,(bool,bool,address,uint32))"( amount: BigNumberish, opts: RedeemOptsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToAsset( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemToUnderlying( amount: BigNumberish, receiver: string, maxImpliedRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; revokeOperator( operator: string, overrides?: Overrides & { from?: string | Promise } ): Promise; send( recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( holder: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; }; }