import { AddressLike, BaseContract, BigNumberish, BytesLike, ContractDeployTransaction, ContractFactory, ContractMethod, ContractRunner, ContractTransaction, ContractTransactionResponse, DeferredTopicFilter, EventFragment, EventLog, FunctionFragment, Interface, Listener, LogDescription, Provider, Result, Signer, TransactionRequest, Typed } from 'ethers'; import { SignerWithAddress } from 'ethers-opt'; export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter { } export interface TypedContractEvent = any, OutputTuple extends Array = any, OutputObject = any> { (...args: Partial): TypedDeferredTopicFilter>; name: string; fragment: EventFragment; getFragment(...args: Partial): EventFragment; } export type __TypechainAOutputTuple = T extends TypedContractEvent ? W : never; export type __TypechainOutputObject = T extends TypedContractEvent ? V : never; export interface TypedEventLog extends Omit { args: __TypechainAOutputTuple & __TypechainOutputObject; } export interface TypedLogDescription extends Omit { args: __TypechainAOutputTuple & __TypechainOutputObject; } export type TypedListener = (...listenerArg: [ ...__TypechainAOutputTuple, TypedEventLog, ...undefined[] ]) => void; export type StateMutability = "nonpayable" | "payable" | "view"; export type BaseOverrides = Omit; export type NonPayableOverrides = Omit; export type PayableOverrides = Omit; export type ViewOverrides = Omit; export type Overrides = S extends "nonpayable" ? NonPayableOverrides : S extends "payable" ? PayableOverrides : ViewOverrides; export type PostfixOverrides, S extends StateMutability> = A | [ ...A, Overrides ]; export type ContractMethodArgs, S extends StateMutability> = PostfixOverrides<{ [I in keyof A]-?: A[I] | Typed; }, S>; export type DefaultReturnType = R extends Array ? R[0] : R; export interface TypedContractMethod = Array, R = any, S extends StateMutability = "payable"> { (...args: ContractMethodArgs): S extends "view" ? Promise> : Promise; name: string; fragment: FunctionFragment; getFragment(...args: ContractMethodArgs): FunctionFragment; populateTransaction(...args: ContractMethodArgs): Promise; staticCall(...args: ContractMethodArgs): Promise>; send(...args: ContractMethodArgs): Promise; estimateGas(...args: ContractMethodArgs): Promise; staticCallResult(...args: ContractMethodArgs): Promise; } export interface IAccessControlInterface extends Interface { getFunction(nameOrSignature: "getRoleAdmin" | "grantRole" | "hasRole" | "renounceRole" | "revokeRole"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged" | "RoleGranted" | "RoleRevoked"): EventFragment; encodeFunctionData(functionFragment: "getRoleAdmin", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "grantRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "hasRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "renounceRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "revokeRole", values: [ BytesLike, AddressLike ]): string; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; } declare namespace RoleAdminChangedEvent { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleGrantedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleRevokedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IAccessControl extends BaseContract { connect(runner?: ContractRunner | null): IAccessControl; waitForDeployment(): Promise; interface: IAccessControlInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getRoleAdmin: TypedContractMethod<[ role: BytesLike ], [ string ], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; filters: { "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; }; } export interface OwnableInterface extends Interface { getFunction(nameOrSignature: "owner" | "renounceOwnership" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace OwnershipTransferredEvent { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface Ownable extends BaseContract { connect(runner?: ContractRunner | null): Ownable; waitForDeployment(): Promise; interface: OwnableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; owner: TypedContractMethod<[ ], [ string ], "view">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; } export interface IAccessControlEnumerableInterface extends Interface { getFunction(nameOrSignature: "getRoleAdmin" | "getRoleMember" | "getRoleMemberCount" | "grantRole" | "hasRole" | "renounceRole" | "revokeRole"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged" | "RoleGranted" | "RoleRevoked"): EventFragment; encodeFunctionData(functionFragment: "getRoleAdmin", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMember", values: [ BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "getRoleMemberCount", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "grantRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "hasRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "renounceRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "revokeRole", values: [ BytesLike, AddressLike ]): string; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMemberCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; } declare namespace RoleAdminChangedEvent$1 { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleGrantedEvent$1 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleRevokedEvent$1 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IAccessControlEnumerable extends BaseContract { connect(runner?: ContractRunner | null): IAccessControlEnumerable; waitForDeployment(): Promise; interface: IAccessControlEnumerableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getRoleAdmin: TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getRoleMember: TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getRoleMemberCount: TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMember"): TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMemberCount"): TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; filters: { "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; }; } export interface IERC1363Interface extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "approveAndCall(address,uint256)" | "approveAndCall(address,uint256,bytes)" | "balanceOf" | "supportsInterface" | "totalSupply" | "transfer" | "transferAndCall(address,uint256)" | "transferAndCall(address,uint256,bytes)" | "transferFrom" | "transferFromAndCall(address,address,uint256,bytes)" | "transferFromAndCall(address,address,uint256)"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "approveAndCall(address,uint256)", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "approveAndCall(address,uint256,bytes)", values: [ AddressLike, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferAndCall(address,uint256)", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferAndCall(address,uint256,bytes)", values: [ AddressLike, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFromAndCall(address,address,uint256,bytes)", values: [ AddressLike, AddressLike, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "transferFromAndCall(address,address,uint256)", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approveAndCall(address,uint256)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approveAndCall(address,uint256,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferAndCall(address,uint256)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferAndCall(address,uint256,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFromAndCall(address,address,uint256,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFromAndCall(address,address,uint256)", data: BytesLike): Result; } declare namespace ApprovalEvent { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC1363 extends BaseContract { connect(runner?: ContractRunner | null): IERC1363; waitForDeployment(): Promise; interface: IERC1363Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; "approveAndCall(address,uint256)": TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; "approveAndCall(address,uint256,bytes)": TypedContractMethod<[ spender: AddressLike, value: BigNumberish, data: BytesLike ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; "transferAndCall(address,uint256)": TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; "transferAndCall(address,uint256,bytes)": TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; "transferFromAndCall(address,address,uint256,bytes)": TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish, data: BytesLike ], [ boolean ], "nonpayable">; "transferFromAndCall(address,address,uint256)": TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "approveAndCall(address,uint256)"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "approveAndCall(address,uint256,bytes)"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish, data: BytesLike ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferAndCall(address,uint256)"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferAndCall(address,uint256,bytes)"): TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFromAndCall(address,address,uint256,bytes)"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish, data: BytesLike ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFromAndCall(address,address,uint256)"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IERC1967Interface extends Interface { getEvent(nameOrSignatureOrTopic: "AdminChanged" | "BeaconUpgraded" | "Upgraded"): EventFragment; } declare namespace AdminChangedEvent { type InputTuple = [ previousAdmin: AddressLike, newAdmin: AddressLike ]; type OutputTuple = [ previousAdmin: string, newAdmin: string ]; interface OutputObject { previousAdmin: string; newAdmin: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace BeaconUpgradedEvent { type InputTuple = [ beacon: AddressLike ]; type OutputTuple = [ beacon: string ]; interface OutputObject { beacon: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace UpgradedEvent { type InputTuple = [ implementation: AddressLike ]; type OutputTuple = [ implementation: string ]; interface OutputObject { implementation: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC1967 extends BaseContract { connect(runner?: ContractRunner | null): IERC1967; waitForDeployment(): Promise; interface: IERC1967Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; getEvent(key: "AdminChanged"): TypedContractEvent; getEvent(key: "BeaconUpgraded"): TypedContractEvent; getEvent(key: "Upgraded"): TypedContractEvent; filters: { "AdminChanged(address,address)": TypedContractEvent; AdminChanged: TypedContractEvent; "BeaconUpgraded(address)": TypedContractEvent; BeaconUpgraded: TypedContractEvent; "Upgraded(address)": TypedContractEvent; Upgraded: TypedContractEvent; }; } export interface IERC4626Interface extends Interface { getFunction(nameOrSignature: "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; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "convertToAssets", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "convertToShares", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "maxDeposit", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "mint", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): 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, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, AddressLike, AddressLike ]): 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; } declare namespace ApprovalEvent$1 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent { type InputTuple = [ sender: AddressLike, owner: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, owner: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; owner: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$1 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent { type InputTuple = [ sender: AddressLike, receiver: AddressLike, owner: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, owner: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; owner: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC4626 extends BaseContract { connect(runner?: ContractRunner | null): IERC4626; waitForDeployment(): Promise; interface: IERC4626Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; asset: TypedContractMethod<[ ], [ string ], "view">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; convertToAssets: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; convertToShares: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deposit: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; maxDeposit: TypedContractMethod<[ receiver: AddressLike ], [ bigint ], "view">; maxMint: TypedContractMethod<[ receiver: AddressLike ], [ bigint ], "view">; maxRedeem: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxWithdraw: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; mint: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; previewDeposit: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; previewMint: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewRedeem: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewWithdraw: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; redeem: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalAssets: TypedContractMethod<[ ], [ bigint ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToAssets"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToShares"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "maxDeposit"): TypedContractMethod<[ receiver: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxMint"): TypedContractMethod<[ receiver: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxRedeem"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxWithdraw"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "previewDeposit"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewMint"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewRedeem"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewWithdraw"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "redeem"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalAssets"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,address,uint256,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface IERC5267Interface extends Interface { getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; } declare namespace EIP712DomainChangedEvent { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC5267 extends BaseContract { connect(runner?: ContractRunner | null): IERC5267; waitForDeployment(): Promise; interface: IERC5267Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; filters: { "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; }; } export interface IERC1155ErrorsInterface extends Interface { } export interface IERC1155Errors extends BaseContract { connect(runner?: ContractRunner | null): IERC1155Errors; waitForDeployment(): Promise; interface: IERC1155ErrorsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface IERC20ErrorsInterface extends Interface { } export interface IERC20Errors extends BaseContract { connect(runner?: ContractRunner | null): IERC20Errors; waitForDeployment(): Promise; interface: IERC20ErrorsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface IERC721ErrorsInterface extends Interface { } export interface IERC721Errors extends BaseContract { connect(runner?: ContractRunner | null): IERC721Errors; waitForDeployment(): Promise; interface: IERC721ErrorsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface ClonesInterface extends Interface { } export interface Clones extends BaseContract { connect(runner?: ContractRunner | null): Clones; waitForDeployment(): Promise; interface: ClonesInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface ERC1967UtilsInterface extends Interface { } export interface ERC1967Utils extends BaseContract { connect(runner?: ContractRunner | null): ERC1967Utils; waitForDeployment(): Promise; interface: ERC1967UtilsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface ProxyInterface extends Interface { } interface Proxy$1 extends BaseContract { connect(runner?: ContractRunner | null): Proxy$1; waitForDeployment(): Promise; interface: ProxyInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface IBeaconInterface extends Interface { getFunction(nameOrSignature: "implementation"): FunctionFragment; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; } export interface IBeacon extends BaseContract { connect(runner?: ContractRunner | null): IBeacon; waitForDeployment(): Promise; interface: IBeaconInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; implementation: TypedContractMethod<[ ], [ string ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "implementation"): TypedContractMethod<[ ], [ string ], "view">; filters: {}; } export interface ERC20Interface extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$2 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$2 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20 extends BaseContract { connect(runner?: ContractRunner | null): ERC20; waitForDeployment(): Promise; interface: ERC20Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IERC20Interface extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$3 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$3 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC20 extends BaseContract { connect(runner?: ContractRunner | null): IERC20; waitForDeployment(): Promise; interface: IERC20Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface ERC20BurnableInterface extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "burn" | "burnFrom" | "decimals" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "burn", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "burnFrom", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$4 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$4 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20Burnable extends BaseContract { connect(runner?: ContractRunner | null): ERC20Burnable; waitForDeployment(): Promise; interface: ERC20BurnableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; burn: TypedContractMethod<[ value: BigNumberish ], [ void ], "nonpayable">; burnFrom: TypedContractMethod<[ account: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "burn"): TypedContractMethod<[ value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "burnFrom"): TypedContractMethod<[ account: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface ERC20PermitInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "decimals" | "eip712Domain" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$5 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$1 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$5 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20Permit extends BaseContract { connect(runner?: ContractRunner | null): ERC20Permit; waitForDeployment(): Promise; interface: ERC20PermitInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IERC20MetadataInterface extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$6 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$6 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC20Metadata extends BaseContract { connect(runner?: ContractRunner | null): IERC20Metadata; waitForDeployment(): Promise; interface: IERC20MetadataInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IERC20PermitInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "nonces" | "permit"): FunctionFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; } export interface IERC20Permit extends BaseContract { connect(runner?: ContractRunner | null): IERC20Permit; waitForDeployment(): Promise; interface: IERC20PermitInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; filters: {}; } export interface SafeERC20Interface extends Interface { } export interface SafeERC20 extends BaseContract { connect(runner?: ContractRunner | null): SafeERC20; waitForDeployment(): Promise; interface: SafeERC20Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface AddressInterface extends Interface { } export interface Address extends BaseContract { connect(runner?: ContractRunner | null): Address; waitForDeployment(): Promise; interface: AddressInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface Create2Interface extends Interface { } export interface Create2 extends BaseContract { connect(runner?: ContractRunner | null): Create2; waitForDeployment(): Promise; interface: Create2Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface ErrorsInterface extends Interface { } export interface Errors extends BaseContract { connect(runner?: ContractRunner | null): Errors; waitForDeployment(): Promise; interface: ErrorsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface NoncesInterface extends Interface { getFunction(nameOrSignature: "nonces"): FunctionFragment; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; } export interface Nonces extends BaseContract { connect(runner?: ContractRunner | null): Nonces; waitForDeployment(): Promise; interface: NoncesInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; filters: {}; } export interface ShortStringsInterface extends Interface { } export interface ShortStrings extends BaseContract { connect(runner?: ContractRunner | null): ShortStrings; waitForDeployment(): Promise; interface: ShortStringsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface StringsInterface extends Interface { } export interface Strings extends BaseContract { connect(runner?: ContractRunner | null): Strings; waitForDeployment(): Promise; interface: StringsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface ECDSAInterface extends Interface { } export interface ECDSA extends BaseContract { connect(runner?: ContractRunner | null): ECDSA; waitForDeployment(): Promise; interface: ECDSAInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface EIP712Interface extends Interface { getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; } declare namespace EIP712DomainChangedEvent$2 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface EIP712 extends BaseContract { connect(runner?: ContractRunner | null): EIP712; waitForDeployment(): Promise; interface: EIP712Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; filters: { "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; }; } export interface IERC165Interface extends Interface { getFunction(nameOrSignature: "supportsInterface"): FunctionFragment; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } export interface IERC165 extends BaseContract { connect(runner?: ContractRunner | null): IERC165; waitForDeployment(): Promise; interface: IERC165Interface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; filters: {}; } export interface SafeCastInterface extends Interface { } export interface SafeCast extends BaseContract { connect(runner?: ContractRunner | null): SafeCast; waitForDeployment(): Promise; interface: SafeCastInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface AccessControlUpgradeableInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "getRoleAdmin" | "grantRole" | "hasRole" | "renounceRole" | "revokeRole" | "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "grantRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "hasRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "renounceRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "revokeRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } declare namespace InitializedEvent { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleAdminChangedEvent$2 { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleGrantedEvent$2 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleRevokedEvent$2 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface AccessControlUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): AccessControlUpgradeable; waitForDeployment(): Promise; interface: AccessControlUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DEFAULT_ADMIN_ROLE: TypedContractMethod<[ ], [ string ], "view">; getRoleAdmin: TypedContractMethod<[ role: BytesLike ], [ string ], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; }; } export interface OwnableUpgradeableInterface extends Interface { getFunction(nameOrSignature: "owner" | "renounceOwnership" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace InitializedEvent$1 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$1 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface OwnableUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): OwnableUpgradeable; waitForDeployment(): Promise; interface: OwnableUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; owner: TypedContractMethod<[ ], [ string ], "view">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; } export interface AccessControlEnumerableUpgradeableInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "getRoleAdmin" | "getRoleMember" | "getRoleMemberCount" | "getRoleMembers" | "grantRole" | "hasRole" | "renounceRole" | "revokeRole" | "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMember", values: [ BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "getRoleMemberCount", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMembers", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "grantRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "hasRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "renounceRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "revokeRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMemberCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMembers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } declare namespace InitializedEvent$2 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleAdminChangedEvent$3 { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleGrantedEvent$3 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleRevokedEvent$3 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface AccessControlEnumerableUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): AccessControlEnumerableUpgradeable; waitForDeployment(): Promise; interface: AccessControlEnumerableUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DEFAULT_ADMIN_ROLE: TypedContractMethod<[ ], [ string ], "view">; getRoleAdmin: TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getRoleMember: TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getRoleMemberCount: TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getRoleMembers: TypedContractMethod<[ role: BytesLike ], [ string[] ], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMember"): TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMemberCount"): TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getRoleMembers"): TypedContractMethod<[ role: BytesLike ], [ string[] ], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; }; } export interface InitializableInterface extends Interface { getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; } declare namespace InitializedEvent$3 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface Initializable extends BaseContract { connect(runner?: ContractRunner | null): Initializable; waitForDeployment(): Promise; interface: InitializableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; getEvent(key: "Initialized"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; }; } export interface ERC20UpgradeableInterface extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Initialized" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$7 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$4 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$7 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20Upgradeable extends BaseContract { connect(runner?: ContractRunner | null): ERC20Upgradeable; waitForDeployment(): Promise; interface: ERC20UpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface ERC20PermitUpgradeableInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "decimals" | "eip712Domain" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "Initialized" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$8 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$3 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$5 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$8 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20PermitUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): ERC20PermitUpgradeable; waitForDeployment(): Promise; interface: ERC20PermitUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface ERC4626UpgradeableInterface extends Interface { getFunction(nameOrSignature: "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; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "Initialized" | "Transfer" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "convertToAssets", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "convertToShares", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "maxDeposit", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "mint", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): 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, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, AddressLike, AddressLike ]): 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; } declare namespace ApprovalEvent$9 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent$1 { type InputTuple = [ sender: AddressLike, owner: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, owner: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; owner: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$6 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$9 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent$1 { type InputTuple = [ sender: AddressLike, receiver: AddressLike, owner: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, owner: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; owner: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC4626Upgradeable extends BaseContract { connect(runner?: ContractRunner | null): ERC4626Upgradeable; waitForDeployment(): Promise; interface: ERC4626UpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; asset: TypedContractMethod<[ ], [ string ], "view">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; convertToAssets: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; convertToShares: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deposit: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; maxDeposit: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; maxMint: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; maxRedeem: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxWithdraw: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; mint: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; previewDeposit: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; previewMint: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewRedeem: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewWithdraw: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; redeem: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalAssets: TypedContractMethod<[ ], [ bigint ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToAssets"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToShares"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "maxDeposit"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxMint"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxRedeem"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxWithdraw"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "previewDeposit"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewMint"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewRedeem"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewWithdraw"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "redeem"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalAssets"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,address,uint256,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface ContextUpgradeableInterface extends Interface { getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; } declare namespace InitializedEvent$7 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ContextUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): ContextUpgradeable; waitForDeployment(): Promise; interface: ContextUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; getEvent(key: "Initialized"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; }; } export interface NoncesUpgradeableInterface extends Interface { getFunction(nameOrSignature: "nonces"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; } declare namespace InitializedEvent$8 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface NoncesUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): NoncesUpgradeable; waitForDeployment(): Promise; interface: NoncesUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getEvent(key: "Initialized"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; }; } export interface ReentrancyGuardUpgradeableInterface extends Interface { getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; } declare namespace InitializedEvent$9 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ReentrancyGuardUpgradeable extends BaseContract { connect(runner?: ContractRunner | null): ReentrancyGuardUpgradeable; waitForDeployment(): Promise; interface: ReentrancyGuardUpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; getEvent(key: "Initialized"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; }; } export interface EIP712UpgradeableInterface extends Interface { getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged" | "Initialized"): EventFragment; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; } declare namespace EIP712DomainChangedEvent$4 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$10 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface EIP712Upgradeable extends BaseContract { connect(runner?: ContractRunner | null): EIP712Upgradeable; waitForDeployment(): Promise; interface: EIP712UpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; filters: { "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; }; } export interface ERC165UpgradeableInterface extends Interface { getFunction(nameOrSignature: "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } declare namespace InitializedEvent$11 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC165Upgradeable extends BaseContract { connect(runner?: ContractRunner | null): ERC165Upgradeable; waitForDeployment(): Promise; interface: ERC165UpgradeableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getEvent(key: "Initialized"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; }; } export interface LockInterface extends Interface { getFunction(nameOrSignature: "owner" | "unlockTime" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Withdrawal"): EventFragment; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "unlockTime", values?: undefined): string; encodeFunctionData(functionFragment: "withdraw", values?: undefined): string; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unlockTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } declare namespace WithdrawalEvent { type InputTuple = [ amount: BigNumberish, when: BigNumberish ]; type OutputTuple = [ amount: bigint, when: bigint ]; interface OutputObject { amount: bigint; when: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } interface Lock$1 extends BaseContract { connect(runner?: ContractRunner | null): Lock$1; waitForDeployment(): Promise; interface: LockInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; owner: TypedContractMethod<[ ], [ string ], "view">; unlockTime: TypedContractMethod<[ ], [ bigint ], "view">; withdraw: TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "unlockTime"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ ], [ void ], "nonpayable">; getEvent(key: "Withdrawal"): TypedContractEvent; filters: { "Withdrawal(uint256,uint256)": TypedContractEvent; Withdrawal: TypedContractEvent; }; } export interface IDataFeedInterface extends Interface { getFunction(nameOrSignature: "asset" | "decimals" | "deploymentTimestamp" | "description" | "getAnswer" | "getRoundData" | "getTimestamp" | "getTimestampAnswer" | "initializeFeed" | "latestAnswer" | "latestRound" | "latestRoundData" | "latestTimestamp" | "setAsset" | "setDescription" | "setVersion" | "updateAnswer" | "version"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AnswerUpdated" | "NewAsset" | "NewDescription" | "NewRound"): EventFragment; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deploymentTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "description", values?: undefined): string; encodeFunctionData(functionFragment: "getAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getRoundData", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTimestamp", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTimestampAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "initializeFeed", values: [ AddressLike, AddressLike, string, BigNumberish ]): string; encodeFunctionData(functionFragment: "latestAnswer", values?: undefined): string; encodeFunctionData(functionFragment: "latestRound", values?: undefined): string; encodeFunctionData(functionFragment: "latestRoundData", values?: undefined): string; encodeFunctionData(functionFragment: "latestTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "setAsset", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setDescription", values: [ string ]): string; encodeFunctionData(functionFragment: "setVersion", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "updateAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deploymentTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "description", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoundData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimestampAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRoundData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; } declare namespace AnswerUpdatedEvent { type InputTuple = [ current: BigNumberish, roundId: BigNumberish, updatedAt: BigNumberish ]; type OutputTuple = [ current: bigint, roundId: bigint, updatedAt: bigint ]; interface OutputObject { current: bigint; roundId: bigint; updatedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewAssetEvent { type InputTuple = [ asset: AddressLike ]; type OutputTuple = [ asset: string ]; interface OutputObject { asset: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewDescriptionEvent { type InputTuple = [ description: string ]; type OutputTuple = [ description: string ]; interface OutputObject { description: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewRoundEvent { type InputTuple = [ roundId: BigNumberish, startedBy: AddressLike, startedAt: BigNumberish ]; type OutputTuple = [ roundId: bigint, startedBy: string, startedAt: bigint ]; interface OutputObject { roundId: bigint; startedBy: string; startedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IDataFeed extends BaseContract { connect(runner?: ContractRunner | null): IDataFeed; waitForDeployment(): Promise; interface: IDataFeedInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; asset: TypedContractMethod<[ ], [ string ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deploymentTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; description: TypedContractMethod<[ ], [ string ], "view">; getAnswer: TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getRoundData: TypedContractMethod<[ _roundId: BigNumberish ], [ [ bigint, bigint, bigint, bigint, bigint ] & { roundId: bigint; answer: bigint; startedAt: bigint; updatedAt: bigint; answeredInRound: bigint; } ], "view">; getTimestamp: TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getTimestampAnswer: TypedContractMethod<[ _timestamp: BigNumberish ], [ bigint ], "view">; initializeFeed: TypedContractMethod<[ _initOwner: AddressLike, _asset: AddressLike, _description: string, _initAnswer: BigNumberish ], [ void ], "nonpayable">; latestAnswer: TypedContractMethod<[ ], [ bigint ], "view">; latestRound: TypedContractMethod<[ ], [ bigint ], "view">; latestRoundData: TypedContractMethod<[ ], [ [ bigint, bigint, bigint, bigint, bigint ] ], "view">; latestTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; setAsset: TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; setDescription: TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; setVersion: TypedContractMethod<[ _version: BigNumberish ], [ void ], "nonpayable">; updateAnswer: TypedContractMethod<[ newAnswer: BigNumberish ], [ void ], "nonpayable">; version: TypedContractMethod<[ ], [ bigint ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deploymentTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "description"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getAnswer"): TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getRoundData"): TypedContractMethod<[ _roundId: BigNumberish ], [ [ bigint, bigint, bigint, bigint, bigint ] & { roundId: bigint; answer: bigint; startedAt: bigint; updatedAt: bigint; answeredInRound: bigint; } ], "view">; getFunction(nameOrSignature: "getTimestamp"): TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getTimestampAnswer"): TypedContractMethod<[ _timestamp: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "initializeFeed"): TypedContractMethod<[ _initOwner: AddressLike, _asset: AddressLike, _description: string, _initAnswer: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "latestAnswer"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRound"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRoundData"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint, bigint, bigint ] ], "view">; getFunction(nameOrSignature: "latestTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "setAsset"): TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDescription"): TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setVersion"): TypedContractMethod<[ _version: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateAnswer"): TypedContractMethod<[ newAnswer: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "version"): TypedContractMethod<[ ], [ bigint ], "view">; getEvent(key: "AnswerUpdated"): TypedContractEvent; getEvent(key: "NewAsset"): TypedContractEvent; getEvent(key: "NewDescription"): TypedContractEvent; getEvent(key: "NewRound"): TypedContractEvent; filters: { "AnswerUpdated(int256,uint256,uint256)": TypedContractEvent; AnswerUpdated: TypedContractEvent; "NewAsset(address)": TypedContractEvent; NewAsset: TypedContractEvent; "NewDescription(string)": TypedContractEvent; NewDescription: TypedContractEvent; "NewRound(uint256,address,uint256)": TypedContractEvent; NewRound: TypedContractEvent; }; } export interface IERC20ExpInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "decimals" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$10 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$10 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC20Exp extends BaseContract { connect(runner?: ContractRunner | null): IERC20Exp; waitForDeployment(): Promise; interface: IERC20ExpInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IERC20MintableInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "burn" | "burnFrom" | "decimals" | "mint" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "burn", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "burnFrom", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "mint", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$11 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$11 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC20Mintable extends BaseContract { connect(runner?: ContractRunner | null): IERC20Mintable; waitForDeployment(): Promise; interface: IERC20MintableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; burn: TypedContractMethod<[ value: BigNumberish ], [ void ], "nonpayable">; burnFrom: TypedContractMethod<[ account: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; mint: TypedContractMethod<[ to: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "burn"): TypedContractMethod<[ value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "burnFrom"): TypedContractMethod<[ account: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ to: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IERC20LockableInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "decimals" | "isLocked" | "isLockedUntil" | "lock" | "lockPermit" | "lockedBalance" | "lockedBalanceUntil" | "lockedUntil" | "name" | "nonces" | "permit" | "supportsInterface" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Lock" | "LockedBy" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "isLocked", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "isLockedUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lock", values: [ BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "lockPermit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "lockedBalance", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "lockedBalanceUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lockedUntil", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLocked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedBalanceUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$12 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockEvent { type InputTuple = [ owner: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockedByEvent { type InputTuple = [ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockBy: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockBy: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$12 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC20Lockable extends BaseContract { connect(runner?: ContractRunner | null): IERC20Lockable; waitForDeployment(): Promise; interface: IERC20LockableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; isLocked: TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; isLockedUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; lock: TypedContractMethod<[ until: BigNumberish, lockParams: BytesLike ], [ void ], "nonpayable">; lockPermit: TypedContractMethod<[ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish, deadline: BigNumberish, signature: BytesLike, lockParams: BytesLike ], [ void ], "nonpayable">; lockedBalance: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; lockedBalanceUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ bigint ], "view">; lockedUntil: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "isLocked"): TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isLockedUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "lock"): TypedContractMethod<[ until: BigNumberish, lockParams: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockPermit"): TypedContractMethod<[ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish, deadline: BigNumberish, signature: BytesLike, lockParams: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "lockedBalanceUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "lockedUntil"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Lock"): TypedContractEvent; getEvent(key: "LockedBy"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Lock(address,uint48)": TypedContractEvent; Lock: TypedContractEvent; "LockedBy(address,address,uint48)": TypedContractEvent; LockedBy: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } interface IERC4626Interface$1 extends Interface { getFunction(nameOrSignature: "allowance" | "approve" | "asset" | "balanceOf" | "convertToAssets" | "convertToShares" | "deposit" | "maxDeposit" | "maxMint" | "maxRedeem" | "maxWithdraw" | "mint" | "previewDeposit" | "previewMint" | "previewRedeem" | "previewWithdraw" | "redeem" | "totalAssets" | "totalSupply" | "transfer" | "transferFrom" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "convertToAssets", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "convertToShares", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "maxDeposit", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "mint", values: [ BigNumberish, AddressLike ]): 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, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, AddressLike, AddressLike ]): 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: "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: "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: "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; } declare namespace ApprovalEvent$13 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent$2 { type InputTuple = [ sender: AddressLike, receiver: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$13 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent$2 { type InputTuple = [ sender: AddressLike, receiver: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } interface IERC4626$1 extends BaseContract { connect(runner?: ContractRunner | null): IERC4626$1; waitForDeployment(): Promise; interface: IERC4626Interface$1; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; asset: TypedContractMethod<[ ], [ string ], "view">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; convertToAssets: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; convertToShares: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; deposit: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; maxDeposit: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxMint: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxRedeem: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxWithdraw: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; mint: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; previewDeposit: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; previewMint: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewRedeem: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewWithdraw: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; redeem: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; totalAssets: TypedContractMethod<[ ], [ bigint ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToAssets"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToShares"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "maxDeposit"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxMint"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxRedeem"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxWithdraw"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "previewDeposit"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewMint"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewRedeem"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewWithdraw"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "redeem"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "totalAssets"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,address,uint256,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdraw(address,address,uint256,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface IERC4626PoolInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "asset" | "balanceOf" | "convertToAssets" | "convertToShares" | "decimals" | "deposit" | "initializeToken" | "masterBurn" | "masterMint" | "maxDeposit" | "maxMint" | "maxRedeem" | "maxWithdraw" | "mint" | "name" | "nonces" | "permit" | "previewDeposit" | "previewMint" | "previewRedeem" | "previewWithdraw" | "redeem" | "symbol" | "totalAssets" | "totalSupply" | "transfer" | "transferFrom" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "convertToAssets", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "convertToShares", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "initializeToken", values: [ AddressLike, BigNumberish, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "masterBurn", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "masterMint", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "maxDeposit", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "mint", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, 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, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, AddressLike, AddressLike ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; 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: "initializeToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "masterBurn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "masterMint", 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: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", 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; } declare namespace ApprovalEvent$14 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent$3 { type InputTuple = [ sender: AddressLike, receiver: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$14 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent$3 { type InputTuple = [ sender: AddressLike, receiver: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC4626Pool extends BaseContract { connect(runner?: ContractRunner | null): IERC4626Pool; waitForDeployment(): Promise; interface: IERC4626PoolInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; asset: TypedContractMethod<[ ], [ string ], "view">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; convertToAssets: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; convertToShares: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deposit: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; initializeToken: TypedContractMethod<[ _masterPool: AddressLike, _pid: BigNumberish, _asset: AddressLike, _rewardToken: AddressLike ], [ void ], "nonpayable">; masterBurn: TypedContractMethod<[ from: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; masterMint: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; maxDeposit: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxMint: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxRedeem: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxWithdraw: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; mint: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; previewDeposit: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; previewMint: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewRedeem: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewWithdraw: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; redeem: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalAssets: TypedContractMethod<[ ], [ bigint ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToAssets"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToShares"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "initializeToken"): TypedContractMethod<[ _masterPool: AddressLike, _pid: BigNumberish, _asset: AddressLike, _rewardToken: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "masterBurn"): TypedContractMethod<[ from: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "masterMint"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "maxDeposit"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxMint"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxRedeem"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxWithdraw"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "previewDeposit"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewMint"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewRedeem"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewWithdraw"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "redeem"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalAssets"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,address,uint256,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdraw(address,address,uint256,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface IInitializableProxyInterface extends Interface { getFunction(nameOrSignature: "changeProxyAdmin" | "changeProxyDescription" | "implementation" | "initializeProxy" | "proxyAdmin" | "proxyDescription" | "upgradeToAndCall"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "DescriptionChanged"): EventFragment; encodeFunctionData(functionFragment: "changeProxyAdmin", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "changeProxyDescription", values: [ string ]): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "initializeProxy", values: [ string, AddressLike, AddressLike, BytesLike ]): string; encodeFunctionData(functionFragment: "proxyAdmin", values?: undefined): string; encodeFunctionData(functionFragment: "proxyDescription", values?: undefined): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [ AddressLike, BytesLike ]): string; decodeFunctionResult(functionFragment: "changeProxyAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeProxyDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxyAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxyDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; } declare namespace DescriptionChangedEvent { type InputTuple = [ description: string ]; type OutputTuple = [ description: string ]; interface OutputObject { description: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IInitializableProxy extends BaseContract { connect(runner?: ContractRunner | null): IInitializableProxy; waitForDeployment(): Promise; interface: IInitializableProxyInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; changeProxyAdmin: TypedContractMethod<[ newAdmin: AddressLike ], [ void ], "nonpayable">; changeProxyDescription: TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; implementation: TypedContractMethod<[ ], [ string ], "view">; initializeProxy: TypedContractMethod<[ _description: string, newAdmin: AddressLike, newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; proxyAdmin: TypedContractMethod<[ ], [ string ], "view">; proxyDescription: TypedContractMethod<[ ], [ string ], "view">; upgradeToAndCall: TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "changeProxyAdmin"): TypedContractMethod<[ newAdmin: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "changeProxyDescription"): TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "implementation"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "initializeProxy"): TypedContractMethod<[ _description: string, newAdmin: AddressLike, newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "proxyAdmin"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "proxyDescription"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getEvent(key: "DescriptionChanged"): TypedContractEvent; filters: { "DescriptionChanged(string)": TypedContractEvent; DescriptionChanged: TypedContractEvent; }; } export interface ILockableInterface extends Interface { getFunction(nameOrSignature: "isLocked" | "isLockedUntil" | "lock" | "lockedUntil" | "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Lock" | "LockedBy"): EventFragment; encodeFunctionData(functionFragment: "isLocked", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "isLockedUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lock", values: [ BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "lockedUntil", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; decodeFunctionResult(functionFragment: "isLocked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } declare namespace LockEvent$1 { type InputTuple = [ owner: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockedByEvent$1 { type InputTuple = [ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockBy: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockBy: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ILockable extends BaseContract { connect(runner?: ContractRunner | null): ILockable; waitForDeployment(): Promise; interface: ILockableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; isLocked: TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; isLockedUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; lock: TypedContractMethod<[ until: BigNumberish, lockParams: BytesLike ], [ void ], "nonpayable">; lockedUntil: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "isLocked"): TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isLockedUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "lock"): TypedContractMethod<[ until: BigNumberish, lockParams: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockedUntil"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getEvent(key: "Lock"): TypedContractEvent; getEvent(key: "LockedBy"): TypedContractEvent; filters: { "Lock(address,uint48)": TypedContractEvent; Lock: TypedContractEvent; "LockedBy(address,address,uint48)": TypedContractEvent; LockedBy: TypedContractEvent; }; } declare namespace IMasterChef { type PoolInfoStruct = { lpToken: AddressLike; allocPoint: BigNumberish; startTime: BigNumberish; endTime: BigNumberish; lastRewardTime: BigNumberish; accRewardsPerShare: BigNumberish; }; type PoolInfoStructOutput = [ lpToken: string, allocPoint: bigint, startTime: bigint, endTime: bigint, lastRewardTime: bigint, accRewardsPerShare: bigint ] & { lpToken: string; allocPoint: bigint; startTime: bigint; endTime: bigint; lastRewardTime: bigint; accRewardsPerShare: bigint; }; type UserInfoStruct = { amount: BigNumberish; rewardDebt: BigNumberish; }; type UserInfoStructOutput = [ amount: bigint, rewardDebt: bigint ] & { amount: bigint; rewardDebt: bigint; }; } export interface IMasterChefInterface extends Interface { getFunction(nameOrSignature: "WETH" | "add" | "deposit" | "depositPermit" | "getMultiplier" | "getPoolRewardsByTime" | "getPoolRewardsPerSec" | "getRewardsPerShare" | "hasPool" | "initializeChef" | "massUpdatePools" | "pendingRewards" | "poolId" | "poolInfo" | "poolLength" | "rewardToken" | "rewardVault" | "rewardsPerSec" | "set" | "setRewardsPerSec" | "totalAllocPoint" | "updatePool" | "userInfo" | "withdraw"): FunctionFragment; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "add", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "depositPermit", values: [ BigNumberish, BigNumberish, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "getMultiplier", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsByTime", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getRewardsPerShare", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "hasPool", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeChef", values: [ AddressLike, AddressLike, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "massUpdatePools", values?: undefined): string; encodeFunctionData(functionFragment: "pendingRewards", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "poolId", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolInfo", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "poolLength", values?: undefined): string; encodeFunctionData(functionFragment: "rewardToken", values?: undefined): string; encodeFunctionData(functionFragment: "rewardVault", values?: undefined): string; encodeFunctionData(functionFragment: "rewardsPerSec", values?: undefined): string; encodeFunctionData(functionFragment: "set", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "setRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "totalAllocPoint", values?: undefined): string; encodeFunctionData(functionFragment: "updatePool", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "userInfo", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, BigNumberish ]): string; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "add", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMultiplier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsByTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRewardsPerShare", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeChef", data: BytesLike): Result; decodeFunctionResult(functionFragment: "massUpdatePools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "set", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAllocPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } export interface IMasterChef extends BaseContract { connect(runner?: ContractRunner | null): IMasterChef; waitForDeployment(): Promise; interface: IMasterChefInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; WETH: TypedContractMethod<[ ], [ string ], "view">; add: TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; deposit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; depositPermit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getMultiplier: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsByTime: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsPerSec: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getRewardsPerShare: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; hasPool: TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; initializeChef: TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; massUpdatePools: TypedContractMethod<[ ], [ void ], "nonpayable">; pendingRewards: TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; poolId: TypedContractMethod<[ pool: AddressLike ], [ bigint ], "view">; poolInfo: TypedContractMethod<[ pid: BigNumberish ], [ IMasterChef.PoolInfoStructOutput ], "view">; poolLength: TypedContractMethod<[ ], [ bigint ], "view">; rewardToken: TypedContractMethod<[ ], [ string ], "view">; rewardVault: TypedContractMethod<[ ], [ string ], "view">; rewardsPerSec: TypedContractMethod<[ ], [ bigint ], "view">; set: TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; setRewardsPerSec: TypedContractMethod<[ _rewardPerSec: BigNumberish ], [ void ], "nonpayable">; totalAllocPoint: TypedContractMethod<[ ], [ bigint ], "view">; updatePool: TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; userInfo: TypedContractMethod<[ pid: BigNumberish, user: AddressLike ], [ IMasterChef.UserInfoStructOutput ], "view">; withdraw: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "add"): TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "depositPermit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getMultiplier"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsByTime"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsPerSec"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getRewardsPerShare"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "hasPool"): TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initializeChef"): TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "massUpdatePools"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "pendingRewards"): TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolId"): TypedContractMethod<[ pool: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolInfo"): TypedContractMethod<[ pid: BigNumberish ], [ IMasterChef.PoolInfoStructOutput ], "view">; getFunction(nameOrSignature: "poolLength"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "rewardToken"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardVault"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardsPerSec"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "set"): TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setRewardsPerSec"): TypedContractMethod<[ _rewardPerSec: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "totalAllocPoint"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "updatePool"): TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "userInfo"): TypedContractMethod<[ pid: BigNumberish, user: AddressLike ], [ IMasterChef.UserInfoStructOutput ], "view">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; filters: {}; } declare namespace IMasterChef$1 { type PoolInfoStruct = { lpToken: AddressLike; allocPoint: BigNumberish; startTime: BigNumberish; endTime: BigNumberish; lastRewardTime: BigNumberish; accRewardsPerShare: BigNumberish; }; type PoolInfoStructOutput = [ lpToken: string, allocPoint: bigint, startTime: bigint, endTime: bigint, lastRewardTime: bigint, accRewardsPerShare: bigint ] & { lpToken: string; allocPoint: bigint; startTime: bigint; endTime: bigint; lastRewardTime: bigint; accRewardsPerShare: bigint; }; type UserInfoStruct = { amount: BigNumberish; rewardDebt: BigNumberish; }; type UserInfoStructOutput = [ amount: bigint, rewardDebt: bigint ] & { amount: bigint; rewardDebt: bigint; }; } export interface IMasterPoolInterface extends Interface { getFunction(nameOrSignature: "WETH" | "add" | "deposit" | "depositPermit" | "getMultiplier" | "getPoolRewardsByTime" | "getPoolRewardsPerSec" | "getRewardsPerShare" | "halvingInterval" | "halvingRate" | "hasPool" | "hasPoolToken" | "initializeChef" | "initializePool" | "massUpdatePools" | "pendingRewards" | "poolDeposit" | "poolId" | "poolIdByTokens" | "poolInfo" | "poolLength" | "poolMint" | "poolTokenImplementation" | "poolTokens" | "poolTransfer" | "poolWithdraw" | "rewardToken" | "rewardVault" | "rewardsPerSec" | "set" | "setHalvingInterval" | "setHalvingRate" | "setRewardsPerSec" | "totalAllocPoint" | "updatePool" | "userInfo" | "withdraw"): FunctionFragment; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "add", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "depositPermit", values: [ BigNumberish, BigNumberish, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "getMultiplier", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsByTime", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getRewardsPerShare", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "halvingInterval", values?: undefined): string; encodeFunctionData(functionFragment: "halvingRate", values?: undefined): string; encodeFunctionData(functionFragment: "hasPool", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "hasPoolToken", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeChef", values: [ AddressLike, AddressLike, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "initializePool", values: [ AddressLike, AddressLike, AddressLike, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "massUpdatePools", values?: undefined): string; encodeFunctionData(functionFragment: "pendingRewards", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "poolDeposit", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "poolId", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolIdByTokens", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolInfo", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "poolLength", values?: undefined): string; encodeFunctionData(functionFragment: "poolMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolTokenImplementation", values?: undefined): string; encodeFunctionData(functionFragment: "poolTokens", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "poolTransfer", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "poolWithdraw", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "rewardToken", values?: undefined): string; encodeFunctionData(functionFragment: "rewardVault", values?: undefined): string; encodeFunctionData(functionFragment: "rewardsPerSec", values?: undefined): string; encodeFunctionData(functionFragment: "set", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "setHalvingInterval", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "setHalvingRate", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "setRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "totalAllocPoint", values?: undefined): string; encodeFunctionData(functionFragment: "updatePool", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "userInfo", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, BigNumberish ]): string; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "add", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMultiplier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsByTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRewardsPerShare", data: BytesLike): Result; decodeFunctionResult(functionFragment: "halvingInterval", data: BytesLike): Result; decodeFunctionResult(functionFragment: "halvingRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPoolToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeChef", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "massUpdatePools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolIdByTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolTokenImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolTransfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolWithdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "set", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setHalvingInterval", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setHalvingRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAllocPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } export interface IMasterPool extends BaseContract { connect(runner?: ContractRunner | null): IMasterPool; waitForDeployment(): Promise; interface: IMasterPoolInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; WETH: TypedContractMethod<[ ], [ string ], "view">; add: TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; deposit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; depositPermit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getMultiplier: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsByTime: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsPerSec: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getRewardsPerShare: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; halvingInterval: TypedContractMethod<[ ], [ bigint ], "view">; halvingRate: TypedContractMethod<[ ], [ bigint ], "view">; hasPool: TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; hasPoolToken: TypedContractMethod<[ _poolToken: AddressLike ], [ boolean ], "view">; initializeChef: TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; initializePool: TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _poolTokenImplementation: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _halvingRate: BigNumberish, _halvingInterval: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; massUpdatePools: TypedContractMethod<[ ], [ void ], "nonpayable">; pendingRewards: TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; poolDeposit: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; poolId: TypedContractMethod<[ pool: AddressLike ], [ bigint ], "view">; poolIdByTokens: TypedContractMethod<[ token: AddressLike ], [ bigint ], "view">; poolInfo: TypedContractMethod<[ pid: BigNumberish ], [ IMasterChef$1.PoolInfoStructOutput ], "view">; poolLength: TypedContractMethod<[ ], [ bigint ], "view">; poolMint: TypedContractMethod<[ _from: AddressLike ], [ void ], "nonpayable">; poolTokenImplementation: TypedContractMethod<[ ], [ string ], "view">; poolTokens: TypedContractMethod<[ pid: BigNumberish ], [ string ], "view">; poolTransfer: TypedContractMethod<[ _from: AddressLike, _to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; poolWithdraw: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; rewardToken: TypedContractMethod<[ ], [ string ], "view">; rewardVault: TypedContractMethod<[ ], [ string ], "view">; rewardsPerSec: TypedContractMethod<[ ], [ bigint ], "view">; set: TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; setHalvingInterval: TypedContractMethod<[ _halvingInterval: BigNumberish ], [ void ], "nonpayable">; setHalvingRate: TypedContractMethod<[ _halvingRate: BigNumberish ], [ void ], "nonpayable">; setRewardsPerSec: TypedContractMethod<[ _rewardPerSec: BigNumberish ], [ void ], "nonpayable">; totalAllocPoint: TypedContractMethod<[ ], [ bigint ], "view">; updatePool: TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; userInfo: TypedContractMethod<[ pid: BigNumberish, user: AddressLike ], [ IMasterChef$1.UserInfoStructOutput ], "view">; withdraw: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "add"): TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "depositPermit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getMultiplier"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsByTime"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsPerSec"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getRewardsPerShare"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "halvingInterval"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "halvingRate"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "hasPool"): TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "hasPoolToken"): TypedContractMethod<[ _poolToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initializeChef"): TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "initializePool"): TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _poolTokenImplementation: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _halvingRate: BigNumberish, _halvingInterval: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "massUpdatePools"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "pendingRewards"): TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolDeposit"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "poolId"): TypedContractMethod<[ pool: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolIdByTokens"): TypedContractMethod<[ token: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolInfo"): TypedContractMethod<[ pid: BigNumberish ], [ IMasterChef$1.PoolInfoStructOutput ], "view">; getFunction(nameOrSignature: "poolLength"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "poolMint"): TypedContractMethod<[ _from: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "poolTokenImplementation"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "poolTokens"): TypedContractMethod<[ pid: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "poolTransfer"): TypedContractMethod<[ _from: AddressLike, _to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "poolWithdraw"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "rewardToken"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardVault"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardsPerSec"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "set"): TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setHalvingInterval"): TypedContractMethod<[ _halvingInterval: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setHalvingRate"): TypedContractMethod<[ _halvingRate: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setRewardsPerSec"): TypedContractMethod<[ _rewardPerSec: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "totalAllocPoint"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "updatePool"): TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "userInfo"): TypedContractMethod<[ pid: BigNumberish, user: AddressLike ], [ IMasterChef$1.UserInfoStructOutput ], "view">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; filters: {}; } export interface IOwnableControlInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_SUBOWNER_ROLE" | "addSubowner" | "isSubowner" | "owner" | "removeSubowner" | "renounceOwnership" | "subowners" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred" | "SubownerAdded" | "SubownerRemoved"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_SUBOWNER_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "addSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "isSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removeSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "subowners", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "DEFAULT_SUBOWNER_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "subowners", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace OwnershipTransferredEvent$2 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SubownerAddedEvent { type InputTuple = [ newSubowner: AddressLike ]; type OutputTuple = [ newSubowner: string ]; interface OutputObject { newSubowner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SubownerRemovedEvent { type InputTuple = [ oldSubowner: AddressLike ]; type OutputTuple = [ oldSubowner: string ]; interface OutputObject { oldSubowner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IOwnableControl extends BaseContract { connect(runner?: ContractRunner | null): IOwnableControl; waitForDeployment(): Promise; interface: IOwnableControlInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DEFAULT_SUBOWNER_ROLE: TypedContractMethod<[ ], [ string ], "view">; addSubowner: TypedContractMethod<[ newSubowner: AddressLike ], [ void ], "nonpayable">; isSubowner: TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; owner: TypedContractMethod<[ ], [ string ], "view">; removeSubowner: TypedContractMethod<[ oldSubowner: AddressLike ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; subowners: TypedContractMethod<[ ], [ string[] ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_SUBOWNER_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "addSubowner"): TypedContractMethod<[ newSubowner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isSubowner"): TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "removeSubowner"): TypedContractMethod<[ oldSubowner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "subowners"): TypedContractMethod<[ ], [ string[] ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "SubownerAdded"): TypedContractEvent; getEvent(key: "SubownerRemoved"): TypedContractEvent; filters: { "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "SubownerAdded(address)": TypedContractEvent; SubownerAdded: TypedContractEvent; "SubownerRemoved(address)": TypedContractEvent; SubownerRemoved: TypedContractEvent; }; } export interface IRewardVaultInterface extends Interface { getFunction(nameOrSignature: "rewardPerSec" | "sendTo"): FunctionFragment; encodeFunctionData(functionFragment: "rewardPerSec", values?: undefined): string; encodeFunctionData(functionFragment: "sendTo", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "rewardPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendTo", data: BytesLike): Result; } export interface IRewardVault extends BaseContract { connect(runner?: ContractRunner | null): IRewardVault; waitForDeployment(): Promise; interface: IRewardVaultInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; rewardPerSec: TypedContractMethod<[ ], [ bigint ], "view">; sendTo: TypedContractMethod<[ token: AddressLike, to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "rewardPerSec"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "sendTo"): TypedContractMethod<[ token: AddressLike, to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; filters: {}; } export interface IUniswapV2FactoryInterface extends Interface { getFunction(nameOrSignature: "allPairs" | "allPairsLength" | "createPair" | "feeTo" | "feeToSetter" | "getPair" | "setFeeTo" | "setFeeToSetter"): FunctionFragment; encodeFunctionData(functionFragment: "allPairs", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "allPairsLength", values?: undefined): string; encodeFunctionData(functionFragment: "createPair", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "feeTo", values?: undefined): string; encodeFunctionData(functionFragment: "feeToSetter", values?: undefined): string; encodeFunctionData(functionFragment: "getPair", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "setFeeTo", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setFeeToSetter", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "allPairs", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allPairsLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createPair", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeToSetter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPair", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeeToSetter", data: BytesLike): Result; } export interface IUniswapV2Factory extends BaseContract { connect(runner?: ContractRunner | null): IUniswapV2Factory; waitForDeployment(): Promise; interface: IUniswapV2FactoryInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allPairs: TypedContractMethod<[ arg0: BigNumberish ], [ string ], "view">; allPairsLength: TypedContractMethod<[ ], [ bigint ], "view">; createPair: TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ string ], "nonpayable">; feeTo: TypedContractMethod<[ ], [ string ], "view">; feeToSetter: TypedContractMethod<[ ], [ string ], "view">; getPair: TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ string ], "view">; setFeeTo: TypedContractMethod<[ arg0: AddressLike ], [ void ], "nonpayable">; setFeeToSetter: TypedContractMethod<[ arg0: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allPairs"): TypedContractMethod<[ arg0: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "allPairsLength"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "createPair"): TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ string ], "nonpayable">; getFunction(nameOrSignature: "feeTo"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "feeToSetter"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getPair"): TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "setFeeTo"): TypedContractMethod<[ arg0: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setFeeToSetter"): TypedContractMethod<[ arg0: AddressLike ], [ void ], "nonpayable">; filters: {}; } export interface IUniswapV2PairInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "MINIMUM_LIQUIDITY" | "allowance" | "approve" | "balanceOf" | "burn" | "decimals" | "factory" | "getReserves" | "kLast" | "mint" | "name" | "nonces" | "permit" | "price0CumulativeLast" | "price1CumulativeLast" | "skim" | "swap" | "symbol" | "sync" | "token0" | "token1" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "MINIMUM_LIQUIDITY", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "burn", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "getReserves", values?: undefined): string; encodeFunctionData(functionFragment: "kLast", values?: undefined): string; encodeFunctionData(functionFragment: "mint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "price0CumulativeLast", values?: undefined): string; encodeFunctionData(functionFragment: "price1CumulativeLast", values?: undefined): string; encodeFunctionData(functionFragment: "skim", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "swap", values: [ BigNumberish, BigNumberish, AddressLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "sync", values?: undefined): string; encodeFunctionData(functionFragment: "token0", values?: undefined): string; encodeFunctionData(functionFragment: "token1", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MINIMUM_LIQUIDITY", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "kLast", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "price0CumulativeLast", data: BytesLike): Result; decodeFunctionResult(functionFragment: "price1CumulativeLast", data: BytesLike): Result; decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sync", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$15 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$15 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IUniswapV2Pair extends BaseContract { connect(runner?: ContractRunner | null): IUniswapV2Pair; waitForDeployment(): Promise; interface: IUniswapV2PairInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; MINIMUM_LIQUIDITY: TypedContractMethod<[ ], [ bigint ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; burn: TypedContractMethod<[ to: AddressLike ], [ [ bigint, bigint ] & { amount0: bigint; amount1: bigint; } ], "nonpayable">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; factory: TypedContractMethod<[ ], [ string ], "view">; getReserves: TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { reserve0: bigint; reserve1: bigint; blockTimestampLast: bigint; } ], "view">; kLast: TypedContractMethod<[ ], [ bigint ], "view">; mint: TypedContractMethod<[ to: AddressLike ], [ bigint ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; price0CumulativeLast: TypedContractMethod<[ ], [ bigint ], "view">; price1CumulativeLast: TypedContractMethod<[ ], [ bigint ], "view">; skim: TypedContractMethod<[ to: AddressLike ], [ void ], "nonpayable">; swap: TypedContractMethod<[ amount0Out: BigNumberish, amount1Out: BigNumberish, to: AddressLike, data: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; sync: TypedContractMethod<[ ], [ void ], "nonpayable">; token0: TypedContractMethod<[ ], [ string ], "view">; token1: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "MINIMUM_LIQUIDITY"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "burn"): TypedContractMethod<[ to: AddressLike ], [ [ bigint, bigint ] & { amount0: bigint; amount1: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "factory"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getReserves"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { reserve0: bigint; reserve1: bigint; blockTimestampLast: bigint; } ], "view">; getFunction(nameOrSignature: "kLast"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ to: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "price0CumulativeLast"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "price1CumulativeLast"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "skim"): TypedContractMethod<[ to: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "swap"): TypedContractMethod<[ amount0Out: BigNumberish, amount1Out: BigNumberish, to: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "sync"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "token0"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "token1"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface IV2SwapFeedInterface extends Interface { getFunction(nameOrSignature: "USD" | "V2Price" | "WETH" | "asset" | "decimals" | "deploymentTimestamp" | "description" | "ethUsdPrice" | "getAnswer" | "getLPTVL" | "getLPUSD" | "getPairByToken" | "getRoundData" | "getTimestamp" | "getTimestampAnswer" | "getTokenUSD" | "initializeFeed" | "initializeSwapFeed" | "latestAnswer" | "latestRound" | "latestRoundData" | "latestTimestamp" | "setAsset" | "setDescription" | "setVersion" | "swapFactory" | "updateAnswer" | "version" | "wethUsdPair"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AnswerUpdated" | "NewAsset" | "NewDescription" | "NewRound"): EventFragment; encodeFunctionData(functionFragment: "USD", values?: undefined): string; encodeFunctionData(functionFragment: "V2Price", values?: undefined): string; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deploymentTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "description", values?: undefined): string; encodeFunctionData(functionFragment: "ethUsdPrice", values?: undefined): string; encodeFunctionData(functionFragment: "getAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getLPTVL", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getLPUSD", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getPairByToken", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getRoundData", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTimestamp", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTimestampAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTokenUSD", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeFeed", values: [ AddressLike, AddressLike, string, BigNumberish ]): string; encodeFunctionData(functionFragment: "initializeSwapFeed", values: [ AddressLike, AddressLike, AddressLike, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "latestAnswer", values?: undefined): string; encodeFunctionData(functionFragment: "latestRound", values?: undefined): string; encodeFunctionData(functionFragment: "latestRoundData", values?: undefined): string; encodeFunctionData(functionFragment: "latestTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "setAsset", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setDescription", values: [ string ]): string; encodeFunctionData(functionFragment: "setVersion", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "swapFactory", values?: undefined): string; encodeFunctionData(functionFragment: "updateAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; encodeFunctionData(functionFragment: "wethUsdPair", values?: undefined): string; decodeFunctionResult(functionFragment: "USD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "V2Price", data: BytesLike): Result; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deploymentTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "description", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ethUsdPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLPTVL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLPUSD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPairByToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoundData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimestampAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenUSD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeSwapFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRoundData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; decodeFunctionResult(functionFragment: "wethUsdPair", data: BytesLike): Result; } declare namespace AnswerUpdatedEvent$1 { type InputTuple = [ current: BigNumberish, roundId: BigNumberish, updatedAt: BigNumberish ]; type OutputTuple = [ current: bigint, roundId: bigint, updatedAt: bigint ]; interface OutputObject { current: bigint; roundId: bigint; updatedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewAssetEvent$1 { type InputTuple = [ asset: AddressLike ]; type OutputTuple = [ asset: string ]; interface OutputObject { asset: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewDescriptionEvent$1 { type InputTuple = [ description: string ]; type OutputTuple = [ description: string ]; interface OutputObject { description: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewRoundEvent$1 { type InputTuple = [ roundId: BigNumberish, startedBy: AddressLike, startedAt: BigNumberish ]; type OutputTuple = [ roundId: bigint, startedBy: string, startedAt: bigint ]; interface OutputObject { roundId: bigint; startedBy: string; startedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IV2SwapFeed extends BaseContract { connect(runner?: ContractRunner | null): IV2SwapFeed; waitForDeployment(): Promise; interface: IV2SwapFeedInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; USD: TypedContractMethod<[ ], [ string ], "view">; V2Price: TypedContractMethod<[ ], [ bigint ], "view">; WETH: TypedContractMethod<[ ], [ string ], "view">; asset: TypedContractMethod<[ ], [ string ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deploymentTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; description: TypedContractMethod<[ ], [ string ], "view">; ethUsdPrice: TypedContractMethod<[ ], [ bigint ], "view">; getAnswer: TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getLPTVL: TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getLPUSD: TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getPairByToken: TypedContractMethod<[ baseToken: AddressLike ], [ string ], "view">; getRoundData: TypedContractMethod<[ _roundId: BigNumberish ], [ [ bigint, bigint, bigint, bigint, bigint ] & { roundId: bigint; answer: bigint; startedAt: bigint; updatedAt: bigint; answeredInRound: bigint; } ], "view">; getTimestamp: TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getTimestampAnswer: TypedContractMethod<[ _timestamp: BigNumberish ], [ bigint ], "view">; getTokenUSD: TypedContractMethod<[ baseToken: AddressLike ], [ bigint ], "view">; initializeFeed: TypedContractMethod<[ _initOwner: AddressLike, _asset: AddressLike, _description: string, _initAnswer: BigNumberish ], [ void ], "nonpayable">; initializeSwapFeed: TypedContractMethod<[ _asset: AddressLike, _feedImplementation: AddressLike, _swapFactory: AddressLike, _WETH: AddressLike, _USD: AddressLike ], [ void ], "nonpayable">; latestAnswer: TypedContractMethod<[ ], [ bigint ], "view">; latestRound: TypedContractMethod<[ ], [ bigint ], "view">; latestRoundData: TypedContractMethod<[ ], [ [ bigint, bigint, bigint, bigint, bigint ] ], "view">; latestTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; setAsset: TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; setDescription: TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; setVersion: TypedContractMethod<[ _version: BigNumberish ], [ void ], "nonpayable">; swapFactory: TypedContractMethod<[ ], [ string ], "view">; updateAnswer: TypedContractMethod<[ newAnswer: BigNumberish ], [ void ], "nonpayable">; version: TypedContractMethod<[ ], [ bigint ], "view">; wethUsdPair: TypedContractMethod<[ ], [ string ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "USD"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "V2Price"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deploymentTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "description"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "ethUsdPrice"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "getAnswer"): TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getLPTVL"): TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getLPUSD"): TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getPairByToken"): TypedContractMethod<[ baseToken: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "getRoundData"): TypedContractMethod<[ _roundId: BigNumberish ], [ [ bigint, bigint, bigint, bigint, bigint ] & { roundId: bigint; answer: bigint; startedAt: bigint; updatedAt: bigint; answeredInRound: bigint; } ], "view">; getFunction(nameOrSignature: "getTimestamp"): TypedContractMethod<[ _roundId: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getTimestampAnswer"): TypedContractMethod<[ _timestamp: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getTokenUSD"): TypedContractMethod<[ baseToken: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "initializeFeed"): TypedContractMethod<[ _initOwner: AddressLike, _asset: AddressLike, _description: string, _initAnswer: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "initializeSwapFeed"): TypedContractMethod<[ _asset: AddressLike, _feedImplementation: AddressLike, _swapFactory: AddressLike, _WETH: AddressLike, _USD: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "latestAnswer"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRound"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRoundData"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint, bigint, bigint ] ], "view">; getFunction(nameOrSignature: "latestTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "setAsset"): TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDescription"): TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setVersion"): TypedContractMethod<[ _version: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "swapFactory"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "updateAnswer"): TypedContractMethod<[ newAnswer: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "version"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "wethUsdPair"): TypedContractMethod<[ ], [ string ], "view">; getEvent(key: "AnswerUpdated"): TypedContractEvent; getEvent(key: "NewAsset"): TypedContractEvent; getEvent(key: "NewDescription"): TypedContractEvent; getEvent(key: "NewRound"): TypedContractEvent; filters: { "AnswerUpdated(int256,uint256,uint256)": TypedContractEvent; AnswerUpdated: TypedContractEvent; "NewAsset(address)": TypedContractEvent; NewAsset: TypedContractEvent; "NewDescription(string)": TypedContractEvent; NewDescription: TypedContractEvent; "NewRound(uint256,address,uint256)": TypedContractEvent; NewRound: TypedContractEvent; }; } export interface IWETHInterface extends Interface { getFunction(nameOrSignature: "deposit" | "withdraw"): FunctionFragment; encodeFunctionData(functionFragment: "deposit", values?: undefined): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish ]): string; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } export interface IWETH extends BaseContract { connect(runner?: ContractRunner | null): IWETH; waitForDeployment(): Promise; interface: IWETHInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; deposit: TypedContractMethod<[ ], [ void ], "payable">; withdraw: TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ ], [ void ], "payable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; filters: {}; } export interface LockableInterface extends Interface { getFunction(nameOrSignature: "LOCK_TYPEHASH" | "isLocked" | "isLockedUntil" | "lock" | "lockedUntil" | "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Lock" | "LockedBy"): EventFragment; encodeFunctionData(functionFragment: "LOCK_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "isLocked", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "isLockedUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lock", values: [ BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "lockedUntil", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; decodeFunctionResult(functionFragment: "LOCK_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLocked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } declare namespace LockEvent$2 { type InputTuple = [ owner: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockedByEvent$2 { type InputTuple = [ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockBy: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockBy: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface Lockable extends BaseContract { connect(runner?: ContractRunner | null): Lockable; waitForDeployment(): Promise; interface: LockableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; LOCK_TYPEHASH: TypedContractMethod<[ ], [ string ], "view">; isLocked: TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; isLockedUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; lock: TypedContractMethod<[ until: BigNumberish, arg1: BytesLike ], [ void ], "nonpayable">; lockedUntil: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "LOCK_TYPEHASH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "isLocked"): TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isLockedUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "lock"): TypedContractMethod<[ until: BigNumberish, arg1: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockedUntil"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getEvent(key: "Lock"): TypedContractEvent; getEvent(key: "LockedBy"): TypedContractEvent; filters: { "Lock(address,uint48)": TypedContractEvent; Lock: TypedContractEvent; "LockedBy(address,address,uint48)": TypedContractEvent; LockedBy: TypedContractEvent; }; } interface OwnableInterface$1 extends Interface { getFunction(nameOrSignature: "owner" | "renounceOwnership" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace InitializedEvent$12 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$3 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } interface Ownable$1 extends BaseContract { connect(runner?: ContractRunner | null): Ownable$1; waitForDeployment(): Promise; interface: OwnableInterface$1; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; owner: TypedContractMethod<[ ], [ string ], "view">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; } export interface OwnableControlInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "DEFAULT_SUBOWNER_ROLE" | "addSubowner" | "getRoleAdmin" | "getRoleMember" | "getRoleMemberCount" | "getRoleMembers" | "grantRole" | "hasRole" | "isSubowner" | "owner" | "removeSubowner" | "renounceOwnership" | "renounceRole" | "revokeRole" | "subowners" | "supportsInterface" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "OwnershipTransferred" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "SubownerAdded" | "SubownerRemoved"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "DEFAULT_SUBOWNER_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "addSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMember", values: [ BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "getRoleMemberCount", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMembers", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "grantRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "hasRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "isSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removeSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "revokeRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "subowners", values?: undefined): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DEFAULT_SUBOWNER_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMemberCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMembers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "subowners", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace InitializedEvent$13 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$4 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleAdminChangedEvent$4 { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleGrantedEvent$4 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleRevokedEvent$4 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SubownerAddedEvent$1 { type InputTuple = [ newSubowner: AddressLike ]; type OutputTuple = [ newSubowner: string ]; interface OutputObject { newSubowner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SubownerRemovedEvent$1 { type InputTuple = [ oldSubowner: AddressLike ]; type OutputTuple = [ oldSubowner: string ]; interface OutputObject { oldSubowner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface OwnableControl extends BaseContract { connect(runner?: ContractRunner | null): OwnableControl; waitForDeployment(): Promise; interface: OwnableControlInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DEFAULT_ADMIN_ROLE: TypedContractMethod<[ ], [ string ], "view">; DEFAULT_SUBOWNER_ROLE: TypedContractMethod<[ ], [ string ], "view">; addSubowner: TypedContractMethod<[ newSubowner: AddressLike ], [ void ], "nonpayable">; getRoleAdmin: TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getRoleMember: TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getRoleMemberCount: TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getRoleMembers: TypedContractMethod<[ role: BytesLike ], [ string[] ], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; isSubowner: TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; owner: TypedContractMethod<[ ], [ string ], "view">; removeSubowner: TypedContractMethod<[ oldSubowner: AddressLike ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; subowners: TypedContractMethod<[ ], [ string[] ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "DEFAULT_SUBOWNER_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "addSubowner"): TypedContractMethod<[ newSubowner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMember"): TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMemberCount"): TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getRoleMembers"): TypedContractMethod<[ role: BytesLike ], [ string[] ], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isSubowner"): TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "removeSubowner"): TypedContractMethod<[ oldSubowner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "subowners"): TypedContractMethod<[ ], [ string[] ], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; getEvent(key: "SubownerAdded"): TypedContractEvent; getEvent(key: "SubownerRemoved"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; "SubownerAdded(address)": TypedContractEvent; SubownerAdded: TypedContractEvent; "SubownerRemoved(address)": TypedContractEvent; SubownerRemoved: TypedContractEvent; }; } export interface SigLibInterface extends Interface { } export interface SigLib extends BaseContract { connect(runner?: ContractRunner | null): SigLib; waitForDeployment(): Promise; interface: SigLibInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getFunction(key: string | FunctionFragment): T; filters: {}; } export interface DataFeedInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "DEFAULT_SUBOWNER_ROLE" | "addSubowner" | "asset" | "decimals" | "deploymentTimestamp" | "description" | "getAnswer" | "getRoleAdmin" | "getRoleMember" | "getRoleMemberCount" | "getRoleMembers" | "getRoundData" | "getTimestamp" | "getTimestampAnswer" | "grantRole" | "hasRole" | "initializeFeed" | "isSubowner" | "latestAnswer" | "latestRound" | "latestRoundData" | "latestTimestamp" | "owner" | "removeSubowner" | "renounceOwnership" | "renounceRole" | "revokeRole" | "setAsset" | "setDescription" | "setVersion" | "subowners" | "supportsInterface" | "transferOwnership" | "updateAnswer" | "version"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AnswerUpdated" | "Initialized" | "NewAsset" | "NewDescription" | "NewRound" | "OwnershipTransferred" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "SubownerAdded" | "SubownerRemoved"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "DEFAULT_SUBOWNER_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "addSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deploymentTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "description", values?: undefined): string; encodeFunctionData(functionFragment: "getAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMember", values: [ BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "getRoleMemberCount", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoleMembers", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "getRoundData", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTimestamp", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getTimestampAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "grantRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "hasRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "initializeFeed", values: [ AddressLike, AddressLike, string, BigNumberish ]): string; encodeFunctionData(functionFragment: "isSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "latestAnswer", values?: undefined): string; encodeFunctionData(functionFragment: "latestRound", values?: undefined): string; encodeFunctionData(functionFragment: "latestRoundData", values?: undefined): string; encodeFunctionData(functionFragment: "latestTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removeSubowner", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "revokeRole", values: [ BytesLike, AddressLike ]): string; encodeFunctionData(functionFragment: "setAsset", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setDescription", values: [ string ]): string; encodeFunctionData(functionFragment: "setVersion", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "subowners", values?: undefined): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "updateAnswer", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DEFAULT_SUBOWNER_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deploymentTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "description", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMemberCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMembers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoundData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTimestampAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRoundData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeSubowner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "subowners", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; } declare namespace AnswerUpdatedEvent$2 { type InputTuple = [ current: BigNumberish, roundId: BigNumberish, updatedAt: BigNumberish ]; type OutputTuple = [ current: bigint, roundId: bigint, updatedAt: bigint ]; interface OutputObject { current: bigint; roundId: bigint; updatedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$14 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewAssetEvent$2 { type InputTuple = [ asset: AddressLike ]; type OutputTuple = [ asset: string ]; interface OutputObject { asset: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewDescriptionEvent$2 { type InputTuple = [ description: string ]; type OutputTuple = [ description: string ]; interface OutputObject { description: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewRoundEvent$2 { type InputTuple = [ roundId: BigNumberish, startedBy: AddressLike, startedAt: BigNumberish ]; type OutputTuple = [ roundId: bigint, startedBy: string, startedAt: bigint ]; interface OutputObject { roundId: bigint; startedBy: string; startedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$5 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleAdminChangedEvent$5 { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleGrantedEvent$5 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RoleRevokedEvent$5 { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [ role: string, account: string, sender: string ]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SubownerAddedEvent$2 { type InputTuple = [ newSubowner: AddressLike ]; type OutputTuple = [ newSubowner: string ]; interface OutputObject { newSubowner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SubownerRemovedEvent$2 { type InputTuple = [ oldSubowner: AddressLike ]; type OutputTuple = [ oldSubowner: string ]; interface OutputObject { oldSubowner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface DataFeed extends BaseContract { connect(runner?: ContractRunner | null): DataFeed; waitForDeployment(): Promise; interface: DataFeedInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DEFAULT_ADMIN_ROLE: TypedContractMethod<[ ], [ string ], "view">; DEFAULT_SUBOWNER_ROLE: TypedContractMethod<[ ], [ string ], "view">; addSubowner: TypedContractMethod<[ newSubowner: AddressLike ], [ void ], "nonpayable">; asset: TypedContractMethod<[ ], [ string ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deploymentTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; description: TypedContractMethod<[ ], [ string ], "view">; getAnswer: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; getRoleAdmin: TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getRoleMember: TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getRoleMemberCount: TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getRoleMembers: TypedContractMethod<[ role: BytesLike ], [ string[] ], "view">; getRoundData: TypedContractMethod<[ _roundId: BigNumberish ], [ [ bigint, bigint, bigint, bigint, bigint ] & { roundId: bigint; answer: bigint; startedAt: bigint; updatedAt: bigint; answeredInRound: bigint; } ], "view">; getTimestamp: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; getTimestampAnswer: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; initializeFeed: TypedContractMethod<[ _initOwner: AddressLike, _asset: AddressLike, _description: string, _initAnswer: BigNumberish ], [ void ], "nonpayable">; isSubowner: TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; latestAnswer: TypedContractMethod<[ ], [ bigint ], "view">; latestRound: TypedContractMethod<[ ], [ bigint ], "view">; latestRoundData: TypedContractMethod<[ ], [ [ bigint, bigint, bigint, bigint, bigint ] ], "view">; latestTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; owner: TypedContractMethod<[ ], [ string ], "view">; removeSubowner: TypedContractMethod<[ oldSubowner: AddressLike ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; setAsset: TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; setDescription: TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; setVersion: TypedContractMethod<[ _version: BigNumberish ], [ void ], "nonpayable">; subowners: TypedContractMethod<[ ], [ string[] ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; updateAnswer: TypedContractMethod<[ newAnswer: BigNumberish ], [ void ], "nonpayable">; version: TypedContractMethod<[ ], [ bigint ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "DEFAULT_SUBOWNER_ROLE"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "addSubowner"): TypedContractMethod<[ newSubowner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deploymentTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "description"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getAnswer"): TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[ role: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMember"): TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMemberCount"): TypedContractMethod<[ role: BytesLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getRoleMembers"): TypedContractMethod<[ role: BytesLike ], [ string[] ], "view">; getFunction(nameOrSignature: "getRoundData"): TypedContractMethod<[ _roundId: BigNumberish ], [ [ bigint, bigint, bigint, bigint, bigint ] & { roundId: bigint; answer: bigint; startedAt: bigint; updatedAt: bigint; answeredInRound: bigint; } ], "view">; getFunction(nameOrSignature: "getTimestamp"): TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getTimestampAnswer"): TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initializeFeed"): TypedContractMethod<[ _initOwner: AddressLike, _asset: AddressLike, _description: string, _initAnswer: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isSubowner"): TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "latestAnswer"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRound"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRoundData"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint, bigint, bigint ] ], "view">; getFunction(nameOrSignature: "latestTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "removeSubowner"): TypedContractMethod<[ oldSubowner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setAsset"): TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDescription"): TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setVersion"): TypedContractMethod<[ _version: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "subowners"): TypedContractMethod<[ ], [ string[] ], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateAnswer"): TypedContractMethod<[ newAnswer: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "version"): TypedContractMethod<[ ], [ bigint ], "view">; getEvent(key: "AnswerUpdated"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "NewAsset"): TypedContractEvent; getEvent(key: "NewDescription"): TypedContractEvent; getEvent(key: "NewRound"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; getEvent(key: "SubownerAdded"): TypedContractEvent; getEvent(key: "SubownerRemoved"): TypedContractEvent; filters: { "AnswerUpdated(int256,uint256,uint256)": TypedContractEvent; AnswerUpdated: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "NewAsset(address)": TypedContractEvent; NewAsset: TypedContractEvent; "NewDescription(string)": TypedContractEvent; NewDescription: TypedContractEvent; "NewRound(uint256,address,uint256)": TypedContractEvent; NewRound: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; "SubownerAdded(address)": TypedContractEvent; SubownerAdded: TypedContractEvent; "SubownerRemoved(address)": TypedContractEvent; SubownerRemoved: TypedContractEvent; }; } export interface V2SwapFeedInterface extends Interface { getFunction(nameOrSignature: "USD" | "V2Price" | "WETH" | "asset" | "decimals" | "deploymentTimestamp" | "description" | "ethUsdPrice" | "feedImplementation" | "getLPTVL" | "getLPUSD" | "getPairByToken" | "getTokenUSD" | "initializeSwapFeed" | "latestAnswer" | "latestRound" | "latestTimestamp" | "swapFactory" | "version" | "wethUsdPair"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AnswerUpdated" | "Initialized" | "NewAsset" | "NewDescription" | "NewRound"): EventFragment; encodeFunctionData(functionFragment: "USD", values?: undefined): string; encodeFunctionData(functionFragment: "V2Price", values?: undefined): string; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deploymentTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "description", values?: undefined): string; encodeFunctionData(functionFragment: "ethUsdPrice", values?: undefined): string; encodeFunctionData(functionFragment: "feedImplementation", values?: undefined): string; encodeFunctionData(functionFragment: "getLPTVL", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getLPUSD", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getPairByToken", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "getTokenUSD", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeSwapFeed", values: [ AddressLike, AddressLike, AddressLike, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "latestAnswer", values?: undefined): string; encodeFunctionData(functionFragment: "latestRound", values?: undefined): string; encodeFunctionData(functionFragment: "latestTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "swapFactory", values?: undefined): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; encodeFunctionData(functionFragment: "wethUsdPair", values?: undefined): string; decodeFunctionResult(functionFragment: "USD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "V2Price", data: BytesLike): Result; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deploymentTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "description", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ethUsdPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feedImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLPTVL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLPUSD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPairByToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenUSD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeSwapFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestRound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; decodeFunctionResult(functionFragment: "wethUsdPair", data: BytesLike): Result; } declare namespace AnswerUpdatedEvent$3 { type InputTuple = [ current: BigNumberish, roundId: BigNumberish, updatedAt: BigNumberish ]; type OutputTuple = [ current: bigint, roundId: bigint, updatedAt: bigint ]; interface OutputObject { current: bigint; roundId: bigint; updatedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$15 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewAssetEvent$3 { type InputTuple = [ asset: AddressLike ]; type OutputTuple = [ asset: string ]; interface OutputObject { asset: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewDescriptionEvent$3 { type InputTuple = [ description: string ]; type OutputTuple = [ description: string ]; interface OutputObject { description: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace NewRoundEvent$3 { type InputTuple = [ roundId: BigNumberish, startedBy: AddressLike, startedAt: BigNumberish ]; type OutputTuple = [ roundId: bigint, startedBy: string, startedAt: bigint ]; interface OutputObject { roundId: bigint; startedBy: string; startedAt: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface V2SwapFeed extends BaseContract { connect(runner?: ContractRunner | null): V2SwapFeed; waitForDeployment(): Promise; interface: V2SwapFeedInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; USD: TypedContractMethod<[ ], [ string ], "view">; V2Price: TypedContractMethod<[ ], [ bigint ], "view">; WETH: TypedContractMethod<[ ], [ string ], "view">; asset: TypedContractMethod<[ ], [ string ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deploymentTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; description: TypedContractMethod<[ ], [ string ], "view">; ethUsdPrice: TypedContractMethod<[ ], [ bigint ], "view">; feedImplementation: TypedContractMethod<[ ], [ string ], "view">; getLPTVL: TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getLPUSD: TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getPairByToken: TypedContractMethod<[ baseToken: AddressLike ], [ string ], "view">; getTokenUSD: TypedContractMethod<[ baseToken: AddressLike ], [ bigint ], "view">; initializeSwapFeed: TypedContractMethod<[ _asset: AddressLike, _feedImplementation: AddressLike, _swapFactory: AddressLike, _WETH: AddressLike, _USD: AddressLike ], [ void ], "nonpayable">; latestAnswer: TypedContractMethod<[ ], [ bigint ], "view">; latestRound: TypedContractMethod<[ ], [ bigint ], "view">; latestTimestamp: TypedContractMethod<[ ], [ bigint ], "view">; swapFactory: TypedContractMethod<[ ], [ string ], "view">; version: TypedContractMethod<[ ], [ bigint ], "view">; wethUsdPair: TypedContractMethod<[ ], [ string ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "USD"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "V2Price"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deploymentTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "description"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "ethUsdPrice"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "feedImplementation"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "getLPTVL"): TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getLPUSD"): TypedContractMethod<[ _pair: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getPairByToken"): TypedContractMethod<[ baseToken: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "getTokenUSD"): TypedContractMethod<[ baseToken: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "initializeSwapFeed"): TypedContractMethod<[ _asset: AddressLike, _feedImplementation: AddressLike, _swapFactory: AddressLike, _WETH: AddressLike, _USD: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "latestAnswer"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestRound"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "latestTimestamp"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "swapFactory"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "version"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "wethUsdPair"): TypedContractMethod<[ ], [ string ], "view">; getEvent(key: "AnswerUpdated"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "NewAsset"): TypedContractEvent; getEvent(key: "NewDescription"): TypedContractEvent; getEvent(key: "NewRound"): TypedContractEvent; filters: { "AnswerUpdated(int256,uint256,uint256)": TypedContractEvent; AnswerUpdated: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "NewAsset(address)": TypedContractEvent; NewAsset: TypedContractEvent; "NewDescription(string)": TypedContractEvent; NewDescription: TypedContractEvent; "NewRound(uint256,address,uint256)": TypedContractEvent; NewRound: TypedContractEvent; }; } export interface V2SwapFeedFactoryInterface extends Interface { getFunction(nameOrSignature: "USD" | "WETH" | "createFeed" | "feedImplementation" | "feeds" | "initializeFactory" | "latestAnswer" | "owner" | "phaseId" | "renounceOwnership" | "setFeedImplementation" | "setSwapFactory" | "setUSD" | "setWETH" | "swapFactory" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "FeedConfirmed" | "FeedProposed" | "Initialized" | "OwnershipTransferred" | "SetFeedImplementation" | "SetSwapFactory" | "SetUSD" | "SetWETH"): EventFragment; encodeFunctionData(functionFragment: "USD", values?: undefined): string; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "createFeed", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "feedImplementation", values?: undefined): string; encodeFunctionData(functionFragment: "feeds", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeFactory", values: [ AddressLike, AddressLike, AddressLike, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "latestAnswer", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "phaseId", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setFeedImplementation", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setSwapFactory", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setUSD", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "setWETH", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "swapFactory", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "USD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feedImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "latestAnswer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "phaseId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeedImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSwapFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUSD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setWETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace FeedConfirmedEvent { type InputTuple = [ asset: AddressLike, denomination: AddressLike, latestAggregator: AddressLike, previousAggregator: AddressLike, nextPhaseId: BigNumberish, sender: AddressLike ]; type OutputTuple = [ asset: string, denomination: string, latestAggregator: string, previousAggregator: string, nextPhaseId: bigint, sender: string ]; interface OutputObject { asset: string; denomination: string; latestAggregator: string; previousAggregator: string; nextPhaseId: bigint; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace FeedProposedEvent { type InputTuple = [ asset: AddressLike, denomination: AddressLike, proposedAggregator: AddressLike, currentAggregator: AddressLike, sender: AddressLike ]; type OutputTuple = [ asset: string, denomination: string, proposedAggregator: string, currentAggregator: string, sender: string ]; interface OutputObject { asset: string; denomination: string; proposedAggregator: string; currentAggregator: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$16 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$6 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetFeedImplementationEvent { type InputTuple = [ feedImplementation: AddressLike ]; type OutputTuple = [ feedImplementation: string ]; interface OutputObject { feedImplementation: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetSwapFactoryEvent { type InputTuple = [ factory: AddressLike ]; type OutputTuple = [ factory: string ]; interface OutputObject { factory: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetUSDEvent { type InputTuple = [ usd: AddressLike ]; type OutputTuple = [ usd: string ]; interface OutputObject { usd: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetWETHEvent { type InputTuple = [ weth: AddressLike ]; type OutputTuple = [ weth: string ]; interface OutputObject { weth: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface V2SwapFeedFactory extends BaseContract { connect(runner?: ContractRunner | null): V2SwapFeedFactory; waitForDeployment(): Promise; interface: V2SwapFeedFactoryInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; USD: TypedContractMethod<[ ], [ string ], "view">; WETH: TypedContractMethod<[ ], [ string ], "view">; createFeed: TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; feedImplementation: TypedContractMethod<[ ], [ string ], "view">; feeds: TypedContractMethod<[ arg0: AddressLike ], [ string ], "view">; initializeFactory: TypedContractMethod<[ _initOwner: AddressLike, _feedImplementation: AddressLike, _swapFactory: AddressLike, _WETH: AddressLike, _USD: AddressLike ], [ void ], "nonpayable">; latestAnswer: TypedContractMethod<[ _asset: AddressLike ], [ bigint ], "view">; owner: TypedContractMethod<[ ], [ string ], "view">; phaseId: TypedContractMethod<[ ], [ bigint ], "view">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; setFeedImplementation: TypedContractMethod<[ _feedImplementation: AddressLike ], [ void ], "nonpayable">; setSwapFactory: TypedContractMethod<[ _swapFactory: AddressLike ], [ void ], "nonpayable">; setUSD: TypedContractMethod<[ _USD: AddressLike ], [ void ], "nonpayable">; setWETH: TypedContractMethod<[ _WETH: AddressLike ], [ void ], "nonpayable">; swapFactory: TypedContractMethod<[ ], [ string ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "USD"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "createFeed"): TypedContractMethod<[ _asset: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "feedImplementation"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "feeds"): TypedContractMethod<[ arg0: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "initializeFactory"): TypedContractMethod<[ _initOwner: AddressLike, _feedImplementation: AddressLike, _swapFactory: AddressLike, _WETH: AddressLike, _USD: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "latestAnswer"): TypedContractMethod<[ _asset: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "phaseId"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setFeedImplementation"): TypedContractMethod<[ _feedImplementation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setSwapFactory"): TypedContractMethod<[ _swapFactory: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setUSD"): TypedContractMethod<[ _USD: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setWETH"): TypedContractMethod<[ _WETH: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "swapFactory"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "FeedConfirmed"): TypedContractEvent; getEvent(key: "FeedProposed"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "SetFeedImplementation"): TypedContractEvent; getEvent(key: "SetSwapFactory"): TypedContractEvent; getEvent(key: "SetUSD"): TypedContractEvent; getEvent(key: "SetWETH"): TypedContractEvent; filters: { "FeedConfirmed(address,address,address,address,uint16,address)": TypedContractEvent; FeedConfirmed: TypedContractEvent; "FeedProposed(address,address,address,address,address)": TypedContractEvent; FeedProposed: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "SetFeedImplementation(address)": TypedContractEvent; SetFeedImplementation: TypedContractEvent; "SetSwapFactory(address)": TypedContractEvent; SetSwapFactory: TypedContractEvent; "SetUSD(address)": TypedContractEvent; SetUSD: TypedContractEvent; "SetWETH(address)": TypedContractEvent; SetWETH: TypedContractEvent; }; } export interface MasterChefInterface extends Interface { getFunction(nameOrSignature: "WETH" | "add" | "deposit" | "depositPermit" | "getMultiplier" | "getPoolRewardsByTime" | "getPoolRewardsPerSec" | "getRewardsPerShare" | "hasPool" | "initializeChef" | "massUpdatePools" | "owner" | "pendingRewards" | "poolId" | "poolInfo" | "poolLength" | "renounceOwnership" | "rewardToken" | "rewardVault" | "rewardsPerSec" | "set" | "setRewardsPerSec" | "totalAllocPoint" | "transferOwnership" | "updatePool" | "userInfo" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Deposit" | "Initialized" | "InitializedChef" | "OwnershipTransferred" | "SetPool" | "SetRewards" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "add", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "depositPermit", values: [ BigNumberish, BigNumberish, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "getMultiplier", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsByTime", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getRewardsPerShare", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "hasPool", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeChef", values: [ AddressLike, AddressLike, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "massUpdatePools", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pendingRewards", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "poolId", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolInfo", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "poolLength", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "rewardToken", values?: undefined): string; encodeFunctionData(functionFragment: "rewardVault", values?: undefined): string; encodeFunctionData(functionFragment: "rewardsPerSec", values?: undefined): string; encodeFunctionData(functionFragment: "set", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "setRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "totalAllocPoint", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "updatePool", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "userInfo", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, BigNumberish ]): string; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "add", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMultiplier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsByTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRewardsPerShare", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeChef", data: BytesLike): Result; decodeFunctionResult(functionFragment: "massUpdatePools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "set", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAllocPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } declare namespace DepositEvent$4 { type InputTuple = [ user: AddressLike, pid: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ user: string, pid: bigint, amount: bigint ]; interface OutputObject { user: string; pid: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$17 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedChefEvent { type InputTuple = [ WETH: AddressLike, rewardToken: AddressLike, rewardVault: AddressLike ]; type OutputTuple = [ WETH: string, rewardToken: string, rewardVault: string ]; interface OutputObject { WETH: string; rewardToken: string; rewardVault: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$7 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetPoolEvent { type InputTuple = [ pid: BigNumberish, lpToken: AddressLike, newAllocPoint: BigNumberish, startTime: BigNumberish, endTime: BigNumberish ]; type OutputTuple = [ pid: bigint, lpToken: string, newAllocPoint: bigint, startTime: bigint, endTime: bigint ]; interface OutputObject { pid: bigint; lpToken: string; newAllocPoint: bigint; startTime: bigint; endTime: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetRewardsEvent { type InputTuple = [ rewardsPerSec: BigNumberish ]; type OutputTuple = [ rewardsPerSec: bigint ]; interface OutputObject { rewardsPerSec: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent$4 { type InputTuple = [ user: AddressLike, pid: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ user: string, pid: bigint, amount: bigint ]; interface OutputObject { user: string; pid: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface MasterChef extends BaseContract { connect(runner?: ContractRunner | null): MasterChef; waitForDeployment(): Promise; interface: MasterChefInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; WETH: TypedContractMethod<[ ], [ string ], "view">; add: TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; deposit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; depositPermit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getMultiplier: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsByTime: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsPerSec: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getRewardsPerShare: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; hasPool: TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; initializeChef: TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; massUpdatePools: TypedContractMethod<[ ], [ void ], "nonpayable">; owner: TypedContractMethod<[ ], [ string ], "view">; pendingRewards: TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; poolId: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; poolInfo: TypedContractMethod<[ arg0: BigNumberish ], [ [ string, bigint, bigint, bigint, bigint, bigint ] & { lpToken: string; allocPoint: bigint; startTime: bigint; endTime: bigint; lastRewardTime: bigint; accRewardsPerShare: bigint; } ], "view">; poolLength: TypedContractMethod<[ ], [ bigint ], "view">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; rewardToken: TypedContractMethod<[ ], [ string ], "view">; rewardVault: TypedContractMethod<[ ], [ string ], "view">; rewardsPerSec: TypedContractMethod<[ ], [ bigint ], "view">; set: TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; setRewardsPerSec: TypedContractMethod<[ _rewardsPerSec: BigNumberish ], [ void ], "nonpayable">; totalAllocPoint: TypedContractMethod<[ ], [ bigint ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; updatePool: TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; userInfo: TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [ bigint, bigint ] & { amount: bigint; rewardDebt: bigint; } ], "view">; withdraw: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "add"): TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "depositPermit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getMultiplier"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsByTime"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsPerSec"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getRewardsPerShare"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "hasPool"): TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initializeChef"): TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "massUpdatePools"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "pendingRewards"): TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolId"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolInfo"): TypedContractMethod<[ arg0: BigNumberish ], [ [ string, bigint, bigint, bigint, bigint, bigint ] & { lpToken: string; allocPoint: bigint; startTime: bigint; endTime: bigint; lastRewardTime: bigint; accRewardsPerShare: bigint; } ], "view">; getFunction(nameOrSignature: "poolLength"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "rewardToken"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardVault"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardsPerSec"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "set"): TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setRewardsPerSec"): TypedContractMethod<[ _rewardsPerSec: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "totalAllocPoint"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updatePool"): TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "userInfo"): TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [ bigint, bigint ] & { amount: bigint; rewardDebt: bigint; } ], "view">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "InitializedChef"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "SetPool"): TypedContractEvent; getEvent(key: "SetRewards"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Deposit(address,uint16,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "InitializedChef(address,address,address)": TypedContractEvent; InitializedChef: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "SetPool(uint16,address,uint32,uint48,uint48)": TypedContractEvent; SetPool: TypedContractEvent; "SetRewards(uint256)": TypedContractEvent; SetRewards: TypedContractEvent; "Withdraw(address,uint16,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface MasterPoolInterface extends Interface { getFunction(nameOrSignature: "WETH" | "add" | "deposit" | "depositPermit" | "getMultiplier" | "getPoolRewardsByTime" | "getPoolRewardsPerSec" | "getRewardsPerShare" | "halvingInterval" | "halvingRate" | "hasPool" | "hasPoolToken" | "initializeChef" | "initializePool" | "massUpdatePools" | "owner" | "pendingRewards" | "poolDeposit" | "poolId" | "poolIdByTokens" | "poolInfo" | "poolLength" | "poolMint" | "poolTokenImplementation" | "poolTokens" | "poolTransfer" | "poolWithdraw" | "renounceOwnership" | "rewardToken" | "rewardVault" | "rewardsPerSec" | "set" | "setHalvingInterval" | "setHalvingRate" | "setRewardsPerSec" | "totalAllocPoint" | "transferOwnership" | "updatePool" | "userInfo" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Deposit" | "Initialized" | "InitializedChef" | "OwnershipTransferred" | "SetHalvingInterval" | "SetHalvingRate" | "SetPool" | "SetPoolToken" | "SetRewards" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData(functionFragment: "add", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "depositPermit", values: [ BigNumberish, BigNumberish, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "getMultiplier", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsByTime", values: [ BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "getPoolRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "getRewardsPerShare", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "halvingInterval", values?: undefined): string; encodeFunctionData(functionFragment: "halvingRate", values?: undefined): string; encodeFunctionData(functionFragment: "hasPool", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "hasPoolToken", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeChef", values: [ AddressLike, AddressLike, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "initializePool", values: [ AddressLike, AddressLike, AddressLike, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "massUpdatePools", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pendingRewards", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "poolDeposit", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "poolId", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolIdByTokens", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolInfo", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "poolLength", values?: undefined): string; encodeFunctionData(functionFragment: "poolMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "poolTokenImplementation", values?: undefined): string; encodeFunctionData(functionFragment: "poolTokens", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "poolTransfer", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "poolWithdraw", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "rewardToken", values?: undefined): string; encodeFunctionData(functionFragment: "rewardVault", values?: undefined): string; encodeFunctionData(functionFragment: "rewardsPerSec", values?: undefined): string; encodeFunctionData(functionFragment: "set", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "setHalvingInterval", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "setHalvingRate", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "setRewardsPerSec", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "totalAllocPoint", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "updatePool", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "userInfo", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, BigNumberish ]): string; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "add", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMultiplier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsByTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRewardsPerShare", data: BytesLike): Result; decodeFunctionResult(functionFragment: "halvingInterval", data: BytesLike): Result; decodeFunctionResult(functionFragment: "halvingRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPoolToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeChef", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "massUpdatePools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolIdByTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolTokenImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolTransfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolWithdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "set", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setHalvingInterval", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setHalvingRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRewardsPerSec", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAllocPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } declare namespace DepositEvent$5 { type InputTuple = [ user: AddressLike, pid: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ user: string, pid: bigint, amount: bigint ]; interface OutputObject { user: string; pid: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$18 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedChefEvent$1 { type InputTuple = [ WETH: AddressLike, rewardToken: AddressLike, rewardVault: AddressLike ]; type OutputTuple = [ WETH: string, rewardToken: string, rewardVault: string ]; interface OutputObject { WETH: string; rewardToken: string; rewardVault: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$8 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetHalvingIntervalEvent { type InputTuple = [ halvingInterval: BigNumberish ]; type OutputTuple = [ halvingInterval: bigint ]; interface OutputObject { halvingInterval: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetHalvingRateEvent { type InputTuple = [ halvingRate: BigNumberish ]; type OutputTuple = [ halvingRate: bigint ]; interface OutputObject { halvingRate: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetPoolEvent$1 { type InputTuple = [ pid: BigNumberish, lpToken: AddressLike, newAllocPoint: BigNumberish, startTime: BigNumberish, endTime: BigNumberish ]; type OutputTuple = [ pid: bigint, lpToken: string, newAllocPoint: bigint, startTime: bigint, endTime: bigint ]; interface OutputObject { pid: bigint; lpToken: string; newAllocPoint: bigint; startTime: bigint; endTime: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetPoolTokenEvent { type InputTuple = [ pid: BigNumberish, poolToken: AddressLike ]; type OutputTuple = [ pid: bigint, poolToken: string ]; interface OutputObject { pid: bigint; poolToken: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace SetRewardsEvent$1 { type InputTuple = [ rewardsPerSec: BigNumberish ]; type OutputTuple = [ rewardsPerSec: bigint ]; interface OutputObject { rewardsPerSec: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent$5 { type InputTuple = [ user: AddressLike, pid: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ user: string, pid: bigint, amount: bigint ]; interface OutputObject { user: string; pid: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface MasterPool extends BaseContract { connect(runner?: ContractRunner | null): MasterPool; waitForDeployment(): Promise; interface: MasterPoolInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; WETH: TypedContractMethod<[ ], [ string ], "view">; add: TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; deposit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; depositPermit: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getMultiplier: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsByTime: TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getPoolRewardsPerSec: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getRewardsPerShare: TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; halvingInterval: TypedContractMethod<[ ], [ bigint ], "view">; halvingRate: TypedContractMethod<[ ], [ bigint ], "view">; hasPool: TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; hasPoolToken: TypedContractMethod<[ _poolToken: AddressLike ], [ boolean ], "view">; initializeChef: TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; initializePool: TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _poolTokenImplementation: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _halvingRate: BigNumberish, _halvingInterval: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; massUpdatePools: TypedContractMethod<[ ], [ void ], "nonpayable">; owner: TypedContractMethod<[ ], [ string ], "view">; pendingRewards: TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; poolDeposit: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; poolId: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; poolIdByTokens: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; poolInfo: TypedContractMethod<[ arg0: BigNumberish ], [ [ string, bigint, bigint, bigint, bigint, bigint ] & { lpToken: string; allocPoint: bigint; startTime: bigint; endTime: bigint; lastRewardTime: bigint; accRewardsPerShare: bigint; } ], "view">; poolLength: TypedContractMethod<[ ], [ bigint ], "view">; poolMint: TypedContractMethod<[ from: AddressLike ], [ void ], "nonpayable">; poolTokenImplementation: TypedContractMethod<[ ], [ string ], "view">; poolTokens: TypedContractMethod<[ arg0: BigNumberish ], [ string ], "view">; poolTransfer: TypedContractMethod<[ _from: AddressLike, _to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; poolWithdraw: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; rewardToken: TypedContractMethod<[ ], [ string ], "view">; rewardVault: TypedContractMethod<[ ], [ string ], "view">; rewardsPerSec: TypedContractMethod<[ ], [ bigint ], "view">; set: TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; setHalvingInterval: TypedContractMethod<[ _halvingInterval: BigNumberish ], [ void ], "nonpayable">; setHalvingRate: TypedContractMethod<[ _halvingRate: BigNumberish ], [ void ], "nonpayable">; setRewardsPerSec: TypedContractMethod<[ _rewardsPerSec: BigNumberish ], [ void ], "nonpayable">; totalAllocPoint: TypedContractMethod<[ ], [ bigint ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; updatePool: TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; userInfo: TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [ bigint, bigint ] & { amount: bigint; rewardDebt: bigint; } ], "view">; withdraw: TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "add"): TypedContractMethod<[ _lpToken: AddressLike, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "depositPermit"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish, _deadline: BigNumberish, _signature: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getMultiplier"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsByTime"): TypedContractMethod<[ _pid: BigNumberish, _fromTime: BigNumberish, _toTime: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getPoolRewardsPerSec"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getRewardsPerShare"): TypedContractMethod<[ _pid: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "halvingInterval"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "halvingRate"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "hasPool"): TypedContractMethod<[ _lpToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "hasPoolToken"): TypedContractMethod<[ _poolToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initializeChef"): TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "initializePool"): TypedContractMethod<[ _owner: AddressLike, _WETH: AddressLike, _poolTokenImplementation: AddressLike, _rewardToken: AddressLike, _rewardVault: AddressLike, _rewardsPerSec: BigNumberish, _halvingRate: BigNumberish, _halvingInterval: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, addPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "massUpdatePools"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "pendingRewards"): TypedContractMethod<[ _pid: BigNumberish, _user: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolDeposit"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "poolId"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolIdByTokens"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "poolInfo"): TypedContractMethod<[ arg0: BigNumberish ], [ [ string, bigint, bigint, bigint, bigint, bigint ] & { lpToken: string; allocPoint: bigint; startTime: bigint; endTime: bigint; lastRewardTime: bigint; accRewardsPerShare: bigint; } ], "view">; getFunction(nameOrSignature: "poolLength"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "poolMint"): TypedContractMethod<[ from: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "poolTokenImplementation"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "poolTokens"): TypedContractMethod<[ arg0: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "poolTransfer"): TypedContractMethod<[ _from: AddressLike, _to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "poolWithdraw"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "rewardToken"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardVault"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "rewardsPerSec"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "set"): TypedContractMethod<[ _pid: BigNumberish, _allocPoint: BigNumberish, _startTime: BigNumberish, _endTime: BigNumberish, _withUpdate: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setHalvingInterval"): TypedContractMethod<[ _halvingInterval: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setHalvingRate"): TypedContractMethod<[ _halvingRate: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setRewardsPerSec"): TypedContractMethod<[ _rewardsPerSec: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "totalAllocPoint"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updatePool"): TypedContractMethod<[ _pid: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "userInfo"): TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [ bigint, bigint ] & { amount: bigint; rewardDebt: bigint; } ], "view">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ _pid: BigNumberish, _amount: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "InitializedChef"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "SetHalvingInterval"): TypedContractEvent; getEvent(key: "SetHalvingRate"): TypedContractEvent; getEvent(key: "SetPool"): TypedContractEvent; getEvent(key: "SetPoolToken"): TypedContractEvent; getEvent(key: "SetRewards"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Deposit(address,uint16,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "InitializedChef(address,address,address)": TypedContractEvent; InitializedChef: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "SetHalvingInterval(uint48)": TypedContractEvent; SetHalvingInterval: TypedContractEvent; "SetHalvingRate(uint16)": TypedContractEvent; SetHalvingRate: TypedContractEvent; "SetPool(uint16,address,uint32,uint48,uint48)": TypedContractEvent; SetPool: TypedContractEvent; "SetPoolToken(uint16,address)": TypedContractEvent; SetPoolToken: TypedContractEvent; "SetRewards(uint256)": TypedContractEvent; SetRewards: TypedContractEvent; "Withdraw(address,uint16,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface RewardVaultInterface extends Interface { getFunction(nameOrSignature: "addSpender" | "initializeVault" | "owner" | "removeSpender" | "renounceOwnership" | "sendTo" | "spenders" | "transferOwnership" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AddSpender" | "Initialized" | "OwnershipTransferred" | "RemoveSpender" | "Rewarded" | "Withdrawn"): EventFragment; encodeFunctionData(functionFragment: "addSpender", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "initializeVault", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removeSpender", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "sendTo", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "spenders", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "addSpender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeSpender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "spenders", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } declare namespace AddSpenderEvent { type InputTuple = [ newSpender: AddressLike ]; type OutputTuple = [ newSpender: string ]; interface OutputObject { newSpender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$19 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$9 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RemoveSpenderEvent { type InputTuple = [ oldSpender: AddressLike ]; type OutputTuple = [ oldSpender: string ]; interface OutputObject { oldSpender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace RewardedEvent { type InputTuple = [ token: AddressLike, spender: AddressLike, to: AddressLike, value: BigNumberish ]; type OutputTuple = [ token: string, spender: string, to: string, value: bigint ]; interface OutputObject { token: string; spender: string; to: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawnEvent { type InputTuple = [ token: AddressLike, spender: AddressLike, to: AddressLike, value: BigNumberish ]; type OutputTuple = [ token: string, spender: string, to: string, value: bigint ]; interface OutputObject { token: string; spender: string; to: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface RewardVault extends BaseContract { connect(runner?: ContractRunner | null): RewardVault; waitForDeployment(): Promise; interface: RewardVaultInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; addSpender: TypedContractMethod<[ _spender: AddressLike ], [ void ], "nonpayable">; initializeVault: TypedContractMethod<[ _initOwner: AddressLike ], [ void ], "nonpayable">; owner: TypedContractMethod<[ ], [ string ], "view">; removeSpender: TypedContractMethod<[ _spender: AddressLike ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; sendTo: TypedContractMethod<[ token: AddressLike, to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; spenders: TypedContractMethod<[ ], [ string[] ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; withdraw: TypedContractMethod<[ token: AddressLike, to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addSpender"): TypedContractMethod<[ _spender: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "initializeVault"): TypedContractMethod<[ _initOwner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "removeSpender"): TypedContractMethod<[ _spender: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "sendTo"): TypedContractMethod<[ token: AddressLike, to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "spenders"): TypedContractMethod<[ ], [ string[] ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ token: AddressLike, to: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "AddSpender"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "RemoveSpender"): TypedContractEvent; getEvent(key: "Rewarded"): TypedContractEvent; getEvent(key: "Withdrawn"): TypedContractEvent; filters: { "AddSpender(address)": TypedContractEvent; AddSpender: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "RemoveSpender(address)": TypedContractEvent; RemoveSpender: TypedContractEvent; "Rewarded(address,address,address,uint256)": TypedContractEvent; Rewarded: TypedContractEvent; "Withdrawn(address,address,address,uint256)": TypedContractEvent; Withdrawn: TypedContractEvent; }; } export interface InitializableProxyInterface extends Interface { getFunction(nameOrSignature: "changeProxyAdmin" | "changeProxyDescription" | "implementation" | "initializeProxy" | "proxyAdmin" | "proxyDescription" | "upgradeToAndCall"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AdminChanged" | "DescriptionChanged" | "Upgraded"): EventFragment; encodeFunctionData(functionFragment: "changeProxyAdmin", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "changeProxyDescription", values: [ string ]): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "initializeProxy", values: [ string, AddressLike, AddressLike, BytesLike ]): string; encodeFunctionData(functionFragment: "proxyAdmin", values?: undefined): string; encodeFunctionData(functionFragment: "proxyDescription", values?: undefined): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [ AddressLike, BytesLike ]): string; decodeFunctionResult(functionFragment: "changeProxyAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeProxyDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxyAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxyDescription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; } declare namespace AdminChangedEvent$1 { type InputTuple = [ previousAdmin: AddressLike, newAdmin: AddressLike ]; type OutputTuple = [ previousAdmin: string, newAdmin: string ]; interface OutputObject { previousAdmin: string; newAdmin: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DescriptionChangedEvent$1 { type InputTuple = [ description: string ]; type OutputTuple = [ description: string ]; interface OutputObject { description: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace UpgradedEvent$1 { type InputTuple = [ implementation: AddressLike ]; type OutputTuple = [ implementation: string ]; interface OutputObject { implementation: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface InitializableProxy extends BaseContract { connect(runner?: ContractRunner | null): InitializableProxy; waitForDeployment(): Promise; interface: InitializableProxyInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; changeProxyAdmin: TypedContractMethod<[ newAdmin: AddressLike ], [ void ], "nonpayable">; changeProxyDescription: TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; implementation: TypedContractMethod<[ ], [ string ], "view">; initializeProxy: TypedContractMethod<[ _description: string, newAdmin: AddressLike, newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; proxyAdmin: TypedContractMethod<[ ], [ string ], "view">; proxyDescription: TypedContractMethod<[ ], [ string ], "view">; upgradeToAndCall: TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "changeProxyAdmin"): TypedContractMethod<[ newAdmin: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "changeProxyDescription"): TypedContractMethod<[ _description: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "implementation"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "initializeProxy"): TypedContractMethod<[ _description: string, newAdmin: AddressLike, newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "proxyAdmin"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "proxyDescription"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getEvent(key: "AdminChanged"): TypedContractEvent; getEvent(key: "DescriptionChanged"): TypedContractEvent; getEvent(key: "Upgraded"): TypedContractEvent; filters: { "AdminChanged(address,address)": TypedContractEvent; AdminChanged: TypedContractEvent; "DescriptionChanged(string)": TypedContractEvent; DescriptionChanged: TypedContractEvent; "Upgraded(address)": TypedContractEvent; Upgraded: TypedContractEvent; }; } export interface ERC20LockableInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "LOCK_TYPEHASH" | "allowance" | "approve" | "balanceOf" | "decimals" | "eip712Domain" | "isLocked" | "isLockedUntil" | "lock" | "lockPermit" | "lockedBalance" | "lockedBalanceUntil" | "lockedUntil" | "name" | "nonces" | "permit" | "supportsInterface" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "Initialized" | "Lock" | "LockedBy" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "LOCK_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "isLocked", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "isLockedUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lock", values: [ BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "lockPermit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "lockedBalance", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "lockedBalanceUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lockedUntil", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LOCK_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLocked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedBalanceUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } declare namespace ApprovalEvent$16 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$5 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$20 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockEvent$3 { type InputTuple = [ owner: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockedByEvent$3 { type InputTuple = [ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockBy: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockBy: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$16 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20Lockable extends BaseContract { connect(runner?: ContractRunner | null): ERC20Lockable; waitForDeployment(): Promise; interface: ERC20LockableInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; LOCK_TYPEHASH: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; isLocked: TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; isLockedUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; lock: TypedContractMethod<[ until: BigNumberish, arg1: BytesLike ], [ void ], "nonpayable">; lockPermit: TypedContractMethod<[ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish, deadline: BigNumberish, signature: BytesLike, arg5: BytesLike ], [ void ], "nonpayable">; lockedBalance: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; lockedBalanceUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ bigint ], "view">; lockedUntil: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "LOCK_TYPEHASH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "isLocked"): TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isLockedUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "lock"): TypedContractMethod<[ until: BigNumberish, arg1: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockPermit"): TypedContractMethod<[ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish, deadline: BigNumberish, signature: BytesLike, arg5: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "lockedBalanceUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "lockedUntil"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "Lock"): TypedContractEvent; getEvent(key: "LockedBy"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "Lock(address,uint48)": TypedContractEvent; Lock: TypedContractEvent; "LockedBy(address,address,uint48)": TypedContractEvent; LockedBy: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface ERC20MockInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "burn" | "burnFrom" | "decimals" | "eip712Domain" | "mint(address,uint256)" | "mint(uint256)" | "name" | "nonces" | "owner" | "permit" | "renounceOwnership" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "OwnershipTransferred" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "burn", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "burnFrom", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "mint(address,uint256)", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "mint(uint256)", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [ AddressLike ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint(address,uint256)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint(uint256)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } declare namespace ApprovalEvent$17 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$6 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace OwnershipTransferredEvent$10 { type InputTuple = [ previousOwner: AddressLike, newOwner: AddressLike ]; type OutputTuple = [ previousOwner: string, newOwner: string ]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$17 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC20Mock extends BaseContract { connect(runner?: ContractRunner | null): ERC20Mock; waitForDeployment(): Promise; interface: ERC20MockInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; burn: TypedContractMethod<[ value: BigNumberish ], [ void ], "nonpayable">; burnFrom: TypedContractMethod<[ account: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; "mint(address,uint256)": TypedContractMethod<[ to: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; "mint(uint256)": TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; owner: TypedContractMethod<[ ], [ string ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[ ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "burn"): TypedContractMethod<[ value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "burnFrom"): TypedContractMethod<[ account: AddressLike, value: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "mint(address,uint256)"): TypedContractMethod<[ to: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "mint(uint256)"): TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[ ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; } export interface ERC4626PoolInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "LOCK_TYPEHASH" | "allowance" | "approve" | "asset" | "balanceOf" | "convertToAssets" | "convertToShares" | "decimals" | "deposit" | "eip712Domain" | "initializeToken" | "isLocked" | "isLockedUntil" | "isRewardNative" | "lock" | "lockPermit" | "lockedBalance" | "lockedBalanceUntil" | "lockedUntil" | "masterBurn" | "masterMint" | "masterPool" | "maxDeposit" | "maxMint" | "maxRedeem" | "maxWithdraw" | "mint" | "name" | "nonces" | "permit" | "pid" | "previewDeposit" | "previewMint" | "previewRedeem" | "previewWithdraw" | "redeem" | "rewardToken" | "sharesOf" | "supportsInterface" | "symbol" | "totalAssets" | "totalSupply" | "transfer" | "transferFrom" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "EIP712DomainChanged" | "Initialized" | "InitializedPool" | "Lock" | "LockedBy" | "Transfer" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "LOCK_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "convertToAssets", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "convertToShares", values: [ BigNumberish ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "initializeToken", values: [ AddressLike, BigNumberish, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "isLocked", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "isLockedUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "isRewardNative", values?: undefined): string; encodeFunctionData(functionFragment: "lock", values: [ BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "lockPermit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "lockedBalance", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "lockedBalanceUntil", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "lockedUntil", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "masterBurn", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "masterMint", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "masterPool", values?: undefined): string; encodeFunctionData(functionFragment: "maxDeposit", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxMint", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "mint", values: [ BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "pid", values?: undefined): 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, AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "rewardToken", values?: undefined): string; encodeFunctionData(functionFragment: "sharesOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [ BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish, AddressLike, AddressLike ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LOCK_TYPEHASH", data: BytesLike): Result; 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: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLocked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isRewardNative", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedBalanceUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedUntil", data: BytesLike): Result; decodeFunctionResult(functionFragment: "masterBurn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "masterMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "masterPool", 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: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pid", 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: "rewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sharesOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", 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; } declare namespace ApprovalEvent$18 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent$6 { type InputTuple = [ sender: AddressLike, owner: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, owner: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; owner: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$7 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedEvent$21 { type InputTuple = [ version: BigNumberish ]; type OutputTuple = [ version: bigint ]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace InitializedPoolEvent { type InputTuple = [ masterPool: AddressLike, pid: BigNumberish, asset: AddressLike, rewardToken: AddressLike ]; type OutputTuple = [ masterPool: string, pid: bigint, asset: string, rewardToken: string ]; interface OutputObject { masterPool: string; pid: bigint; asset: string; rewardToken: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockEvent$4 { type InputTuple = [ owner: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace LockedByEvent$4 { type InputTuple = [ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish ]; type OutputTuple = [ owner: string, lockBy: string, lockUntil: bigint ]; interface OutputObject { owner: string; lockBy: string; lockUntil: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$18 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawEvent$6 { type InputTuple = [ sender: AddressLike, receiver: AddressLike, owner: AddressLike, assets: BigNumberish, shares: BigNumberish ]; type OutputTuple = [ sender: string, receiver: string, owner: string, assets: bigint, shares: bigint ]; interface OutputObject { sender: string; receiver: string; owner: string; assets: bigint; shares: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ERC4626Pool extends BaseContract { connect(runner?: ContractRunner | null): ERC4626Pool; waitForDeployment(): Promise; interface: ERC4626PoolInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; LOCK_TYPEHASH: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; asset: TypedContractMethod<[ ], [ string ], "view">; balanceOf: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; convertToAssets: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; convertToShares: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deposit: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; initializeToken: TypedContractMethod<[ _masterPool: AddressLike, _pid: BigNumberish, _asset: AddressLike, _rewardToken: AddressLike ], [ void ], "nonpayable">; isLocked: TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; isLockedUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; isRewardNative: TypedContractMethod<[ ], [ boolean ], "view">; lock: TypedContractMethod<[ until: BigNumberish, arg1: BytesLike ], [ void ], "nonpayable">; lockPermit: TypedContractMethod<[ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish, deadline: BigNumberish, signature: BytesLike, arg5: BytesLike ], [ void ], "nonpayable">; lockedBalance: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; lockedBalanceUntil: TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ bigint ], "view">; lockedUntil: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; masterBurn: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; masterMint: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; masterPool: TypedContractMethod<[ ], [ string ], "view">; maxDeposit: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; maxMint: TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; maxRedeem: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; maxWithdraw: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; mint: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; pid: TypedContractMethod<[ ], [ bigint ], "view">; previewDeposit: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; previewMint: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewRedeem: TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; previewWithdraw: TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; redeem: TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; rewardToken: TypedContractMethod<[ ], [ string ], "view">; sharesOf: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalAssets: TypedContractMethod<[ ], [ bigint ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "LOCK_TYPEHASH"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToAssets"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "convertToShares"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "initializeToken"): TypedContractMethod<[ _masterPool: AddressLike, _pid: BigNumberish, _asset: AddressLike, _rewardToken: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isLocked"): TypedContractMethod<[ owner: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isLockedUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "isRewardNative"): TypedContractMethod<[ ], [ boolean ], "view">; getFunction(nameOrSignature: "lock"): TypedContractMethod<[ until: BigNumberish, arg1: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockPermit"): TypedContractMethod<[ owner: AddressLike, lockBy: AddressLike, lockUntil: BigNumberish, deadline: BigNumberish, signature: BytesLike, arg5: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "lockedBalanceUntil"): TypedContractMethod<[ owner: AddressLike, until: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "lockedUntil"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "masterBurn"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "masterMint"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "masterPool"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "maxDeposit"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxMint"): TypedContractMethod<[ arg0: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxRedeem"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "maxWithdraw"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "pid"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "previewDeposit"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewMint"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewRedeem"): TypedContractMethod<[ shares: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "previewWithdraw"): TypedContractMethod<[ assets: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "redeem"): TypedContractMethod<[ shares: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "rewardToken"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "sharesOf"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalAssets"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ assets: BigNumberish, receiver: AddressLike, owner: AddressLike ], [ bigint ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "InitializedPool"): TypedContractEvent; getEvent(key: "Lock"): TypedContractEvent; getEvent(key: "LockedBy"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,address,uint256,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "InitializedPool(address,uint16,address,address)": TypedContractEvent; InitializedPool: TypedContractEvent; "Lock(address,uint48)": TypedContractEvent; Lock: TypedContractEvent; "LockedBy(address,address,uint48)": TypedContractEvent; LockedBy: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } export interface WETHInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "decimals" | "deposit" | "eip712Domain" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "EIP712DomainChanged" | "Transfer" | "Withdrawal"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values?: undefined): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", 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; } declare namespace ApprovalEvent$19 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent$7 { type InputTuple = [ dst: AddressLike, wad: BigNumberish ]; type OutputTuple = [ dst: string, wad: bigint ]; interface OutputObject { dst: string; wad: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$8 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$19 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawalEvent$1 { type InputTuple = [ src: AddressLike, wad: BigNumberish ]; type OutputTuple = [ src: string, wad: bigint ]; interface OutputObject { src: string; wad: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface WETH extends BaseContract { connect(runner?: ContractRunner | null): WETH; waitForDeployment(): Promise; interface: WETHInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deposit: TypedContractMethod<[ ], [ void ], "payable">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ ], [ void ], "payable">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdrawal"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdrawal(address,uint256)": TypedContractEvent; Withdrawal: TypedContractEvent; }; } export interface WETHMockInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "decimals" | "deposit" | "eip712Domain" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposit" | "EIP712DomainChanged" | "Transfer" | "Withdrawal"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ AddressLike, AddressLike ]): string; encodeFunctionData(functionFragment: "approve", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "balanceOf", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values?: undefined): string; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [ AddressLike ]): string; encodeFunctionData(functionFragment: "permit", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [ AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ AddressLike, AddressLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "withdraw", values: [ BigNumberish ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", 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; } declare namespace ApprovalEvent$20 { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [ owner: string, spender: string, value: bigint ]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace DepositEvent$8 { type InputTuple = [ dst: AddressLike, wad: BigNumberish ]; type OutputTuple = [ dst: string, wad: bigint ]; interface OutputObject { dst: string; wad: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace EIP712DomainChangedEvent$9 { type InputTuple = [ ]; type OutputTuple = [ ]; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace TransferEvent$20 { 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; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } declare namespace WithdrawalEvent$2 { type InputTuple = [ src: AddressLike, wad: BigNumberish ]; type OutputTuple = [ src: string, wad: bigint ]; interface OutputObject { src: string; wad: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface WETHMock extends BaseContract { connect(runner?: ContractRunner | null): WETHMock; waitForDeployment(): Promise; interface: WETHMockInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[ ], [ string ], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; decimals: TypedContractMethod<[ ], [ bigint ], "view">; deposit: TypedContractMethod<[ ], [ void ], "payable">; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; name: TypedContractMethod<[ ], [ string ], "view">; nonces: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; permit: TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[ ], [ string ], "view">; totalSupply: TypedContractMethod<[ ], [ bigint ], "view">; transfer: TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ ], [ void ], "payable">; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "nonces"): TypedContractMethod<[ owner: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "permit"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[ ], [ string ], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[ ], [ bigint ], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ from: AddressLike, to: AddressLike, value: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Withdrawal"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposit(address,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Withdrawal(address,uint256)": TypedContractEvent; Withdrawal: TypedContractEvent; }; } declare class IAccessControl__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; } ]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; } ]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleAdmin"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "grantRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "hasRole"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; } ]; readonly name: "renounceRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "revokeRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IAccessControlInterface; static connect(address: string, runner?: ContractRunner | null): IAccessControl; } declare class Ownable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): OwnableInterface; static connect(address: string, runner?: ContractRunner | null): Ownable; } declare class IAccessControlEnumerable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; } ]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; } ]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleAdmin"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; } ]; readonly name: "getRoleMember"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMemberCount"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "grantRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "hasRole"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; } ]; readonly name: "renounceRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "revokeRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IAccessControlEnumerableInterface; static connect(address: string, runner?: ContractRunner | null): IAccessControlEnumerable; } declare class IERC1363__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approveAndCall"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "approveAndCall"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferAndCall"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "transferAndCall"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "transferFromAndCall"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFromAndCall"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC1363Interface; static connect(address: string, runner?: ContractRunner | null): IERC1363; } declare class IERC1967__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "previousAdmin"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; } ]; readonly name: "AdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "beacon"; readonly type: "address"; } ]; readonly name: "BeaconUpgraded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; } ]; readonly name: "Upgraded"; readonly type: "event"; } ]; static createInterface(): IERC1967Interface; static connect(address: string, runner?: ContractRunner | null): IERC1967; } declare class IERC4626__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "assetTokenAddress"; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "convertToAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "convertToShares"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "deposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "maxDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "maxMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxShares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxShares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "mint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "redeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "totalManagedAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC4626Interface; static connect(address: string, runner?: ContractRunner | null): IERC4626; } declare class IERC5267__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): IERC5267Interface; static connect(address: string, runner?: ContractRunner | null): IERC5267; } declare class IERC1155Errors__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; } ]; readonly name: "ERC1155InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC1155InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "idsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "valuesLength"; readonly type: "uint256"; } ]; readonly name: "ERC1155InvalidArrayLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; } ]; readonly name: "ERC1155InvalidOperator"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC1155InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC1155InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC1155MissingApprovalForAll"; readonly type: "error"; } ]; static createInterface(): IERC1155ErrorsInterface; static connect(address: string, runner?: ContractRunner | null): IERC1155Errors; } declare class IERC20Errors__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; } ]; static createInterface(): IERC20ErrorsInterface; static connect(address: string, runner?: ContractRunner | null): IERC20Errors; } declare class IERC721Errors__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC721IncorrectOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; } ]; readonly name: "ERC721InsufficientApproval"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC721InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; } ]; readonly name: "ERC721InvalidOperator"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC721InvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC721InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC721InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; } ]; readonly name: "ERC721NonexistentToken"; readonly type: "error"; } ]; static createInterface(): IERC721ErrorsInterface; static connect(address: string, runner?: ContractRunner | null): IERC721Errors; } export type ClonesConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class Clones__factory extends ContractFactory { constructor(...args: ClonesConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): Clones__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220955fdc4514ee86658c55a2ad90e807fa914e98f9ff2d63514ef97c3f12027ff264736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "CloneArgumentsTooLong"; readonly type: "error"; } ]; static createInterface(): ClonesInterface; static connect(address: string, runner?: ContractRunner | null): Clones; } export type ERC1967UtilsConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class ERC1967Utils__factory extends ContractFactory { constructor(...args: ERC1967UtilsConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): ERC1967Utils__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba58724aa7c4dba1dd1bdef0f990fb9a65119bc19cb26f3dc92990b53ee6bbdd64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "admin"; readonly type: "address"; } ]; readonly name: "ERC1967InvalidAdmin"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "beacon"; readonly type: "address"; } ]; readonly name: "ERC1967InvalidBeacon"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; } ]; readonly name: "ERC1967InvalidImplementation"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ERC1967NonPayable"; readonly type: "error"; } ]; static createInterface(): ERC1967UtilsInterface; static connect(address: string, runner?: ContractRunner | null): ERC1967Utils; } declare class Proxy__factory { static readonly abi: readonly [ { readonly stateMutability: "payable"; readonly type: "fallback"; } ]; static createInterface(): ProxyInterface; static connect(address: string, runner?: ContractRunner | null): Proxy$1; } declare class IBeacon__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "implementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): IBeaconInterface; static connect(address: string, runner?: ContractRunner | null): IBeacon; } declare class ERC20__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20Interface; static connect(address: string, runner?: ContractRunner | null): ERC20; } declare class IERC20__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC20Interface; static connect(address: string, runner?: ContractRunner | null): IERC20; } declare class ERC20Burnable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "burn"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "burnFrom"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20BurnableInterface; static connect(address: string, runner?: ContractRunner | null): ERC20Burnable; } declare class ERC20Permit__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "str"; readonly type: "string"; } ]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20PermitInterface; static connect(address: string, runner?: ContractRunner | null): ERC20Permit; } declare class IERC20Metadata__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC20MetadataInterface; static connect(address: string, runner?: ContractRunner | null): IERC20Metadata; } declare class IERC20Permit__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC20PermitInterface; static connect(address: string, runner?: ContractRunner | null): IERC20Permit; } export type SafeERC20ConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class SafeERC20__factory extends ContractFactory { constructor(...args: SafeERC20ConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): SafeERC20__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dbc9f79a82be0b0e92fbab84dc86cc4edfc6df05534e1122e6b9593f6c5e6f5464736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentAllowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "requestedDecrease"; readonly type: "uint256"; } ]; readonly name: "SafeERC20FailedDecreaseAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; } ]; static createInterface(): SafeERC20Interface; static connect(address: string, runner?: ContractRunner | null): SafeERC20; } export type AddressConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class Address__factory extends ContractFactory { constructor(...args: AddressConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise
; connect(runner: ContractRunner | null): Address__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208aa171c3e161196eaf42d54c3e635a440d20f47f232a86859d576dd6e8928add64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "target"; readonly type: "address"; } ]; readonly name: "AddressEmptyCode"; readonly type: "error"; } ]; static createInterface(): AddressInterface; static connect(address: string, runner?: ContractRunner | null): Address; } export type Create2ConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class Create2__factory extends ContractFactory { constructor(...args: Create2ConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): Create2__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f51cc4456404df744d6204aad65bfb4aa612048e917b6e0648944fdd5fc7ebb864736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "Create2EmptyBytecode"; readonly type: "error"; } ]; static createInterface(): Create2Interface; static connect(address: string, runner?: ContractRunner | null): Create2; } export type ErrorsConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class Errors__factory extends ContractFactory { constructor(...args: ErrorsConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): Errors__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209e4ac2a351cb5e4a3161d2ba92de18591d49694739834cd6dfeef9d09bd5581b64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "FailedCall"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "FailedDeployment"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "MissingPrecompile"; readonly type: "error"; } ]; static createInterface(): ErrorsInterface; static connect(address: string, runner?: ContractRunner | null): Errors; } declare class Nonces__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): NoncesInterface; static connect(address: string, runner?: ContractRunner | null): Nonces; } export type ShortStringsConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class ShortStrings__factory extends ContractFactory { constructor(...args: ShortStringsConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): ShortStrings__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a1e587f7d10519022e5cd19b254078bf6463cd85dd23d43e22ee94e20c52328764736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "str"; readonly type: "string"; } ]; readonly name: "StringTooLong"; readonly type: "error"; } ]; static createInterface(): ShortStringsInterface; static connect(address: string, runner?: ContractRunner | null): ShortStrings; } export type StringsConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class Strings__factory extends ContractFactory { constructor(...args: StringsConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): Strings__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fefbf786757f631416c0f625413aca6fc8c55f665b5d3884f5c12f89bdbb6ba64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "StringsInsufficientHexLength"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "StringsInvalidAddressFormat"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "StringsInvalidChar"; readonly type: "error"; } ]; static createInterface(): StringsInterface; static connect(address: string, runner?: ContractRunner | null): Strings; } export type ECDSAConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class ECDSA__factory extends ContractFactory { constructor(...args: ECDSAConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): ECDSA__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a42fd5d14354f00b3077c8a60731dc0a3db28b9bf2576002196d74eee238df2964736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; } ]; static createInterface(): ECDSAInterface; static connect(address: string, runner?: ContractRunner | null): ECDSA; } declare class EIP712__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "str"; readonly type: "string"; } ]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): EIP712Interface; static connect(address: string, runner?: ContractRunner | null): EIP712; } declare class IERC165__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): IERC165Interface; static connect(address: string, runner?: ContractRunner | null): IERC165; } export type SafeCastConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class SafeCast__factory extends ContractFactory { constructor(...args: SafeCastConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): SafeCast__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220629ba74b947b482897862bc751e562f0b37a2fb2bae11bcbc95586194852114c64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "uint8"; readonly name: "bits"; readonly type: "uint8"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; } ]; readonly name: "SafeCastOverflowedIntDowncast"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; } ]; readonly name: "SafeCastOverflowedIntToUint"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint8"; readonly name: "bits"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "SafeCastOverflowedUintDowncast"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "SafeCastOverflowedUintToInt"; readonly type: "error"; } ]; static createInterface(): SafeCastInterface; static connect(address: string, runner?: ContractRunner | null): SafeCast; } declare class AccessControlUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; } ]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; } ]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleAdmin"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "grantRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "hasRole"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; } ]; readonly name: "renounceRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "revokeRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): AccessControlUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): AccessControlUpgradeable; } declare class OwnableUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): OwnableUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): OwnableUpgradeable; } declare class AccessControlEnumerableUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; } ]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; } ]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleAdmin"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; } ]; readonly name: "getRoleMember"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMemberCount"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMembers"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "grantRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "hasRole"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; } ]; readonly name: "renounceRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "revokeRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): AccessControlEnumerableUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): AccessControlEnumerableUpgradeable; } declare class Initializable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; } ]; static createInterface(): InitializableInterface; static connect(address: string, runner?: ContractRunner | null): Initializable; } declare class ERC20Upgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20UpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): ERC20Upgradeable; } declare class ERC20PermitUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20PermitUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): ERC20PermitUpgradeable; } declare class ERC4626Upgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxDeposit"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxMint"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxRedeem"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxWithdraw"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "convertToAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "convertToShares"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "deposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "maxDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "maxMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "mint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "redeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC4626UpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): ERC4626Upgradeable; } declare class ContextUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; } ]; static createInterface(): ContextUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): ContextUpgradeable; } declare class NoncesUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): NoncesUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): NoncesUpgradeable; } declare class ReentrancyGuardUpgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ReentrancyGuardReentrantCall"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; } ]; static createInterface(): ReentrancyGuardUpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): ReentrancyGuardUpgradeable; } declare class EIP712Upgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): EIP712UpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): EIP712Upgradeable; } declare class ERC165Upgradeable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): ERC165UpgradeableInterface; static connect(address: string, runner?: ContractRunner | null): ERC165Upgradeable; } export type LockConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class Lock__factory extends ContractFactory { constructor(...args: LockConstructorParams); getDeployTransaction(_unlockTime: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; deploy(_unlockTime: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): Lock__factory; static readonly bytecode = "0x60806040526040516102a03803806102a08339810160408190526020916097565b804210607e5760405162461bcd60e51b815260206004820152602360248201527f556e6c6f636b2074696d652073686f756c6420626520696e207468652066757460448201526275726560e81b606482015260840160405180910390fd5b600055600180546001600160a01b0319163317905560af565b60006020828403121560a857600080fd5b5051919050565b6101e2806100be6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063251c1aa3146100465780633ccfd60b146100625780638da5cb5b1461006c575b600080fd5b61004f60005481565b6040519081526020015b60405180910390f35b61006a610097565b005b60015461007f906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6000544210156100e75760405162461bcd60e51b8152602060048201526016602482015275165bdd4818d85b89dd081dda5d1a191c985dc81e595d60521b60448201526064015b60405180910390fd5b6001546001600160a01b031633146101385760405162461bcd60e51b81526020600482015260146024820152732cb7ba9030b932b713ba103a34329037bbb732b960611b60448201526064016100de565b604080514781524260208201527fbf2ed60bd5b5965d685680c01195c9514e4382e28e3a5a2d2d5244bf59411b93910160405180910390a16001546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156101a9573d6000803e3d6000fd5b5056fea26469706673582212200c5a3b153b60ab2fd642e47f9a584a3f1c0f88fa941ad43a0c1fd77c925831a264736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_unlockTime"; readonly type: "uint256"; } ]; readonly stateMutability: "payable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "when"; readonly type: "uint256"; } ]; readonly name: "Withdrawal"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address payable"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "unlockTime"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): LockInterface; static connect(address: string, runner?: ContractRunner | null): Lock$1; } declare class IDataFeed__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "int256"; readonly name: "current"; readonly type: "int256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; } ]; readonly name: "AnswerUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; } ]; readonly name: "NewAsset"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "string"; readonly name: "description"; readonly type: "string"; } ]; readonly name: "NewDescription"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "startedBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; } ]; readonly name: "NewRound"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "deploymentTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "description"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_roundId"; readonly type: "uint256"; } ]; readonly name: "getAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint80"; readonly name: "_roundId"; readonly type: "uint80"; } ]; readonly name: "getRoundData"; readonly outputs: readonly [ { readonly internalType: "uint80"; readonly name: "roundId"; readonly type: "uint80"; }, { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly internalType: "uint80"; readonly name: "answeredInRound"; readonly type: "uint80"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_roundId"; readonly type: "uint256"; } ]; readonly name: "getTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_timestamp"; readonly type: "uint256"; } ]; readonly name: "getTimestampAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_initOwner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "_initAnswer"; readonly type: "int256"; } ]; readonly name: "initializeFeed"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRound"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRoundData"; readonly outputs: readonly [ { readonly internalType: "uint80"; readonly name: ""; readonly type: "uint80"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint80"; readonly name: ""; readonly type: "uint80"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; } ]; readonly name: "setAsset"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; } ]; readonly name: "setDescription"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_version"; readonly type: "uint256"; } ]; readonly name: "setVersion"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "int256"; readonly name: "newAnswer"; readonly type: "int256"; } ]; readonly name: "updateAnswer"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "version"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): IDataFeedInterface; static connect(address: string, runner?: ContractRunner | null): IDataFeed; } declare class IERC20Exp__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC20ExpInterface; static connect(address: string, runner?: ContractRunner | null): IERC20Exp; } declare class IERC20Mintable__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "burn"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "burnFrom"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "mint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC20MintableInterface; static connect(address: string, runner?: ContractRunner | null): IERC20Mintable; } declare class IERC20Lockable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "AccountLocked"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; } ]; readonly name: "LockedExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "LockedInvalidSigner"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "Lock"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "LockedBy"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "isLocked"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; } ]; readonly name: "isLockedUntil"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "lockParams"; readonly type: "bytes"; } ]; readonly name: "lock"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "lockParams"; readonly type: "bytes"; } ]; readonly name: "lockPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedBalance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "until"; readonly type: "uint256"; } ]; readonly name: "lockedBalanceUntil"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedUntil"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: "timestamp"; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC20LockableInterface; static connect(address: string, runner?: ContractRunner | null): IERC20Lockable; } declare class IERC4626__factory$1 { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "convertToAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "convertToShares"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "deposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxShares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxShares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "mint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "redeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "totalAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC4626Interface$1; static connect(address: string, runner?: ContractRunner | null): IERC4626$1; } declare class IERC4626Pool__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "convertToAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "convertToShares"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "deposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_masterPool"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; } ]; readonly name: "initializeToken"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "masterBurn"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "masterMint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxShares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxShares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "maxAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "mint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "redeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "totalAssets"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IERC4626PoolInterface; static connect(address: string, runner?: ContractRunner | null): IERC4626Pool; } declare class IInitializableProxy__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "string"; readonly name: "description"; readonly type: "string"; } ]; readonly name: "DescriptionChanged"; readonly type: "event"; }, { readonly stateMutability: "payable"; readonly type: "fallback"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; } ]; readonly name: "changeProxyAdmin"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; } ]; readonly name: "changeProxyDescription"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "implementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "initializeProxy"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "proxyAdmin"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "proxyDescription"; readonly outputs: readonly [ { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "upgradeToAndCall"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; } ]; static createInterface(): IInitializableProxyInterface; static connect(address: string, runner?: ContractRunner | null): IInitializableProxy; } declare class ILockable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "AccountLocked"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; } ]; readonly name: "LockedExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "LockedInvalidSigner"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "Lock"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "LockedBy"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "isLocked"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; } ]; readonly name: "isLockedUntil"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "lockParams"; readonly type: "bytes"; } ]; readonly name: "lock"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedUntil"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: "timestamp"; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): ILockableInterface; static connect(address: string, runner?: ContractRunner | null): ILockable; } declare class IMasterChef__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "add"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "_signature"; readonly type: "bytes"; } ]; readonly name: "depositPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getMultiplier"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getPoolRewardsByTime"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getPoolRewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getRewardsPerShare"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "rewardPerShare"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; } ]; readonly name: "hasPool"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardVault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "addPool"; readonly type: "bool"; } ]; readonly name: "initializeChef"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "massUpdatePools"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; } ]; readonly name: "pendingRewards"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "pendingReward"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; } ]; readonly name: "poolId"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; } ]; readonly name: "poolInfo"; readonly outputs: readonly [ { readonly components: readonly [ { readonly internalType: "address"; readonly name: "lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "endTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "lastRewardTime"; readonly type: "uint48"; }, { readonly internalType: "uint256"; readonly name: "accRewardsPerShare"; readonly type: "uint256"; } ]; readonly internalType: "struct IMasterChef.PoolInfo"; readonly name: ""; readonly type: "tuple"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "poolLength"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardToken"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardVault"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "set"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_rewardPerSec"; readonly type: "uint256"; } ]; readonly name: "setRewardsPerSec"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAllocPoint"; readonly outputs: readonly [ { readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "updatePool"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "user"; readonly type: "address"; } ]; readonly name: "userInfo"; readonly outputs: readonly [ { readonly components: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "rewardDebt"; readonly type: "uint256"; } ]; readonly internalType: "struct IMasterChef.UserInfo"; readonly name: ""; readonly type: "tuple"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IMasterChefInterface; static connect(address: string, runner?: ContractRunner | null): IMasterChef; } declare class IMasterPool__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "add"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "_signature"; readonly type: "bytes"; } ]; readonly name: "depositPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getMultiplier"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getPoolRewardsByTime"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getPoolRewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getRewardsPerShare"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "rewardPerShare"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "halvingInterval"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "halvingRate"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; } ]; readonly name: "hasPool"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_poolToken"; readonly type: "address"; } ]; readonly name: "hasPoolToken"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardVault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "addPool"; readonly type: "bool"; } ]; readonly name: "initializeChef"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenImplementation"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardVault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; }, { readonly internalType: "uint16"; readonly name: "_halvingRate"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_halvingInterval"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "addPool"; readonly type: "bool"; } ]; readonly name: "initializePool"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "massUpdatePools"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; } ]; readonly name: "pendingRewards"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "pendingReward"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "poolDeposit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; } ]; readonly name: "poolId"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly name: "poolIdByTokens"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; } ]; readonly name: "poolInfo"; readonly outputs: readonly [ { readonly components: readonly [ { readonly internalType: "address"; readonly name: "lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "endTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "lastRewardTime"; readonly type: "uint48"; }, { readonly internalType: "uint256"; readonly name: "accRewardsPerShare"; readonly type: "uint256"; } ]; readonly internalType: "struct IMasterChef.PoolInfo"; readonly name: ""; readonly type: "tuple"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "poolLength"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; } ]; readonly name: "poolMint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "poolTokenImplementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; } ]; readonly name: "poolTokens"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "poolTransfer"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "poolWithdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardToken"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardVault"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "set"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "_halvingInterval"; readonly type: "uint48"; } ]; readonly name: "setHalvingInterval"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_halvingRate"; readonly type: "uint16"; } ]; readonly name: "setHalvingRate"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_rewardPerSec"; readonly type: "uint256"; } ]; readonly name: "setRewardsPerSec"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAllocPoint"; readonly outputs: readonly [ { readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "updatePool"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "user"; readonly type: "address"; } ]; readonly name: "userInfo"; readonly outputs: readonly [ { readonly components: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "rewardDebt"; readonly type: "uint256"; } ]; readonly internalType: "struct IMasterChef.UserInfo"; readonly name: ""; readonly type: "tuple"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IMasterPoolInterface; static connect(address: string, runner?: ContractRunner | null): IMasterPool; } declare class IOwnableControl__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "OwnableInvalidOp"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "newSubowner"; readonly type: "address"; } ]; readonly name: "SubownerAdded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "oldSubowner"; readonly type: "address"; } ]; readonly name: "SubownerRemoved"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_SUBOWNER_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newSubowner"; readonly type: "address"; } ]; readonly name: "addSubowner"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "isSubowner"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "oldSubowner"; readonly type: "address"; } ]; readonly name: "removeSubowner"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "subowners"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IOwnableControlInterface; static connect(address: string, runner?: ContractRunner | null): IOwnableControl; } declare class IRewardVault__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "rewardPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "sendTo"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IRewardVaultInterface; static connect(address: string, runner?: ContractRunner | null): IRewardVault; } declare class IUniswapV2Factory__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly name: "allPairs"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "pair"; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "allPairsLength"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "tokenA"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenB"; readonly type: "address"; } ]; readonly name: "createPair"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "pair"; readonly type: "address"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "feeTo"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "feeToSetter"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "tokenA"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenB"; readonly type: "address"; } ]; readonly name: "getPair"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: "pair"; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "setFeeTo"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "setFeeToSetter"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IUniswapV2FactoryInterface; static connect(address: string, runner?: ContractRunner | null): IUniswapV2Factory; } declare class IUniswapV2Pair__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "MINIMUM_LIQUIDITY"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; } ]; readonly name: "burn"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "factory"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "getReserves"; readonly outputs: readonly [ { readonly internalType: "uint112"; readonly name: "reserve0"; readonly type: "uint112"; }, { readonly internalType: "uint112"; readonly name: "reserve1"; readonly type: "uint112"; }, { readonly internalType: "uint32"; readonly name: "blockTimestampLast"; readonly type: "uint32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "kLast"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; } ]; readonly name: "mint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "liquidity"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "price0CumulativeLast"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "price1CumulativeLast"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; } ]; readonly name: "skim"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount0Out"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Out"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "swap"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "sync"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "token0"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "token1"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IUniswapV2PairInterface; static connect(address: string, runner?: ContractRunner | null): IUniswapV2Pair; } declare class IV2SwapFeed__factory { static readonly abi: readonly [ { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "int256"; readonly name: "current"; readonly type: "int256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; } ]; readonly name: "AnswerUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; } ]; readonly name: "NewAsset"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "string"; readonly name: "description"; readonly type: "string"; } ]; readonly name: "NewDescription"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "startedBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; } ]; readonly name: "NewRound"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "USD"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "V2Price"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "deploymentTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "description"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "ethUsdPrice"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_roundId"; readonly type: "uint256"; } ]; readonly name: "getAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_pair"; readonly type: "address"; } ]; readonly name: "getLPTVL"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_pair"; readonly type: "address"; } ]; readonly name: "getLPUSD"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; } ]; readonly name: "getPairByToken"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint80"; readonly name: "_roundId"; readonly type: "uint80"; } ]; readonly name: "getRoundData"; readonly outputs: readonly [ { readonly internalType: "uint80"; readonly name: "roundId"; readonly type: "uint80"; }, { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly internalType: "uint80"; readonly name: "answeredInRound"; readonly type: "uint80"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_roundId"; readonly type: "uint256"; } ]; readonly name: "getTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_timestamp"; readonly type: "uint256"; } ]; readonly name: "getTimestampAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; } ]; readonly name: "getTokenUSD"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_initOwner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "_initAnswer"; readonly type: "int256"; } ]; readonly name: "initializeFeed"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_feedImplementation"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_swapFactory"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_USD"; readonly type: "address"; } ]; readonly name: "initializeSwapFeed"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRound"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRoundData"; readonly outputs: readonly [ { readonly internalType: "uint80"; readonly name: ""; readonly type: "uint80"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint80"; readonly name: ""; readonly type: "uint80"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; } ]; readonly name: "setAsset"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; } ]; readonly name: "setDescription"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_version"; readonly type: "uint256"; } ]; readonly name: "setVersion"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "swapFactory"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "int256"; readonly name: "newAnswer"; readonly type: "int256"; } ]; readonly name: "updateAnswer"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "version"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "wethUsdPair"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): IV2SwapFeedInterface; static connect(address: string, runner?: ContractRunner | null): IV2SwapFeed; } declare class IWETH__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): IWETHInterface; static connect(address: string, runner?: ContractRunner | null): IWETH; } declare class Lockable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "AccountLocked"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; } ]; readonly name: "LockedExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "LockedInvalidSigner"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "Lock"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "LockedBy"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "LOCK_TYPEHASH"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "isLocked"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "until"; readonly type: "uint256"; } ]; readonly name: "isLockedUntil"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; } ]; readonly name: "lock"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedUntil"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): LockableInterface; static connect(address: string, runner?: ContractRunner | null): Lockable; } declare class Ownable__factory$1 { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): OwnableInterface$1; static connect(address: string, runner?: ContractRunner | null): Ownable$1; } declare class OwnableControl__factory { static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; } ]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "OwnableInvalidOp"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; } ]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "newSubowner"; readonly type: "address"; } ]; readonly name: "SubownerAdded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "oldSubowner"; readonly type: "address"; } ]; readonly name: "SubownerRemoved"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_SUBOWNER_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newSubowner"; readonly type: "address"; } ]; readonly name: "addSubowner"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleAdmin"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; } ]; readonly name: "getRoleMember"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMemberCount"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMembers"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "grantRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "hasRole"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "isSubowner"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "oldSubowner"; readonly type: "address"; } ]; readonly name: "removeSubowner"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; } ]; readonly name: "renounceRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "revokeRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "subowners"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): OwnableControlInterface; static connect(address: string, runner?: ContractRunner | null): OwnableControl; } export type SigLibConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class SigLib__factory extends ContractFactory { constructor(...args: SigLibConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): SigLib__factory; static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ce5d147acf4fa19dfd8deb04925d717b813a63e75fad41badfc21f48a56238264736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "InvalidSignatureLength"; readonly type: "error"; } ]; static createInterface(): SigLibInterface; static connect(address: string, runner?: ContractRunner | null): SigLib; } export type DataFeedConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class DataFeed__factory extends ContractFactory { constructor(...args: DataFeedConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): DataFeed__factory; static readonly bytecode = "0x60806040526006600255348015601457600080fd5b50611843806100246000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80639010d07c11610125578063bfc12c05116100ad578063d547741f1161007c578063d547741f146104cb578063f269b7bf146104de578063f2fde38b146104f1578063f707163114610504578063feaf968c1461050c57600080fd5b8063bfc12c0514610489578063c2f3621e14610492578063ca15c873146104a5578063d0d552dd146104b857600080fd5b8063a217fddf116100f4578063a217fddf1461040e578063a3246ad314610416578063a87a20ce14610436578063b5ab58dc14610449578063b633620c1461046957600080fd5b80639010d07c1461038e57806390c3f38f146103a157806391d14854146103b45780639a6fc8f5146103c757600080fd5b8063408def1e116101a8578063715018a611610177578063715018a61461034d5780637284e416146103555780637dbaadf61461036a5780638205bf6a1461037d5780638da5cb5b1461038657600080fd5b8063408def1e1461031f57806350d25bcd1461033257806354fd4d501461033b578063668a0f021461034457600080fd5b80632f2ff15d116101ef5780632f2ff15d14610294578063313ce567146102a757806336568abe146102c157806338d52e0f146102d45780633b2235fc146102ff57600080fd5b806301ffc9a71461022157806315c1fc0114610249578063248a9ca31461026c5780632a4c3b011461027f575b600080fd5b61023461022f366004611333565b610514565b60405190151581526020015b60405180910390f35b61025e6000805160206117ae83398151915281565b604051908152602001610240565b61025e61027a36600461135d565b61053f565b61029261028d366004611392565b610561565b005b6102926102a23660046113ad565b6105d0565b6102af600881565b60405160ff9091168152602001610240565b6102926102cf3660046113ad565b6105f2565b6000546102e7906001600160a01b031681565b6040516001600160a01b039091168152602001610240565b61025e61030d36600461135d565b60096020526000908152604090205481565b61029261032d36600461135d565b61062a565b61025e60045481565b61025e60025481565b61025e60065481565b610292610637565b61035d610669565b60405161024091906113d9565b6102926103783660046114cc565b6106f7565b61025e60055481565b6102e7610823565b6102e761039c366004611532565b610863565b6102926103af366004611554565b610892565b6102346103c23660046113ad565b6108e1565b6103da6103d5366004611589565b610919565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a001610240565b61025e600081565b61042961042436600461135d565b610997565b60405161024091906115b2565b61029261044436600461135d565b6109c9565b61025e61045736600461135d565b60076020526000908152604090205481565b61025e61047736600461135d565b60086020526000908152604090205481565b61025e60035481565b6102346104a0366004611392565b610a10565b61025e6104b336600461135d565b610a2a565b6102926104c6366004611392565b610a50565b6102926104d93660046113ad565b610aa0565b6102926104ec366004611392565b610abc565b6102926104ff366004611392565b610b06565b610429610b43565b6103da610b61565b60006001600160e01b03198216635a05180f60e01b1480610539575061053982610b85565b92915050565b60009081526000805160206117ee833981519152602052604090206001015490565b610569610bba565b6001600160a01b03811661059857604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105b06000805160206117ae83398151915282610c07565b6105cd576040516363e886c360e11b815260040160405180910390fd5b50565b6105d98261053f565b6105e281610c6e565b6105ec8383610c78565b50505050565b6001600160a01b038116331461061b5760405163334bd91960e11b815260040160405180910390fd5b6106258282610c07565b505050565b610632610bba565b600255565b61063f610bba565b61064a600080610c78565b610667576040516363e886c360e11b815260040160405180910390fd5b565b60018054610676906115fe565b80601f01602080910402602001604051908101604052809291908181526020018280546106a2906115fe565b80156106ef5780601f106106c4576101008083540402835291602001916106ef565b820191906000526020600020905b8154815290600101906020018083116106d257829003601f168201915b505050505081565b6000610701610d80565b805490915060ff600160401b820416159067ffffffffffffffff166000811580156107295750825b905060008267ffffffffffffffff1660011480156107465750303b155b905081158015610754575080155b156107725760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561079c57845460ff60401b1916600160401b1785555b4260035560066002556107ae88610a50565b6107b787610892565b85156107c9576107c986600042610da9565b6107d289610e75565b831561081857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b60008061082f81610997565b9050805160000361084157600061085d565b8060008151811061085457610854611638565b60200260200101515b91505090565b60008281526000805160206117ce83398151915260208190526040822061088a9084610eb2565b949350505050565b61089a610bba565b60016108a6828261169c565b507f16fbb51445345dabaa215e5f99a4bd4d8ba9818b508c76d5cd0ea30abcc491c6816040516108d691906113d9565b60405180910390a150565b60009182526000805160206117ee833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160501b0381166000818152600760205260408120548392909190819081906109475760035461096f565b6008600061095f60016001600160501b038a16611771565b8152602001908152602001600020545b6001600160501b03871660009081526008602052604090205495979496909594909350915050565b60008181526000805160206117ce83398151915260208190526040909120606091906109c290610ebe565b9392505050565b6109d1610ecb565b600060065460001415806109e6575060045415155b6109f15760006109ff565b6006546109ff906001611784565b9050610a0c828242610da9565b5050565b60006105396000805160206117ae833981519152836108e1565b60008181526000805160206117ce8339815191526020819052604082206109c290610f27565b610a58610bba565b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc7d9598af6004de7fa9c489a50a55414c75cfbce9fe56fe46956970744d6bc2c91a250565b610aa98261053f565b610ab281610c6e565b6105ec8383610c07565b610ac4610bba565b6001600160a01b038116610aee57604051631e4fbdf760e01b81526000600482015260240161058f565b6105b06000805160206117ae83398151915282610c78565b610b0e610bba565b6001600160a01b038116610b3857604051631e4fbdf760e01b81526000600482015260240161058f565b6105b0600082610c78565b6060610b5c6000805160206117ae833981519152610997565b905090565b6000806000806000610b74600654610919565b945094509450945094509091929394565b60006001600160e01b03198216637965db0b60e01b148061053957506301ffc9a760e01b6001600160e01b0319831614610539565b6000610bc4610823565b90506001600160a01b0381163314801590610be757506001600160a01b03811615155b156105cd5760405163118cdaa760e01b815233600482015260240161058f565b6000610c138383610f31565b90506000805160206117ae83398151915283148015610c2f5750805b15610539576040516001600160a01b038316907fe508d338b89b7e085a90e1f7132e20bffaf3c56d6ed143467d9781b9c8d99d1790600090a292915050565b6105cd8133610f76565b60008083610cc857610c88610823565b90506001600160a01b03811615801590610caa5750610ca8600082610c07565b155b15610cc8576040516363e886c360e11b815260040160405180910390fd5b610cd28484610faf565b915083158015610cdf5750815b15610d2557826001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35b6000805160206117ae83398151915284148015610d3f5750815b15610d79576040516001600160a01b038416907fd40f5d389157222345207b3aee9b8e1c5864f5be29072e6f66d18b5a4d1785b790600090a25b5092915050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610539565b8060055410610db757505050565b6004839055600581905560068290556000828152600860209081526040808320805460078452828520889055908590558484526009909252909120849055151580610e3457604051828152339084907f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac602719060200160405180910390a35b82847f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f84604051610e6791815260200190565b60405180910390a350505050565b610e7d610feb565b6001600160a01b038116610ea757604051631e4fbdf760e01b81526000600482015260240161058f565b610a0c600082610c78565b60006109c28383611010565b606060006109c28361103a565b6000610ed5610823565b9050610ee033610a10565b158015610ef657506001600160a01b0381163314155b8015610be757506001600160a01b038116156105cd5760405163118cdaa760e01b815233600482015260240161058f565b6000610539825490565b60006000805160206117ce83398151915281610f4d8585611096565b9050801561088a576000858152602083905260409020610f6d908561111c565b50949350505050565b610f8082826108e1565b610a0c5760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161058f565b60006000805160206117ce83398151915281610fcb8585611131565b9050801561088a576000858152602083905260409020610f6d90856111cc565b610ff36111e1565b61066757604051631afcd79f60e31b815260040160405180910390fd5b600082600001828154811061102757611027611638565b9060005260206000200154905092915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561108a57602002820191906000526020600020905b815481526020019060010190808311611076575b50505050509050919050565b60006000805160206117ee8339815191526110b184846108e1565b15611112576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610539565b6000915050610539565b60006109c2836001600160a01b0384166111fb565b60006000805160206117ee83398151915261114c84846108e1565b611112576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556111823390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610539565b60006109c2836001600160a01b0384166112e4565b60006111eb610d80565b54600160401b900460ff16919050565b6000818152600183016020526040812054801561111257600061121f600183611771565b855490915060009061123390600190611771565b905080821461129857600086600001828154811061125357611253611638565b906000526020600020015490508087600001848154811061127657611276611638565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806112a9576112a9611797565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610539565b600081815260018301602052604081205461132b57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610539565b506000610539565b60006020828403121561134557600080fd5b81356001600160e01b0319811681146109c257600080fd5b60006020828403121561136f57600080fd5b5035919050565b80356001600160a01b038116811461138d57600080fd5b919050565b6000602082840312156113a457600080fd5b6109c282611376565b600080604083850312156113c057600080fd5b823591506113d060208401611376565b90509250929050565b602081526000825180602084015260005b8181101561140757602081860181015160408684010152016113ea565b506000604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261144e57600080fd5b813567ffffffffffffffff81111561146857611468611427565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561149757611497611427565b6040528181528382016020018510156114af57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156114e257600080fd5b6114eb85611376565b93506114f960208601611376565b9250604085013567ffffffffffffffff81111561151557600080fd5b6115218782880161143d565b949793965093946060013593505050565b6000806040838503121561154557600080fd5b50508035926020909101359150565b60006020828403121561156657600080fd5b813567ffffffffffffffff81111561157d57600080fd5b61088a8482850161143d565b60006020828403121561159b57600080fd5b81356001600160501b03811681146109c257600080fd5b602080825282518282018190526000918401906040840190835b818110156115f35783516001600160a01b03168352602093840193909201916001016115cc565b509095945050505050565b600181811c9082168061161257607f821691505b60208210810361163257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b601f82111561062557806000526020600020601f840160051c810160208510156116755750805b601f840160051c820191505b818110156116955760008155600101611681565b5050505050565b815167ffffffffffffffff8111156116b6576116b6611427565b6116ca816116c484546115fe565b8461164e565b6020601f8211600181146116fe57600083156116e65750848201515b600019600385901b1c1916600184901b178455611695565b600084815260208120601f198516915b8281101561172e578785015182556020948501946001909201910161170e565b508482101561174c5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b818103818111156105395761053961175b565b808201808211156105395761053961175b565b634e487b7160e01b600052603160045260246000fdfec15dd078e4e39310dfccaa3c336166b52c3edd34b05da2d3601e09db0f714000c1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212202bc9dba3669483d061a64febbd89541d24444d8fd93c0f9b35dc0681aa39361d64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; } ]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "OwnableInvalidOp"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "int256"; readonly name: "current"; readonly type: "int256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; } ]; readonly name: "AnswerUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; } ]; readonly name: "NewAsset"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "string"; readonly name: "description"; readonly type: "string"; } ]; readonly name: "NewDescription"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "startedBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; } ]; readonly name: "NewRound"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; } ]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "newSubowner"; readonly type: "address"; } ]; readonly name: "SubownerAdded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "oldSubowner"; readonly type: "address"; } ]; readonly name: "SubownerRemoved"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "DEFAULT_SUBOWNER_ROLE"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newSubowner"; readonly type: "address"; } ]; readonly name: "addSubowner"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "deploymentTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "description"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly name: "getAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleAdmin"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; } ]; readonly name: "getRoleMember"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMemberCount"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; } ]; readonly name: "getRoleMembers"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint80"; readonly name: "_roundId"; readonly type: "uint80"; } ]; readonly name: "getRoundData"; readonly outputs: readonly [ { readonly internalType: "uint80"; readonly name: "roundId"; readonly type: "uint80"; }, { readonly internalType: "int256"; readonly name: "answer"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; }, { readonly internalType: "uint80"; readonly name: "answeredInRound"; readonly type: "uint80"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly name: "getTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly name: "getTimestampAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "grantRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "hasRole"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_initOwner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "_initAnswer"; readonly type: "int256"; } ]; readonly name: "initializeFeed"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "isSubowner"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRound"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRoundData"; readonly outputs: readonly [ { readonly internalType: "uint80"; readonly name: ""; readonly type: "uint80"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint80"; readonly name: ""; readonly type: "uint80"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "oldSubowner"; readonly type: "address"; } ]; readonly name: "removeSubowner"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; } ]; readonly name: "renounceRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "revokeRole"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; } ]; readonly name: "setAsset"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; } ]; readonly name: "setDescription"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_version"; readonly type: "uint256"; } ]; readonly name: "setVersion"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "subowners"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "int256"; readonly name: "newAnswer"; readonly type: "int256"; } ]; readonly name: "updateAnswer"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "version"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): DataFeedInterface; static connect(address: string, runner?: ContractRunner | null): DataFeed; } export type V2SwapFeedConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class V2SwapFeed__factory extends ContractFactory { constructor(...args: V2SwapFeedConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): V2SwapFeed__factory; static readonly bytecode = "0x60a06040526008608052600660025534801561001a57600080fd5b50610023610028565b6100da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100785760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516119e061010a6000396000818161018f01528181610a2501528181610cf50152610d5201526119e06000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806363e16a82116100ad5780638205bf6a116100715780638205bf6a146102765780639478ab8c1461027c578063ad5c464814610284578063bfc12c0514610297578063d4d3e9a5146102a057600080fd5b806363e16a8214610220578063668a0f02146102355780636c3721ed1461023b5780637284e4161461024e5780637944f9441461026357600080fd5b806338d52e0f116100f457806338d52e0f146101d657806338e9781b146101e957806350d25bcd146101fc57806352ef619b1461020457806354fd4d501461021757600080fd5b8063178bc56e146101315780631bf6c21b14610161578063287bd79e14610174578063313ce5671461018a578063320eb93c146101c3575b600080fd5b600454610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600854610144906001600160a01b031681565b61017c6102b3565b604051908152602001610158565b6101b17f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610158565b61017c6101d136600461138c565b6102fc565b600054610144906001600160a01b031681565b61017c6101f736600461138c565b610316565b61017c6103d3565b600654610144906001600160a01b031681565b61017c60025481565b61023361022e3660046113b0565b6103dd565b005b4361017c565b61014461024936600461138c565b61072c565b610256610990565b6040516101589190611445565b600554610144906001600160a01b031681565b4261017c565b61017c610a1e565b600754610144906001600160a01b031681565b61017c60035481565b61017c6102ae36600461138c565b610a7c565b600080546102c9906001600160a01b0316610b6a565b6102e7576000546102e2906001600160a01b03166102fc565b905090565b6000546102e2906001600160a01b0316610a7c565b600061031061030a8361072c565b83610c41565b92915050565b60008061032283610dea565b905060006103308483610e8f565b50915050816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103969190611478565b6103a190600a611598565b816103ac8685610c41565b6103b691906115a7565b6103c19060026115a7565b6103cb91906115be565b949350505050565b60006102e26102b3565b60006103e7610f49565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561040f5750825b905060008267ffffffffffffffff16600114801561042c5750303b155b90508115801561043a575080155b156104585760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561048257845460ff60401b1916600160401b1785555b600080546001600160a01b0319166001600160a01b038c169081178255604080516395d89b4160e01b81529051610592936395d89b4192600480820193918290030181865afa1580156104d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261050191908101906115f6565b604080518082018252600381526201017960ed1b602082015260085482516395d89b4160e01b8152925161058d936001600160a01b03909216916395d89b419160048083019260009291908290030181865afa158015610565573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261058d91908101906115f6565b610f72565b60019061059f9082611734565b50600660025542600355600480546001600160a01b038b81166001600160a01b0319928316178355600580548c831693168317905560405163e6a4390560e01b81528a821693810193909352881660248301529063e6a4390590604401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906117f3565b600680546001600160a01b03199081166001600160a01b03938416179091556007805482168a841617905560088054909116888316179055604051908b16907fc7d9598af6004de7fa9c489a50a55414c75cfbce9fe56fe46956970744d6bc2c90600090a27f16fbb51445345dabaa215e5f99a4bd4d8ba9818b508c76d5cd0ea30abcc491c660016040516106d29190611810565b60405180910390a1831561072057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b60055460085460405163e6a4390560e01b81526001600160a01b03848116600483015291821660248201526000928392169063e6a4390590604401602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a891906117f3565b60055460075460405163e6a4390560e01b81526001600160a01b038781166004830152918216602482015292935060009291169063e6a4390590604401602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082691906117f3565b905060006001600160a01b03831661083f5760006108a9565b6040516370a0823160e01b81526001600160a01b0384811660048301528616906370a0823190602401602060405180830381865afa158015610885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a9919061189c565b905060006001600160a01b0383166108c257600061092c565b6040516370a0823160e01b81526001600160a01b0384811660048301528716906370a0823190602401602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c919061189c565b90508115801561093a575080155b156109765760405162461bcd60e51b81526020600482015260076024820152662727afa820a4a960c91b60448201526064015b60405180910390fd5b808210156109845782610986565b835b9695505050505050565b6001805461099d906116ab565b80601f01602080910402602001604051908101604052809291908181526020018280546109c9906116ab565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b505050505081565b6000610a4b7f000000000000000000000000000000000000000000000000000000000000000060126118b5565b610a5690600a611598565b600654600754610a72916001600160a01b039081169116610f9e565b6102e291906115be565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae0919061189c565b826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b429190611478565b610b4d90600a611598565b610b5684610316565b610b6091906115a7565b61031091906115be565b60408051600481526024810182526020810180516001600160e01b031663c45a015560e01b1790529051600091829182916001600160a01b0386169161c35091610bb3916118ce565b6000604051808303818686fa925050503d8060008114610bef576040519150601f19603f3d011682016040523d82523d6000602084013e610bf4565b606091505b5091509150811580610c0557508051155b15610c14575060009392505050565b80806020019051810190610c2891906117f3565b6005546001600160a01b03908116911614949350505050565b6000806000610c4f8561125c565b90925090506001600160a01b03848116908316148080610c805750816001600160a01b0316856001600160a01b0316145b610cc15760405162461bcd60e51b815260206004820152601260248201527124a72b20a624a22fa820a4a92faa27a5a2a760711b604482015260640161096d565b6000610cce86858561132c565b6008546007549192506001600160a01b0380841691811682149216148115610d4757610d1b7f000000000000000000000000000000000000000000000000000000000000000060126118b5565b610d2690600a611598565b610d308a8a610f9e565b610d3a91906115be565b9650505050505050610310565b8015610db357610d787f000000000000000000000000000000000000000000000000000000000000000060246118b5565b610d8390600a611598565b600654600754610d9f916001600160a01b039081169116610f9e565b610da98b8b610f9e565b610d3091906115a7565b60405162461bcd60e51b815260206004820152600c60248201526b24a72b20a624a22fa820a4a960a11b604482015260640161096d565b6000806000610df88461125c565b6008549193509150610e14906001600160a01b0316838361132c565b92506001600160a01b038316610e3e57600754610e3b906001600160a01b0316838361132c565b92505b6001600160a01b038316610e885760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f504149525f4241534560781b604482015260640161096d565b5050919050565b600080600080610e9e8661125c565b509050600080876001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ee2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f069190611906565b5090925090506001600160a01b038781169084161480610f2857808284610f2c565b8083835b919b6001600160701b039182169b50911698509650505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610310565b60608282604051602001610f87929190611956565b604051602081830303815290604052905092915050565b6000806000610fac8561125c565b915091506000806000610fbf8888610e8f565b9250925092508280610fe25750836001600160a01b0316876001600160a01b0316145b6110235760405162461bcd60e51b815260206004820152601260248201527124a72b20a624a22fa820a4a92faa27a5a2a760711b604482015260640161096d565b811580159061103157508015155b61106c5760405162461bcd60e51b815260206004820152600c60248201526b4e4f5f4c495155494449545960a01b604482015260640161096d565b60008361115157856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d59190611478565b856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111379190611478565b611142906012611985565b61114c91906118b5565b61122a565b846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b39190611478565b866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112159190611478565b611220906012611985565b61122a91906118b5565b60ff1690508261123b82600a61199e565b61124590846115a7565b61124f91906115be565b9998505050505050505050565b600080826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c191906117f3565b836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132391906117f3565b91509150915091565b6000826001600160a01b0316846001600160a01b03161461136d57816001600160a01b0316846001600160a01b0316146113675760006103cb565b826103cb565b5092915050565b6001600160a01b038116811461138957600080fd5b50565b60006020828403121561139e57600080fd5b81356113a981611374565b9392505050565b600080600080600060a086880312156113c857600080fd5b85356113d381611374565b945060208601356113e381611374565b935060408601356113f381611374565b9250606086013561140381611374565b9150608086013561141381611374565b809150509295509295909350565b60005b8381101561143c578181015183820152602001611424565b50506000910152565b6020815260008251806020840152611464816040850160208701611421565b601f01601f19169190910160400192915050565b60006020828403121561148a57600080fd5b815160ff811681146113a957600080fd5b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156114ec578085048111156114d0576114d061149b565b60018416156114de57908102905b60019390931c9280026114b5565b935093915050565b60008261150357506001610310565b8161151057506000610310565b816001811461152657600281146115305761154c565b6001915050610310565b60ff8411156115415761154161149b565b50506001821b610310565b5060208310610133831016604e8410600b841016171561156f575081810a610310565b61157c60001984846114b1565b80600019048211156115905761159061149b565b029392505050565b60006113a960ff8416836114f4565b80820281158282048414176103105761031061149b565b6000826115db57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561160857600080fd5b815167ffffffffffffffff81111561161f57600080fd5b8201601f8101841361163057600080fd5b805167ffffffffffffffff81111561164a5761164a6115e0565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611679576116796115e0565b60405281815282820160200186101561169157600080fd5b6116a2826020830160208601611421565b95945050505050565b600181811c908216806116bf57607f821691505b6020821081036116df57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561172f57806000526020600020601f840160051c8101602085101561170c5750805b601f840160051c820191505b8181101561172c5760008155600101611718565b50505b505050565b815167ffffffffffffffff81111561174e5761174e6115e0565b6117628161175c84546116ab565b846116e5565b6020601f821160018114611796576000831561177e5750848201515b600019600385901b1c1916600184901b17845561172c565b600084815260208120601f198516915b828110156117c657878501518255602094850194600190920191016117a6565b50848210156117e45786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60006020828403121561180557600080fd5b81516113a981611374565b602081526000808354611822816116ab565b8060208601526001821660008114611841576001811461185d57611891565b60ff1983166040870152604082151560051b8701019350611891565b86600052602060002060005b8381101561188857815488820160400152600190910190602001611869565b87016040019450505b509195945050505050565b6000602082840312156118ae57600080fd5b5051919050565b60ff82811682821603908111156103105761031061149b565b600082516118e0818460208701611421565b9190910192915050565b80516001600160701b038116811461190157600080fd5b919050565b60008060006060848603121561191b57600080fd5b611924846118ea565b9250611932602085016118ea565b9150604084015163ffffffff8116811461194b57600080fd5b809150509250925092565b60008351611968818460208801611421565b83519083019061197c818360208801611421565b01949350505050565b60ff81811683821601908111156103105761031061149b565b60006113a983836114f456fea26469706673582212202df270b75eb62ee332af07bc348b76d7dec45c05d37f608c8c42c66c52baa29864736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "int256"; readonly name: "current"; readonly type: "int256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "updatedAt"; readonly type: "uint256"; } ]; readonly name: "AnswerUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; } ]; readonly name: "NewAsset"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "string"; readonly name: "description"; readonly type: "string"; } ]; readonly name: "NewDescription"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint256"; readonly name: "roundId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "startedBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "startedAt"; readonly type: "uint256"; } ]; readonly name: "NewRound"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "USD"; readonly outputs: readonly [ { readonly internalType: "contract IERC20Exp"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "V2Price"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "contract IERC20Exp"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "deploymentTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "description"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "ethUsdPrice"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "feedImplementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "contract IUniswapV2Pair"; readonly name: "_pair"; readonly type: "address"; } ]; readonly name: "getLPTVL"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "contract IUniswapV2Pair"; readonly name: "_pair"; readonly type: "address"; } ]; readonly name: "getLPUSD"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; } ]; readonly name: "getPairByToken"; readonly outputs: readonly [ { readonly internalType: "contract IUniswapV2Pair"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; } ]; readonly name: "getTokenUSD"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_feedImplementation"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_swapFactory"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_USD"; readonly type: "address"; } ]; readonly name: "initializeSwapFeed"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestAnswer"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestRound"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "latestTimestamp"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "swapFactory"; readonly outputs: readonly [ { readonly internalType: "contract IUniswapV2Factory"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "version"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "wethUsdPair"; readonly outputs: readonly [ { readonly internalType: "contract IUniswapV2Pair"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; } ]; static createInterface(): V2SwapFeedInterface; static connect(address: string, runner?: ContractRunner | null): V2SwapFeed; } export type V2SwapFeedFactoryConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class V2SwapFeedFactory__factory extends ContractFactory { constructor(...args: V2SwapFeedFactoryConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): V2SwapFeedFactory__factory; static readonly bytecode = "0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610af1806100d96000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80636e135eec11610097578063ad5c464811610066578063ad5c46481461024c578063c34e596f1461025f578063dbc4d32d14610272578063f2fde38b1461028557600080fd5b80636e135eec146101ee578063715018a6146102015780637944f944146102095780638da5cb5b1461021c57600080fd5b80634486b1c7116100d35780634486b1c714610186578063580a560e1461019957806358303b10146101ba5780635b769f3c146101db57600080fd5b8063178bc56e146101055780631bf6c21b146101355780632c626de5146101485780632fba4aa91461015d575b600080fd5b600254610118906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600554610118906001600160a01b031681565b61015b610156366004610a22565b610298565b005b61011861016b366004610a87565b6001602052600090815260409020546001600160a01b031681565b61015b610194366004610a87565b6103d0565b6101ac6101a7366004610a87565b61042d565b60405190815260200161012c565b6000546101c89061ffff1681565b60405161ffff909116815260200161012c565b61015b6101e9366004610a87565b6104bf565b61015b6101fc366004610a87565b610515565b61015b610715565b600354610118906001600160a01b031681565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610118565b600454610118906001600160a01b031681565b61015b61026d366004610a87565b610729565b61015b610280366004610a87565b61077f565b61015b610293366004610a87565b6107d5565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156102de5750825b905060008267ffffffffffffffff1660011480156102fb5750303b155b905081158015610309575080155b156103275760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561035157845460ff60401b1916600160401b1785555b61035a896103d0565b61036388610729565b61036c876104bf565b6103758661077f565b61037e8a610818565b83156103c457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b6103d8610829565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fce025e89252f6ab5a030250b37df78e66a1d92854226981373dff41586821a6d906020015b60405180910390a150565b6001600160a01b03808216600090815260016020526040812054909116806104565760006104b8565b806001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190610aa2565b9392505050565b6104c7610829565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fe390bcec6614d6b1f8ae47a4d9d46531ce328e3d293ecd6ddd015cb01eff030090602001610422565b61051d610829565b6001600160a01b0381811660009081526001602090815260408083205460025460035460045460055494516bffffffffffffffffffffffff1960608b811b82169883019890985284881b8116603483015292871b8316604882015290861b8216605c8201529390941b90931660708301528416936105b59216906084016040516020818303038152906040528051906020012061089f565b600254600354600480546005546040516331f0b54160e11b81526001600160a01b038a81169482019490945294831660248601529282166044850152811660648401529081166084830152919250908216906363e16a829060a401600060405180830381600087803b15801561062a57600080fd5b505af115801561063e573d6000803e3d6000fd5b505050506001600160a01b0383811660008181526001602090815260409182902080546001600160a01b0319168686169081179091558251948716855233918501919091529261034892917fb56c4f88c3e344891ef92e51f036d7116e886f4ea57f5ba93e28b5f44925b9ce910160405180910390a4600054604080516001600160a01b03858116825261ffff9093166020820152338183015290518383169261034892908716917f27a180c70f2642f63d1694eb252b7df52e7ab2565e3f67adf7748acb7d82b9bc9181900360600190a4505050565b61071d610829565b61072760006108ad565b565b610731610829565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f07925669a65c6cfe24a7577e4b501bf561d0ffe36d8d6707802d2d17e596076790602001610422565b610787610829565b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527f0760150a180a9ab0096f89d108362c0cf356435a5f98f4359e45dd152761dccc90602001610422565b6107dd610829565b6001600160a01b03811661080c57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610815816108ad565b50565b61082061091e565b61081581610967565b600061085c7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b90506001600160a01b038116331480159061087f57506001600160a01b03811615155b156108155760405163118cdaa760e01b8152336004820152602401610803565b60006104b88383600061096f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661072757604051631afcd79f60e31b815260040160405180910390fd5b6107dd61091e565b60008147101561099b5760405163cf47918160e01b815247600482015260248101839052604401610803565b763d602d80600a3d3981f3363d3d373d3d3d363d730000008460601b60e81c176000526e5af43d82803e903d91602b57fd5bf38460781b17602052826037600984f590506001600160a01b0381166104b85760405163b06ebf3d60e01b815260040160405180910390fd5b80356001600160a01b0381168114610a1d57600080fd5b919050565b600080600080600060a08688031215610a3a57600080fd5b610a4386610a06565b9450610a5160208701610a06565b9350610a5f60408701610a06565b9250610a6d60608701610a06565b9150610a7b60808701610a06565b90509295509295909350565b600060208284031215610a9957600080fd5b6104b882610a06565b600060208284031215610ab457600080fd5b505191905056fea26469706673582212208945f3cea8a08fe6b11434fa7c95543eb9d8646d6f2871f42ef98b0c35637cd764736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ ]; readonly name: "FailedDeployment"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "denomination"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "latestAggregator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "previousAggregator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "nextPhaseId"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "FeedConfirmed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "denomination"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "proposedAggregator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "currentAggregator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "FeedProposed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "feedImplementation"; readonly type: "address"; } ]; readonly name: "SetFeedImplementation"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "factory"; readonly type: "address"; } ]; readonly name: "SetSwapFactory"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "usd"; readonly type: "address"; } ]; readonly name: "SetUSD"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "weth"; readonly type: "address"; } ]; readonly name: "SetWETH"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "USD"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; } ]; readonly name: "createFeed"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "feedImplementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "feeds"; readonly outputs: readonly [ { readonly internalType: "contract IV2SwapFeed"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_initOwner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_feedImplementation"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_swapFactory"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_USD"; readonly type: "address"; } ]; readonly name: "initializeFactory"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; } ]; readonly name: "latestAnswer"; readonly outputs: readonly [ { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "phaseId"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_feedImplementation"; readonly type: "address"; } ]; readonly name: "setFeedImplementation"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_swapFactory"; readonly type: "address"; } ]; readonly name: "setSwapFactory"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_USD"; readonly type: "address"; } ]; readonly name: "setUSD"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; } ]; readonly name: "setWETH"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "swapFactory"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): V2SwapFeedFactoryInterface; static connect(address: string, runner?: ContractRunner | null): V2SwapFeedFactory; } export type MasterChefConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class MasterChef__factory extends ContractFactory { constructor(...args: MasterChefConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): MasterChef__factory; static readonly bytecode = "0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b612097806100d96000396000f3fe60806040526004361061019f5760003560e01c8063715018a6116100ec578063e907d8c01161008a578063f64ba28b11610064578063f64ba28b146105b6578063f7c618c1146105d6578063f83a9e87146105f6578063ff51a2721461061657600080fd5b8063e907d8c014610522578063efaf059714610542578063f2fde38b1461059657600080fd5b80638da5cb5b116100c65780638da5cb5b1461048557806395007576146104c2578063ad5c4648146104e2578063cf2770d61461050257600080fd5b8063715018a6146104265780637b9eac7c1461043b578063859fe6c71461047257600080fd5b806317caf6f1116101595780633c9e4e3e116101335780633c9e4e3e146103b15780633d912033146103d157806361249d86146103f1578063630b5ba11461041157600080fd5b806317caf6f1146103275780632e7980a2146103595780633a2c67771461037957600080fd5b8062893452146102005780630407539914610229578063081e3eda146102495780631246dbf51461026d5780631526fe271461029d578063171e82a21461030757600080fd5b366101fb576000546001600160a01b031633036101b857005b6000546101cd906001600160a01b0316610647565b156101f957600080546001600160a01b03168152600460205260409020546101f99061ffff16346106b9565b005b600080fd5b34801561020c57600080fd5b5061021660035481565b6040519081526020015b60405180910390f35b34801561023557600080fd5b506101f9610244366004611bb9565b610739565b34801561025557600080fd5b506005545b60405161ffff9091168152602001610220565b34801561027957600080fd5b5061028d610288366004611bee565b610647565b6040519015158152602001610220565b3480156102a957600080fd5b506102bd6102b8366004611bb9565b61077c565b604080516001600160a01b03909716875263ffffffff909516602087015265ffffffffffff93841694860194909452908216606085015216608083015260a082015260c001610220565b34801561031357600080fd5b506101f9610322366004611c55565b6107e6565b34801561033357600080fd5b506007546103449063ffffffff1681565b60405163ffffffff9091168152602001610220565b34801561036557600080fd5b5061025a610374366004611cba565b610a00565b34801561038557600080fd5b50600254610399906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156103bd57600080fd5b506101f96103cc366004611cdb565b610c63565b3480156103dd57600080fd5b506101f96103ec366004611d6b565b610e17565b3480156103fd57600080fd5b5061021661040c366004611d95565b610e5f565b34801561041d57600080fd5b506101f9610e76565b34801561043257600080fd5b506101f9610ea1565b34801561044757600080fd5b5061045b610456366004611db0565b610eb5565b60405165ffffffffffff9091168152602001610220565b6101f9610480366004611d6b565b6106b9565b34801561049157600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610399565b3480156104ce57600080fd5b506101f96104dd366004611e09565b610f92565b3480156104ee57600080fd5b50600054610399906001600160a01b031681565b34801561050e57600080fd5b506101f961051d366004611d95565b61106d565b34801561052e57600080fd5b5061021661053d366004611eed565b6110cd565b34801561054e57600080fd5b5061058161055d366004611eed565b60066020908152600092835260408084209091529082529020805460019091015482565b60408051928352602083019190915201610220565b3480156105a257600080fd5b506101f96105b1366004611bee565b611130565b3480156105c257600080fd5b506102166105d1366004611d95565b61116e565b3480156105e257600080fd5b50600154610399906001600160a01b031681565b34801561060257600080fd5b50610216610611366004611db0565b6112ae565b34801561062257600080fd5b5061025a610631366004611bee565b60046020526000908152604090205461ffff1681565b6001600160a01b03811660009081526004602052604081205461ffff161515806106b3575060055460011480156106b35750816001600160a01b0316600560008154811061069757610697611f20565b60009182526020909120600390910201546001600160a01b0316145b92915050565b6106c161134b565b60055461ffff8316106106ef5760405162461bcd60e51b81526004016106e690611f36565b60405180910390fd5b6106f98233611395565b801561070c5761070a82338361152e565b505b61073560017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5050565b61074161179c565b60038190556040518181527f403d953100676c530ee357c0fe9f352dc6c18bd4e8594c49d2107ecbad6a6f099060200160405180910390a150565b6005818154811061078c57600080fd5b60009182526020909120600390910201805460018201546002909201546001600160a01b038216935063ffffffff600160a01b8304169265ffffffffffff600160c01b90930483169281811692600160301b909204169086565b6107ee61179c565b60055461ffff8616106108135760405162461bcd60e51b81526004016106e690611f36565b801561082157610821610e76565b8360058661ffff168154811061083957610839611f20565b60009182526020909120600390910201546007546108679163ffffffff600160a01b90910481169116611f72565b6108719190611f8e565b600760006101000a81548163ffffffff021916908363ffffffff1602179055508360058661ffff16815481106108a9576108a9611f20565b906000526020600020906003020160000160146101000a81548163ffffffff021916908363ffffffff1602179055508260058661ffff16815481106108f0576108f0611f20565b906000526020600020906003020160000160186101000a81548165ffffffffffff021916908365ffffffffffff1602179055508160058661ffff168154811061093b5761093b611f20565b906000526020600020906003020160010160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060058561ffff168154811061098557610985611f20565b6000918252602091829020600390910201546040805163ffffffff8816815265ffffffffffff80881694820194909452928516908301526001600160a01b03169061ffff8716907f68a8292d2ea1e779a0f3ac4b3d3958c3fbc336064432311947b08a714bcbf8409060600160405180910390a35050505050565b6000610a0a61179c565b610a1386610647565b15610a525760405162461bcd60e51b815260206004820152600f60248201526e111d5c1b1a58d85d195908141bdbdb608a1b60448201526064016106e6565b8115610a6057610a60610e76565b5060055460078054869190600090610a7f90849063ffffffff16611f8e565b825463ffffffff9182166101009390930a9283029282021916919091179091556001600160a01b038089166000818152600460209081526040808320805461ffff8a1661ffff199091168117909155815160c0810183528581528d881693810193845265ffffffffffff808e168285019081528d8216606084019081526080840188815260a08501898152600580546001810182559a52945160039099027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018054995194518616600160c01b0265ffffffffffff60c01b1995909e16600160a01b026001600160c01b0319909a169a909c169990991797909717919091169990991790975596517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db18501805494518816600160301b026bffffffffffffffffffffffff1990951691909716179290921790945593517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db29091015590519092507f68a8292d2ea1e779a0f3ac4b3d3958c3fbc336064432311947b08a714bcbf84090610c529089908990899063ffffffff93909316835265ffffffffffff918216602084015216604082015260600190565b60405180910390a395945050505050565b6000610c6d611812565b805490915060ff600160401b820416159067ffffffffffffffff16600081158015610c955750825b905060008267ffffffffffffffff166001148015610cb25750303b155b905081158015610cc0575080155b15610cde5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d0857845460ff60401b1916600160401b1785555b610d1061183b565b600080546001600160a01b03808f166001600160a01b031992831617909255600180548e841690831617905560028054928d1692909116919091179055610d5689610739565b8515610d6e57610d6c8b6103e88a8a6000610a00565b505b610d778d61184b565b604080516001600160a01b038e811682528d811660208301528c168183015290517fe86209b390e8076baf4c4a616512319eb81d91e8b1f8ca206e88c5ff1c264e149181900360600190a18315610e0857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b610e1f61134b565b60055461ffff831610610e445760405162461bcd60e51b81526004016106e690611f36565b610e4e8233611395565b801561070c5761070a82338361185c565b60006106b382610e70600142611faa565b426112ae565b60055460005b818161ffff16101561073557610e918161106d565b610e9a81611fbd565b9050610e7c565b610ea961179c565b610eb36000611924565b565b60008165ffffffffffff168365ffffffffffff1610610ed657506000610f8b565b600060058561ffff1681548110610eef57610eef611f20565b6000918252602082206003909102018054600182015491935065ffffffffffff600160c01b909104811692918116919087168310610f2d5782610f2f565b865b905060008265ffffffffffff168765ffffffffffff1610610f505782610f52565b865b90508065ffffffffffff168265ffffffffffff1610610f7957600095505050505050610f8b565b610f838282611fde565b955050505050505b9392505050565b6000806000610fa084611995565b92509250925060058761ffff1681548110610fbd57610fbd611f20565b600091825260209091206003909102015460405163d505accf60e01b81523360048201523060248201526044810188905265ffffffffffff8716606482015260ff8516608482015260a4810184905260c481018390526001600160a01b039091169063d505accf9060e401600060405180830381600087803b15801561104257600080fd5b505af1158015611056573d6000803e3d6000fd5b5050505061106487876106b9565b50505050505050565b600060058261ffff168154811061108657611086611f20565b9060005260206000209060030201905061109f8261116e565b600282015560010180546bffffffffffff0000000000001916600160301b4265ffffffffffff160217905550565b61ffff821660009081526006602090815260408083206001600160a01b03851684529091528120600181015464e8d4a510006111088661116e565b83546111149190611ffc565b61111e9190612013565b6111289190611faa565b949350505050565b61113861179c565b6001600160a01b03811661116257604051631e4fbdf760e01b8152600060048201526024016106e6565b61116b81611924565b50565b60008060058361ffff168154811061118857611188611f20565b600091825260208083206040805160c08101825260039490940290910180546001600160a01b038116808652600160a01b820463ffffffff1694860194909452600160c01b900465ffffffffffff9081168584015260018201548082166060870152600160301b90041660808501526002015460a0840181905290516370a0823160e01b815230600482015292945092916370a0823190602401602060405180830381865afa15801561123f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112639190612035565b905080156112a657600061127c868560800151426112ae565b90508161128e8264e8d4a51000611ffc565b6112989190612013565b6112a2908461204e565b9250505b509392505050565b60075460009063ffffffff1681036112c857506000610f8b565b600060058561ffff16815481106112e1576112e1611f20565b6000918252602090912060075460039283029091018054925490935063ffffffff91821692600160a01b90049091169061131c888888610eb5565b65ffffffffffff1661132e9190611ffc565b6113389190611ffc565b6113429190612013565b95945050505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080546001190161138f57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b600060058361ffff16815481106113ae576113ae611f20565b6000918252602080832061ffff871684526006825260408085206001600160a01b03881686529092529220600390910290910191506113ec8461106d565b80541561151e576000816001015464e8d4a51000846002015484600001546114149190611ffc565b61141e9190612013565b6114289190611faa565b9050801561151c576002546001600160a01b03166114ab576001546040516340c10f1960e01b81526001600160a01b03868116600483015260248201849052909116906340c10f1990604401600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b5050505061151c565b60025460015460405163ae63932960e01b81526001600160a01b03918216600482015286821660248201526044810184905291169063ae63932990606401600060405180830381600087803b15801561150357600080fd5b505af1158015611517573d6000803e3d6000fd5b505050505b505b61152884846119df565b50505050565b60008060058561ffff168154811061154857611548611f20565b6000918252602080832061ffff891684526006825260408085206001600160a01b03808b16875293528420935460039093020180549094508116911614801561159057508334145b156116015760008054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156115e357600080fd5b505af11580156115f7573d6000803e3d6000fd5b5050505050611700565b81546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166d9190612035565b8354909150611687906001600160a01b0316873088611a5c565b82546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f29190612035565b6116fc9190611faa565b9450505b83816000016000828254611714919061204e565b90915550611724905086866119df565b8561ffff16856001600160a01b03167f2c00706df3fbb4a8ead830d4c0a7f278823843af15ad7e680c4f7db763dd779c8660405161176491815260200190565b60405180910390a35091949350505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60006117cf7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b90506001600160a01b03811633148015906117f257506001600160a01b03811615155b1561116b5760405163118cdaa760e01b81523360048201526024016106e6565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006106b3565b611843611ac3565b610eb3611ae8565b611853611ac3565b61116b81611af0565b60008060058561ffff168154811061187657611876611f20565b6000918252602080832061ffff891684526006825260408085206001600160a01b038a1686529092529083208054600390930290910193509185918391906118bf908490611faa565b909155505081546118da906001600160a01b03168686611af8565b6118e486866119df565b8561ffff16856001600160a01b03167f4e2ebfe79f50514ade8e774c7f3c01250d6aa3a91cd1f5c33a78df9c459f6e9d8660405161176491815260200190565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b600080600083516041036119bf5750505060208101516040820151606083015160001a91906119d8565b604051634be6321b60e01b815260040160405180910390fd5b9193909250565b600060058361ffff16815481106119f8576119f8611f20565b6000918252602080832061ffff871684526006825260408085206001600160a01b038816865290925292206002600390920290920190810154825491935064e8d4a5100091611a479190611ffc565b611a519190612013565b600190910155505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526115289186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611b2e565b611acb611b9f565b610eb357604051631afcd79f60e31b815260040160405180910390fd5b611776611ac3565b611138611ac3565b6040516001600160a01b03838116602483015260448201839052611b2991859182169063a9059cbb90606401611a91565b505050565b600080602060008451602086016000885af180611b51576040513d6000823e3d81fd5b50506000513d91508115611b69578060011415611b76565b6001600160a01b0384163b155b1561152857604051635274afe760e01b81526001600160a01b03851660048201526024016106e6565b6000611ba9611812565b54600160401b900460ff16919050565b600060208284031215611bcb57600080fd5b5035919050565b80356001600160a01b0381168114611be957600080fd5b919050565b600060208284031215611c0057600080fd5b610f8b82611bd2565b803561ffff81168114611be957600080fd5b803563ffffffff81168114611be957600080fd5b803565ffffffffffff81168114611be957600080fd5b80358015158114611be957600080fd5b600080600080600060a08688031215611c6d57600080fd5b611c7686611c09565b9450611c8460208701611c1b565b9350611c9260408701611c2f565b9250611ca060608701611c2f565b9150611cae60808701611c45565b90509295509295909350565b600080600080600060a08688031215611cd257600080fd5b611c7686611bd2565b600080600080600080600080610100898b031215611cf857600080fd5b611d0189611bd2565b9750611d0f60208a01611bd2565b9650611d1d60408a01611bd2565b9550611d2b60608a01611bd2565b945060808901359350611d4060a08a01611c2f565b9250611d4e60c08a01611c2f565b9150611d5c60e08a01611c45565b90509295985092959890939650565b60008060408385031215611d7e57600080fd5b611d8783611c09565b946020939093013593505050565b600060208284031215611da757600080fd5b610f8b82611c09565b600080600060608486031215611dc557600080fd5b611dce84611c09565b9250611ddc60208501611c2f565b9150611dea60408501611c2f565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611e1f57600080fd5b611e2885611c09565b935060208501359250611e3d60408601611c2f565b9150606085013567ffffffffffffffff811115611e5957600080fd5b8501601f81018713611e6a57600080fd5b803567ffffffffffffffff811115611e8457611e84611df3565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611eb357611eb3611df3565b604052818152828201602001891015611ecb57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611f0057600080fd5b611f0983611c09565b9150611f1760208401611bd2565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b6020808252600c908201526b125b9d985b1a5908141bdbdb60a21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff82811682821603908111156106b3576106b3611f5c565b63ffffffff81811683821601908111156106b3576106b3611f5c565b818103818111156106b3576106b3611f5c565b600061ffff821661ffff8103611fd557611fd5611f5c565b60010192915050565b65ffffffffffff82811682821603908111156106b3576106b3611f5c565b80820281158282048414176106b3576106b3611f5c565b60008261203057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561204757600080fd5b5051919050565b808201808211156106b3576106b3611f5c56fea264697066735822122030e91b303ef07202c9af22b539a9457cb1106fcf050b483c35259d6b22aa821b64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ReentrancyGuardReentrantCall"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "WETH"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "rewardVault"; readonly type: "address"; } ]; readonly name: "InitializedChef"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lpToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "newAllocPoint"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "startTime"; readonly type: "uint48"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "endTime"; readonly type: "uint48"; } ]; readonly name: "SetPool"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint256"; readonly name: "rewardsPerSec"; readonly type: "uint256"; } ]; readonly name: "SetRewards"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "contract IWETH"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "add"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "_signature"; readonly type: "bytes"; } ]; readonly name: "depositPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getMultiplier"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getPoolRewardsByTime"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getPoolRewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getRewardsPerShare"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; } ]; readonly name: "hasPool"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardVault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "addPool"; readonly type: "bool"; } ]; readonly name: "initializeChef"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "massUpdatePools"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; } ]; readonly name: "pendingRewards"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "poolId"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly name: "poolInfo"; readonly outputs: readonly [ { readonly internalType: "contract IERC20"; readonly name: "lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "endTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "lastRewardTime"; readonly type: "uint48"; }, { readonly internalType: "uint256"; readonly name: "accRewardsPerShare"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "poolLength"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardToken"; readonly outputs: readonly [ { readonly internalType: "contract IERC20Mintable"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardVault"; readonly outputs: readonly [ { readonly internalType: "contract IRewardVault"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "set"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; } ]; readonly name: "setRewardsPerSec"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAllocPoint"; readonly outputs: readonly [ { readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "updatePool"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "userInfo"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "rewardDebt"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; } ]; static createInterface(): MasterChefInterface; static connect(address: string, runner?: ContractRunner | null): MasterChef; } export type MasterPoolConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class MasterPool__factory extends ContractFactory { constructor(...args: MasterPoolConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): MasterPool__factory; static readonly bytecode = "0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b612f7c806100d96000396000f3fe60806040526004361061023e5760003560e01c806377ba79501161012e578063cf2770d6116100ab578063f2fde38b1161006f578063f2fde38b14610804578063f64ba28b14610824578063f7c618c114610844578063f83a9e8714610864578063ff51a2721461088457600080fd5b8063cf2770d614610730578063d3efaf3a14610750578063db2aa12714610770578063e907d8c014610790578063efaf0597146107b057600080fd5b80638da5cb5b116100f25780638da5cb5b14610662578063950075761461069f578063aa020654146106bf578063ad5c4648146106f0578063cd09525d1461071057600080fd5b806377ba7950146105d45780637b9eac7c146105f45780637e6335f414610614578063859fe6c71461062f5780638af96a661461064257600080fd5b80633a2c6777116101bc578063630b5ba111610180578063630b5ba11461051057806369eb9cdb1461052557806369ff74f11461055b5780636a47aa0614610583578063715018a6146105bf57600080fd5b80633a2c6777146104585780633c9e4e3e146104905780633d912033146104b05780634fb4bb8c146104d057806361249d86146104f057600080fd5b8063171e82a211610203578063171e82a2146103a657806317c52c47146103c657806317caf6f1146103e6578063192e30f8146104185780632e7980a21461043857600080fd5b80628934521461029f57806304075399146102c8578063081e3eda146102e85780631246dbf51461030c5780631526fe271461033c57600080fd5b3661029a576000546001600160a01b0316330361025757005b60005461026c906001600160a01b03166108b5565b1561029857600080546001600160a01b03168152600460205260409020546102989061ffff1634610927565b005b600080fd5b3480156102ab57600080fd5b506102b560035481565b6040519081526020015b60405180910390f35b3480156102d457600080fd5b506102986102e33660046128a9565b6109a7565b3480156102f457600080fd5b506005545b60405161ffff90911681526020016102bf565b34801561031857600080fd5b5061032c6103273660046128de565b6108b5565b60405190151581526020016102bf565b34801561034857600080fd5b5061035c6103573660046128a9565b6109eb565b604080516001600160a01b03909716875263ffffffff909516602087015265ffffffffffff93841694860194909452908216606085015216608083015260a082015260c0016102bf565b3480156103b257600080fd5b506102986103c1366004612945565b610a55565b3480156103d257600080fd5b506102986103e13660046129aa565b610c6f565b3480156103f257600080fd5b506007546104039063ffffffff1681565b60405163ffffffff90911681526020016102bf565b34801561042457600080fd5b506102986104333660046129c5565b610ccd565b34801561044457600080fd5b506102f9610453366004612a02565b610e37565b34801561046457600080fd5b50600254610478906001600160a01b031681565b6040516001600160a01b0390911681526020016102bf565b34801561049c57600080fd5b506102986104ab366004612a23565b610fa9565b3480156104bc57600080fd5b506102986104cb366004612ab3565b61115d565b3480156104dc57600080fd5b5061032c6104eb3660046128de565b6111a5565b3480156104fc57600080fd5b506102b561050b366004612add565b611207565b34801561051c57600080fd5b5061029861121e565b34801561053157600080fd5b50610478610540366004612add565b6008602052600090815260409020546001600160a01b031681565b34801561056757600080fd5b506007546104789064010000000090046001600160a01b031681565b34801561058f57600080fd5b50600a546105a89062010000900465ffffffffffff1681565b60405165ffffffffffff90911681526020016102bf565b3480156105cb57600080fd5b50610298611249565b3480156105e057600080fd5b506102986105ef366004612af8565b61125d565b34801561060057600080fd5b506105a861060f366004612b14565b6112b8565b34801561062057600080fd5b50600a546102f99061ffff1681565b61029861063d366004612ab3565b610927565b34801561064e57600080fd5b5061029861065d366004612add565b611395565b34801561066e57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610478565b3480156106ab57600080fd5b506102986106ba366004612b6d565b6113e1565b3480156106cb57600080fd5b506102f96106da3660046128de565b60096020526000908152604090205461ffff1681565b3480156106fc57600080fd5b50600054610478906001600160a01b031681565b34801561071c57600080fd5b5061029861072b3660046128de565b6114bc565b34801561073c57600080fd5b5061029861074b366004612add565b61154e565b34801561075c57600080fd5b5061029861076b366004612c51565b6115ae565b34801561077c57600080fd5b5061029861078b366004612af8565b611609565b34801561079c57600080fd5b506102b56107ab366004612d16565b61165d565b3480156107bc57600080fd5b506107ef6107cb366004612d16565b60066020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016102bf565b34801561081057600080fd5b5061029861081f3660046128de565b6116c0565b34801561083057600080fd5b506102b561083f366004612add565b6116fe565b34801561085057600080fd5b50600154610478906001600160a01b031681565b34801561087057600080fd5b506102b561087f366004612b14565b61183e565b34801561089057600080fd5b506102f961089f3660046128de565b60046020526000908152604090205461ffff1681565b6001600160a01b03811660009081526004602052604081205461ffff16151580610921575060055460011480156109215750816001600160a01b0316600560008154811061090557610905612d49565b60009182526020909120600390910201546001600160a01b0316145b92915050565b61092f611ad2565b60055461ffff83161061095d5760405162461bcd60e51b815260040161095490612d5f565b60405180910390fd5b6109678233611b1c565b801561097a57610978823383611caf565b505b6109a360017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5050565b6109af611d67565b60038190556040518181527f403d953100676c530ee357c0fe9f352dc6c18bd4e8594c49d2107ecbad6a6f09906020015b60405180910390a150565b600581815481106109fb57600080fd5b60009182526020909120600390910201805460018201546002909201546001600160a01b038216935063ffffffff600160a01b8304169265ffffffffffff600160c01b90930483169281811692600160301b909204169086565b610a5d611d67565b60055461ffff861610610a825760405162461bcd60e51b815260040161095490612d5f565b8015610a9057610a9061121e565b8360058661ffff1681548110610aa857610aa8612d49565b6000918252602090912060039091020154600754610ad69163ffffffff600160a01b90910481169116612d9b565b610ae09190612db7565b600760006101000a81548163ffffffff021916908363ffffffff1602179055508360058661ffff1681548110610b1857610b18612d49565b906000526020600020906003020160000160146101000a81548163ffffffff021916908363ffffffff1602179055508260058661ffff1681548110610b5f57610b5f612d49565b906000526020600020906003020160000160186101000a81548165ffffffffffff021916908365ffffffffffff1602179055508160058661ffff1681548110610baa57610baa612d49565b906000526020600020906003020160010160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060058561ffff1681548110610bf457610bf4612d49565b6000918252602091829020600390910201546040805163ffffffff8816815265ffffffffffff80881694820194909452928516908301526001600160a01b03169061ffff8716907f68a8292d2ea1e779a0f3ac4b3d3958c3fbc336064432311947b08a714bcbf8409060600160405180910390a35050505050565b610c77611d67565b600a805467ffffffffffff000019166201000065ffffffffffff8416908102919091179091556040519081527f3cf3f9e376cc97abf512b97a34cd163a9e3eb003aac711f2bc23ac363f3749db906020016109e0565b610cd6336111a5565b610cf25760405162461bcd60e51b815260040161095490612dd3565b3360009081526009602090815260408083205461ffff16808452600683528184206001600160a01b03888116808752919094528285209387168552919093209015801590610d41575081548411155b15610db35783826000016000828254610d5a9190612df5565b90915550610d6a90508387611ddd565b8261ffff16866001600160a01b03167f4e2ebfe79f50514ade8e774c7f3c01250d6aa3a91cd1f5c33a78df9c459f6e9d86604051610daa91815260200190565b60405180910390a35b6001600160a01b03851615610e2f5783816000016000828254610dd69190612e08565b90915550610de690508386611ddd565b8261ffff16856001600160a01b03167f2c00706df3fbb4a8ead830d4c0a7f278823843af15ad7e680c4f7db763dd779c86604051610e2691815260200190565b60405180910390a35b505050505050565b6000610e41611d67565b610e4e8686868686611e5a565b600754604051606089901b6bffffffffffffffffffffffff19166020820152919250600091610ea79164010000000090046001600160a01b031690603401604051602081830303815290604052805190602001206120bd565b600154604051630367f0b360e41b815230600482015261ffff851660248201526001600160a01b038a81166044830152918216606482015291925082919082169063367f0b3090608401600060405180830381600087803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b5050505061ffff8316600081815260086020908152604080832080546001600160a01b0319166001600160a01b038781169190911790915586168084526009835292819020805461ffff191685179055519182527ffaaf525512a973415b1e0c1013407f1249e700df4f7ef24c051bc874434d66b4910160405180910390a2505095945050505050565b6000610fb36120cb565b805490915060ff600160401b820416159067ffffffffffffffff16600081158015610fdb5750825b905060008267ffffffffffffffff166001148015610ff85750303b155b905081158015611006575080155b156110245760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561104e57845460ff60401b1916600160401b1785555b6110566120f4565b600080546001600160a01b03808f166001600160a01b031992831617909255600180548e841690831617905560028054928d169290911691909117905561109c896109a7565b85156110b4576110b28b6103e88a8a6000610e37565b505b6110bd8d612104565b604080516001600160a01b038e811682528d811660208301528c168183015290517fe86209b390e8076baf4c4a616512319eb81d91e8b1f8ca206e88c5ff1c264e149181900360600190a1831561114e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b611165611ad2565b60055461ffff83161061118a5760405162461bcd60e51b815260040161095490612d5f565b6111948233611b1c565b801561097a57610978823383612115565b6001600160a01b03811660009081526009602052604081205461ffff161515806109215750506000805260086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7546001600160a01b0391821691161490565b600061092182611218600142612df5565b4261183e565b60055460005b818161ffff1610156109a3576112398161154e565b61124281612e1b565b9050611224565b611251611d67565b61125b6000612170565b565b611266336111a5565b6112825760405162461bcd60e51b815260040161095490612dd3565b3360009081526009602052604090205461ffff166112a08184611b1c565b81156112b3576112b1818484611caf565b505b505050565b60008165ffffffffffff168365ffffffffffff16106112d95750600061138e565b600060058561ffff16815481106112f2576112f2612d49565b6000918252602082206003909102018054600182015491935065ffffffffffff600160c01b9091048116929181169190871683106113305782611332565b865b905060008265ffffffffffff168765ffffffffffff16106113535782611355565b865b90508065ffffffffffff168265ffffffffffff161061137c5760009550505050505061138e565b6113868282612e3c565b955050505050505b9392505050565b61139d611d67565b600a805461ffff191661ffff83169081179091556040519081527f6c8d6880a607b5400f9b0ad0718c6c3c499da1d676ddfc670abbae188543112c906020016109e0565b60008060006113ef846121e1565b92509250925060058761ffff168154811061140c5761140c612d49565b600091825260209091206003909102015460405163d505accf60e01b81523360048201523060248201526044810188905265ffffffffffff8716606482015260ff8516608482015260a4810184905260c481018390526001600160a01b039091169063d505accf9060e401600060405180830381600087803b15801561149157600080fd5b505af11580156114a5573d6000803e3d6000fd5b505050506114b38787610927565b50505050505050565b6114c5336111a5565b6114e15760405162461bcd60e51b815260040161095490612dd3565b336000908152600960205260409020546001546005805461ffff909316926001600160a01b03909216918390811061151b5761151b612d49565b60009182526020909120600390910201546001600160a01b031614611544576109a38183611b1c565b6109a3818361222b565b600060058261ffff168154811061156757611567612d49565b90600052602060002090600302019050611580826116fe565b600282015560010180546bffffffffffff0000000000001916600160301b4265ffffffffffff160217905550565b6115b785611395565b6115c084610c6f565b6115d08b8b8a8a8a888888610fa9565b5050600780546001600160a01b0390981664010000000002640100000000600160c01b0319909816979097179096555050505050505050565b611612336111a5565b61162e5760405162461bcd60e51b815260040161095490612dd3565b3360009081526009602052604090205461ffff1661164c8184611b1c565b81156112b3576112b1818484612115565b61ffff821660009081526006602090815260408083206001600160a01b03851684529091528120600181015464e8d4a51000611698866116fe565b83546116a49190612e5a565b6116ae9190612e87565b6116b89190612df5565b949350505050565b6116c8611d67565b6001600160a01b0381166116f257604051631e4fbdf760e01b815260006004820152602401610954565b6116fb81612170565b50565b60008060058361ffff168154811061171857611718612d49565b600091825260208083206040805160c08101825260039490940290910180546001600160a01b038116808652600160a01b820463ffffffff1694860194909452600160c01b900465ffffffffffff9081168584015260018201548082166060870152600160301b90041660808501526002015460a0840181905290516370a0823160e01b815230600482015292945092916370a0823190602401602060405180830381865afa1580156117cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f39190612e9b565b9050801561183657600061180c8685608001514261183e565b90508161181e8264e8d4a51000612e5a565b6118289190612e87565b6118329084612e08565b9250505b509392505050565b60008165ffffffffffff168365ffffffffffff16101580611865575060075463ffffffff16155b156118725750600061138e565b600060058561ffff168154811061188b5761188b612d49565b6000918252602082206003909102018054600182015491935065ffffffffffff600160c01b9091048116929181169190871683106118c957826118cb565b865b905060008265ffffffffffff168765ffffffffffff16106118ec57826118ee565b865b90508065ffffffffffff168265ffffffffffff16106119155760009550505050505061138e565b600a5462010000900465ffffffffffff1660000361198657600754855460035463ffffffff92831692600160a01b909204909116906119548585612e3c565b65ffffffffffff166119669190612e5a565b6119709190612e5a565b61197a9190612e87565b9550505050505061138e565b600354600a54600091908490839062010000900465ffffffffffff166119ac8984612e3c565b6119b69190612eb4565b90505b8465ffffffffffff168265ffffffffffff161080156119d757508215155b15611a9757600a5460009062010000900465ffffffffffff166119fb836001612ee0565b611a059190612efe565b611a0f908a612ee0565b905060008165ffffffffffff168765ffffffffffff1610611a305781611a32565b865b905084611a3f8583612e3c565b65ffffffffffff16611a519190612e5a565b611a5b9087612e08565b600a549096509093508390606490611a779061ffff1687612e5a565b611a819190612e87565b945082611a8d81612f26565b93505050506119b9565b600754895463ffffffff91821691611ab791600160a01b90041686612e5a565b611ac19190612e87565b9d9c50505050505050505050505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00805460011901611b1657604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b600060058361ffff1681548110611b3557611b35612d49565b6000918252602080832061ffff871684526006825260408085206001600160a01b0388168652909252922060039091029091019150611b738461154e565b805415611ca5576000816001015464e8d4a5100084600201548460000154611b9b9190612e5a565b611ba59190612e87565b611baf9190612df5565b90508015611ca3576002546001600160a01b0316611c32576001546040516340c10f1960e01b81526001600160a01b03868116600483015260248201849052909116906340c10f1990604401600060405180830381600087803b158015611c1557600080fd5b505af1158015611c29573d6000803e3d6000fd5b50505050611ca3565b60025460015460405163ae63932960e01b81526001600160a01b03918216600482015286821660248201526044810184905291169063ae63932990606401600060405180830381600087803b158015611c8a57600080fd5b505af1158015611c9e573d6000803e3d6000fd5b505050505b505b6112b18484611ddd565b600080611cbd8585856123aa565b61ffff861660009081526008602052604090819020549051631b96b2f960e01b81526001600160a01b03878116600483015260248201849052929350911690631b96b2f9906044015b600060405180830381600087803b158015611d2057600080fd5b505af1158015611d34573d6000803e3d6000fd5b5092979650505050505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6000611d9a7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b90506001600160a01b0381163314801590611dbd57506001600160a01b03811615155b156116fb5760405163118cdaa760e01b8152336004820152602401610954565b600060058361ffff1681548110611df657611df6612d49565b6000918252602080832061ffff871684526006825260408085206001600160a01b038816865290925292206002600390920290920190810154825491935064e8d4a5100091611e459190612e5a565b611e4f9190612e87565b600190910155505050565b6000611e64611d67565b611e6d866108b5565b15611eac5760405162461bcd60e51b815260206004820152600f60248201526e111d5c1b1a58d85d195908141bdbdb608a1b6044820152606401610954565b8115611eba57611eba61121e565b5060055460078054869190600090611ed990849063ffffffff16612db7565b825463ffffffff9182166101009390930a9283029282021916919091179091556001600160a01b038089166000818152600460209081526040808320805461ffff8a1661ffff199091168117909155815160c0810183528581528d881693810193845265ffffffffffff808e168285019081528d8216606084019081526080840188815260a08501898152600580546001810182559a52945160039099027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081018054995194518616600160c01b0265ffffffffffff60c01b1995909e16600160a01b026001600160c01b0319909a169a909c169990991797909717919091169990991790975596517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db18501805494518816600160301b026bffffffffffffffffffffffff1990951691909716179290921790945593517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db29091015590519092507f68a8292d2ea1e779a0f3ac4b3d3958c3fbc336064432311947b08a714bcbf840906120ac9089908990899063ffffffff93909316835265ffffffffffff918216602084015216604082015260600190565b60405180910390a395945050505050565b600061138e838360006125f2565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610921565b6120fc612689565b61125b6126ae565b61210c612689565b6116fb816126b6565b6000806121238585856126be565b61ffff861660009081526008602052604090819020549051639fc8ae6d60e01b81526001600160a01b03878116600483015260248201849052929350911690639fc8ae6d90604401611d06565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000806000835160410361220b5750505060208101516040820151606083015160001a9190612224565b604051634be6321b60e01b815260040160405180910390fd5b9193909250565b600060058361ffff168154811061224457612244612d49565b6000918252602080832061ffff871684526006825260408085206001600160a01b03881686529092529220600390910290910191506122828461154e565b805415611ca5576000816001015464e8d4a51000846002015484600001546122aa9190612e5a565b6122b49190612e87565b6122be9190612df5565b90508015611ca357808260000160008282546122da9190612e08565b909155505061ffff851660009081526008602052604090819020549051631b96b2f960e01b81526001600160a01b0386811660048301526024820184905290911690631b96b2f990604401600060405180830381600087803b15801561233f57600080fd5b505af1158015612353573d6000803e3d6000fd5b505050508461ffff16846001600160a01b03167f2c00706df3fbb4a8ead830d4c0a7f278823843af15ad7e680c4f7db763dd779c8360405161239791815260200190565b60405180910390a3506112b18484611ddd565b60008060058561ffff16815481106123c4576123c4612d49565b6000918252602080832061ffff891684526006825260408085206001600160a01b03808b16875293528420935460039093020180549094508116911614801561240c57508334145b1561247d5760008054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561245f57600080fd5b505af1158015612473573d6000803e3d6000fd5b505050505061257c565b81546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156124c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e99190612e9b565b8354909150612503906001600160a01b0316873088612786565b82546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa15801561254a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256e9190612e9b565b6125789190612df5565b9450505b838160000160008282546125909190612e08565b909155506125a090508686611ddd565b8561ffff16856001600160a01b03167f2c00706df3fbb4a8ead830d4c0a7f278823843af15ad7e680c4f7db763dd779c866040516125e091815260200190565b60405180910390a35091949350505050565b60008147101561261e5760405163cf47918160e01b815247600482015260248101839052604401610954565b763d602d80600a3d3981f3363d3d373d3d3d363d730000008460601b60e81c176000526e5af43d82803e903d91602b57fd5bf38460781b17602052826037600984f590506001600160a01b03811661138e5760405163b06ebf3d60e01b815260040160405180910390fd5b6126916127ed565b61125b57604051631afcd79f60e31b815260040160405180910390fd5b611d41612689565b6116c8612689565b60008060058561ffff16815481106126d8576126d8612d49565b6000918252602080832061ffff891684526006825260408085206001600160a01b038a168652909252908320805460039093029091019350918591839190612721908490612df5565b9091555050815461273c906001600160a01b03168686612807565b6127468686611ddd565b8561ffff16856001600160a01b03167f4e2ebfe79f50514ade8e774c7f3c01250d6aa3a91cd1f5c33a78df9c459f6e9d866040516125e091815260200190565b6040516001600160a01b0384811660248301528381166044830152606482018390526112b19186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612838565b60006127f76120cb565b54600160401b900460ff16919050565b6040516001600160a01b038381166024830152604482018390526112b391859182169063a9059cbb906064016127bb565b600080602060008451602086016000885af18061285b576040513d6000823e3d81fd5b50506000513d91508115612873578060011415612880565b6001600160a01b0384163b155b156112b157604051635274afe760e01b81526001600160a01b0385166004820152602401610954565b6000602082840312156128bb57600080fd5b5035919050565b80356001600160a01b03811681146128d957600080fd5b919050565b6000602082840312156128f057600080fd5b61138e826128c2565b803561ffff811681146128d957600080fd5b803563ffffffff811681146128d957600080fd5b803565ffffffffffff811681146128d957600080fd5b803580151581146128d957600080fd5b600080600080600060a0868803121561295d57600080fd5b612966866128f9565b94506129746020870161290b565b93506129826040870161291f565b92506129906060870161291f565b915061299e60808701612935565b90509295509295909350565b6000602082840312156129bc57600080fd5b61138e8261291f565b6000806000606084860312156129da57600080fd5b6129e3846128c2565b92506129f1602085016128c2565b929592945050506040919091013590565b600080600080600060a08688031215612a1a57600080fd5b612966866128c2565b600080600080600080600080610100898b031215612a4057600080fd5b612a49896128c2565b9750612a5760208a016128c2565b9650612a6560408a016128c2565b9550612a7360608a016128c2565b945060808901359350612a8860a08a0161291f565b9250612a9660c08a0161291f565b9150612aa460e08a01612935565b90509295985092959890939650565b60008060408385031215612ac657600080fd5b612acf836128f9565b946020939093013593505050565b600060208284031215612aef57600080fd5b61138e826128f9565b60008060408385031215612b0b57600080fd5b612acf836128c2565b600080600060608486031215612b2957600080fd5b612b32846128f9565b9250612b406020850161291f565b9150612b4e6040850161291f565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612b8357600080fd5b612b8c856128f9565b935060208501359250612ba16040860161291f565b9150606085013567ffffffffffffffff811115612bbd57600080fd5b8501601f81018713612bce57600080fd5b803567ffffffffffffffff811115612be857612be8612b57565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715612c1757612c17612b57565b604052818152828201602001891015612c2f57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060008060008060006101608c8e031215612c7357600080fd5b612c7c8c6128c2565b9a50612c8a60208d016128c2565b9950612c9860408d016128c2565b9850612ca660608d016128c2565b9750612cb460808d016128c2565b965060a08c01359550612cc960c08d016128f9565b9450612cd760e08d0161291f565b9350612ce66101008d0161291f565b9250612cf56101208d0161291f565b9150612d046101408d01612935565b90509295989b509295989b9093969950565b60008060408385031215612d2957600080fd5b612d32836128f9565b9150612d40602084016128c2565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b6020808252600c908201526b125b9d985b1a5908141bdbdb60a21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff828116828216039081111561092157610921612d85565b63ffffffff818116838216019081111561092157610921612d85565b6020808252600890820152671393d517d413d3d360c21b604082015260600190565b8181038181111561092157610921612d85565b8082018082111561092157610921612d85565b600061ffff821661ffff8103612e3357612e33612d85565b60010192915050565b65ffffffffffff828116828216039081111561092157610921612d85565b808202811582820484141761092157610921612d85565b634e487b7160e01b600052601260045260246000fd5b600082612e9657612e96612e71565b500490565b600060208284031215612ead57600080fd5b5051919050565b600065ffffffffffff831680612ecc57612ecc612e71565b8065ffffffffffff84160491505092915050565b65ffffffffffff818116838216019081111561092157610921612d85565b65ffffffffffff8181168382160290811690818114612f1f57612f1f612d85565b5092915050565b600065ffffffffffff821665ffffffffffff8103612e3357612e33612d8556fea2646970667358221220a429a5a7fbd42724290858f30ed07db07e93b53010cbb1005d08846c9af0248364736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "FailedDeployment"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ReentrancyGuardReentrantCall"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "WETH"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "rewardVault"; readonly type: "address"; } ]; readonly name: "InitializedChef"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint48"; readonly name: "halvingInterval"; readonly type: "uint48"; } ]; readonly name: "SetHalvingInterval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint16"; readonly name: "halvingRate"; readonly type: "uint16"; } ]; readonly name: "SetHalvingRate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lpToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "newAllocPoint"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "startTime"; readonly type: "uint48"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "endTime"; readonly type: "uint48"; } ]; readonly name: "SetPool"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "poolToken"; readonly type: "address"; } ]; readonly name: "SetPoolToken"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint256"; readonly name: "rewardsPerSec"; readonly type: "uint256"; } ]; readonly name: "SetRewards"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "WETH"; readonly outputs: readonly [ { readonly internalType: "contract IWETH"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "add"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "_signature"; readonly type: "bytes"; } ]; readonly name: "depositPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getMultiplier"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_fromTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_toTime"; readonly type: "uint48"; } ]; readonly name: "getPoolRewardsByTime"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getPoolRewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "getRewardsPerShare"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "halvingInterval"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "halvingRate"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_lpToken"; readonly type: "address"; } ]; readonly name: "hasPool"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_poolToken"; readonly type: "address"; } ]; readonly name: "hasPoolToken"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardVault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "addPool"; readonly type: "bool"; } ]; readonly name: "initializeChef"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenImplementation"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardVault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; }, { readonly internalType: "uint16"; readonly name: "_halvingRate"; readonly type: "uint16"; }, { readonly internalType: "uint48"; readonly name: "_halvingInterval"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "addPool"; readonly type: "bool"; } ]; readonly name: "initializePool"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "massUpdatePools"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; } ]; readonly name: "pendingRewards"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "poolDeposit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "poolId"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "poolIdByTokens"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly name: "poolInfo"; readonly outputs: readonly [ { readonly internalType: "contract IERC20"; readonly name: "lpToken"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "endTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "lastRewardTime"; readonly type: "uint48"; }, { readonly internalType: "uint256"; readonly name: "accRewardsPerShare"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "poolLength"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; } ]; readonly name: "poolMint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "poolTokenImplementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly name: "poolTokens"; readonly outputs: readonly [ { readonly internalType: "contract IERC4626Pool"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "poolTransfer"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "poolWithdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardToken"; readonly outputs: readonly [ { readonly internalType: "contract IERC20Mintable"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardVault"; readonly outputs: readonly [ { readonly internalType: "contract IRewardVault"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardsPerSec"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint32"; readonly name: "_allocPoint"; readonly type: "uint32"; }, { readonly internalType: "uint48"; readonly name: "_startTime"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "_endTime"; readonly type: "uint48"; }, { readonly internalType: "bool"; readonly name: "_withUpdate"; readonly type: "bool"; } ]; readonly name: "set"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "_halvingInterval"; readonly type: "uint48"; } ]; readonly name: "setHalvingInterval"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_halvingRate"; readonly type: "uint16"; } ]; readonly name: "setHalvingRate"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "_rewardsPerSec"; readonly type: "uint256"; } ]; readonly name: "setRewardsPerSec"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAllocPoint"; readonly outputs: readonly [ { readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; } ]; readonly name: "updatePool"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "userInfo"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "rewardDebt"; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; } ]; static createInterface(): MasterPoolInterface; static connect(address: string, runner?: ContractRunner | null): MasterPool; } export type RewardVaultConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class RewardVault__factory extends ContractFactory { constructor(...args: RewardVaultConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): RewardVault__factory; static readonly bytecode = "0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610aff806100d96000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063ae63932911610066578063ae6393291461010d578063ccb6a27014610120578063d9caed1214610133578063e7e31e7a14610146578063f2fde38b1461015957600080fd5b80631241803814610098578063715018a6146100b65780638ce5877c146100c05780638da5cb5b146100d3575b600080fd5b6100a061016c565b6040516100ad91906109bd565b60405180910390f35b6100be61017d565b005b6100be6100ce366004610a1e565b610191565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100ad565b6100be61011b366004610a3b565b610233565b6100be61012e366004610a1e565b6102ec565b6100be610141366004610a3b565b610442565b6100be610154366004610a1e565b6104ad565b6100be610167366004610a1e565b610546565b60606101786000610584565b905090565b610185610598565b61018f600061060e565b565b610199610598565b6101a460008261067f565b6101e75760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a22fa9a822a72222a960891b60448201526064015b60405180910390fd5b6101f26000826106a6565b506040516001600160a01b03821681527f508e01dc09a24291350cfc3ad6e6ee056cfa6df6780f82e57e60190be9f35524906020015b60405180910390a150565b61023e60003361067f565b61027c5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a22fa9a822a72222a960891b60448201526064016101de565b6102906001600160a01b03841683836106bb565b816001600160a01b0316336001600160a01b0316846001600160a01b03167fa209447764afbca4d7c43c9962941f114f3465f7fde32167c76661eb75b3ef77846040516102df91815260200190565b60405180910390a4505050565b60006102f6610712565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561031e5750825b905060008267ffffffffffffffff16600114801561033b5750303b155b905081158015610349575080155b156103675760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561039157845460ff60401b1916600160401b1785555b6001600160a01b0386166103a3573395505b6103ac8661073b565b6103b760008761074c565b506040516001600160a01b03871681527ffb461a9d124e123750171741a89341defba2596b06be0c452e3e0f990c18bb9e9060200160405180910390a1831561043a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b61044a610598565b61045e6001600160a01b03841683836106bb565b816001600160a01b0316336001600160a01b0316846001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa24846040516102df91815260200190565b6104b5610598565b6104c060008261067f565b156105015760405162461bcd60e51b8152602060048201526011602482015270222aa82624a1a0aa22afa9a822a72222a960791b60448201526064016101de565b61050c60008261074c565b506040516001600160a01b03821681527ffb461a9d124e123750171741a89341defba2596b06be0c452e3e0f990c18bb9e90602001610228565b61054e610598565b6001600160a01b03811661057857604051631e4fbdf760e01b8152600060048201526024016101de565b6105818161060e565b50565b6060600061059183610761565b9392505050565b60006105cb7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b90506001600160a01b03811633148015906105ee57506001600160a01b03811615155b156105815760405163118cdaa760e01b81523360048201526024016101de565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b600061069d836001600160a01b0384166107bd565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070d9084906108b0565b505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006106a0565b610743610927565b6105818161094c565b600061069d836001600160a01b038416610954565b6060816000018054806020026020016040519081016040528092919081815260200182805480156107b157602002820191906000526020600020905b81548152602001906001019080831161079d575b50505050509050919050565b600081815260018301602052604081205480156108a65760006107e1600183610a7c565b85549091506000906107f590600190610a7c565b905080821461085a57600086600001828154811061081557610815610a9d565b906000526020600020015490508087600001848154811061083857610838610a9d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061086b5761086b610ab3565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106a0565b60009150506106a0565b600080602060008451602086016000885af1806108d3576040513d6000823e3d81fd5b50506000513d915081156108eb5780600114156108f8565b6001600160a01b0384163b155b1561092157604051635274afe760e01b81526001600160a01b03851660048201526024016101de565b50505050565b61092f6109a3565b61018f57604051631afcd79f60e31b815260040160405180910390fd5b61054e610927565b600081815260018301602052604081205461099b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106a0565b5060006106a0565b60006109ad610712565b54600160401b900460ff16919050565b602080825282518282018190526000918401906040840190835b818110156109fe5783516001600160a01b03168352602093840193909201916001016109d7565b509095945050505050565b6001600160a01b038116811461058157600080fd5b600060208284031215610a3057600080fd5b813561059181610a09565b600080600060608486031215610a5057600080fd5b8335610a5b81610a09565b92506020840135610a6b81610a09565b929592945050506040919091013590565b818103818111156106a057634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212204038a82c464d69962316c335496f4f281f0728f877ef6c6eb8113b21e36199b564736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; } ]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "newSpender"; readonly type: "address"; } ]; readonly name: "AddSpender"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "oldSpender"; readonly type: "address"; } ]; readonly name: "RemoveSpender"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Rewarded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Withdrawn"; readonly type: "event"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; } ]; readonly name: "addSpender"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_initOwner"; readonly type: "address"; } ]; readonly name: "initializeVault"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; } ]; readonly name: "removeSpender"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "contract IERC20"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "sendTo"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "spenders"; readonly outputs: readonly [ { readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "contract IERC20"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): RewardVaultInterface; static connect(address: string, runner?: ContractRunner | null): RewardVault; } export type InitializableProxyConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class InitializableProxy__factory extends ContractFactory { constructor(...args: InitializableProxyConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): InitializableProxy__factory; static readonly bytecode = "0x6080604052348015600f57600080fd5b50610acf8061001f6000396000f3fe6080604052600436106100745760003560e01c80635c60da1b1161004e5780635c60da1b146100f05780639f712f2f14610105578063aba0017314610125578063ee0530f41461013857610083565b80633e47158c1461008b5780634f1ef286146100bd5780635a28dda4146100d057610083565b366100835761008161015a565b005b61008161015a565b34801561009757600080fd5b506100a061016c565b6040516001600160a01b0390911681526020015b60405180910390f35b6100816100cb366004610785565b61017b565b3480156100dc57600080fd5b506100816100eb3660046107d3565b61030e565b3480156100fc57600080fd5b506100a06103cd565b34801561011157600080fd5b50610081610120366004610810565b6103d7565b610081610133366004610832565b610431565b34801561014457600080fd5b5061014d6104bf565b6040516100b491906108e0565b61016a610165610570565b61057a565b565b60006101766105a3565b905090565b61018361016c565b6001600160a01b0316336001600160a01b031614806101b057506101a561016c565b6001600160a01b0316155b6101d55760405162461bcd60e51b81526004016101cc90610913565b60405180910390fd5b816001600160a01b03163b60000361020b57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016101cc565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156102eb57600080836001600160a01b0316836040516102939190610936565b600060405180830381855af49150503d80600081146102ce576040519150601f19603f3d011682016040523d82523d6000602084013e6102d3565b606091505b5091509150816102e557805181602001fd5b50505050565b341561030a5760405163b398979f60e01b815260040160405180910390fd5b5050565b61031661016c565b6001600160a01b0316336001600160a01b03161480610343575061033861016c565b6001600160a01b0316155b61035f5760405162461bcd60e51b81526004016101cc90610913565b8051156103ca577ffcba12fcf625f4823c7c0c86b97ab29721afc9e784836bc00bf04553a0c8dff461039182826109da565b507f8a1bce929b257bfd582fa164d9b9fa4d4b0b7442b10b3aad23e2c56aa4e0d61a816040516103c191906108e0565b60405180910390a15b50565b6000610176610570565b6103df61016c565b6001600160a01b0316336001600160a01b0316148061040c575061040161016c565b6001600160a01b0316155b6104285760405162461bcd60e51b81526004016101cc90610913565b6103ca816105d6565b600061043b610570565b6001600160a01b03161480156104615750600061045661016c565b6001600160a01b0316145b6104a35760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064016101cc565b6104ad828261017b565b6104b68461030e565b6102e5836103d7565b60607ffcba12fcf625f4823c7c0c86b97ab29721afc9e784836bc00bf04553a0c8dff480546104ed90610952565b80601f016020809104026020016040519081016040528092919081815260200182805461051990610952565b80156105665780601f1061053b57610100808354040283529160200191610566565b820191906000526020600020905b81548152906001019060200180831161054957829003601f168201915b5050505050905090565b600061017661062a565b3660008037600080366000845af43d6000803e808015610599573d6000f35b3d6000fd5b505050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6105ff6105a3565b604080516001600160a01b03928316815291841660208301520160405180910390a16103ca81610652565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105c7565b6001600160a01b03811661067c57604051633173bdd160e11b8152600060048201526024016101cc565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b03811681146106d457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261070057600080fd5b81356020830160008067ffffffffffffffff841115610721576107216106d9565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715610750576107506106d9565b60405283815290508082840187101561076857600080fd5b838360208301376000602085830101528094505050505092915050565b6000806040838503121561079857600080fd5b6107a1836106bd565b9150602083013567ffffffffffffffff8111156107bd57600080fd5b6107c9858286016106ef565b9150509250929050565b6000602082840312156107e557600080fd5b813567ffffffffffffffff8111156107fc57600080fd5b610808848285016106ef565b949350505050565b60006020828403121561082257600080fd5b61082b826106bd565b9392505050565b6000806000806080858703121561084857600080fd5b843567ffffffffffffffff81111561085f57600080fd5b61086b878288016106ef565b94505061087a602086016106bd565b9250610888604086016106bd565b9150606085013567ffffffffffffffff8111156108a457600080fd5b6108b0878288016106ef565b91505092959194509250565b60005b838110156108d75781810151838201526020016108bf565b50506000910152565b60208152600082518060208401526108ff8160408501602087016108bc565b601f01601f19169190910160400192915050565b6020808252600990820152682727aa2fa0a226a4a760b91b604082015260600190565b600082516109488184602087016108bc565b9190910192915050565b600181811c9082168061096657607f821691505b60208210810361098657634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561059e57806000526020600020601f840160051c810160208510156109b35750805b601f840160051c820191505b818110156109d357600081556001016109bf565b5050505050565b815167ffffffffffffffff8111156109f4576109f46106d9565b610a0881610a028454610952565b8461098c565b6020601f821160018114610a3c5760008315610a245750848201515b600019600385901b1c1916600184901b1784556109d3565b600084815260208120601f198516915b82811015610a6c5787850151825560209485019460019092019101610a4c565b5084821015610a8a5786840151600019600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220876d886946898c289fea474a7e0aae615e5627cc46e52975242d9eb3c929bea964736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "admin"; readonly type: "address"; } ]; readonly name: "ERC1967InvalidAdmin"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; } ]; readonly name: "ERC1967InvalidImplementation"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ERC1967NonPayable"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "previousAdmin"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; } ]; readonly name: "AdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "string"; readonly name: "description"; readonly type: "string"; } ]; readonly name: "DescriptionChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; } ]; readonly name: "Upgraded"; readonly type: "event"; }, { readonly stateMutability: "payable"; readonly type: "fallback"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; } ]; readonly name: "changeProxyAdmin"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; } ]; readonly name: "changeProxyDescription"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "implementation"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "_description"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "initializeProxy"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "proxyAdmin"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "proxyDescription"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; } ]; readonly name: "upgradeToAndCall"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; } ]; static createInterface(): InitializableProxyInterface; static connect(address: string, runner?: ContractRunner | null): InitializableProxy; } declare class ERC20Lockable__factory { static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "AccountLocked"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; } ]; readonly name: "LockedExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "LockedInvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "Lock"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "LockedBy"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "LOCK_TYPEHASH"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "isLocked"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "until"; readonly type: "uint256"; } ]; readonly name: "isLockedUntil"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; } ]; readonly name: "lock"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; } ]; readonly name: "lockPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedBalance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "until"; readonly type: "uint256"; } ]; readonly name: "lockedBalanceUntil"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedUntil"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20LockableInterface; static connect(address: string, runner?: ContractRunner | null): ERC20Lockable; } export type ERC20MockConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class ERC20Mock__factory extends ContractFactory { constructor(...args: ERC20MockConstructorParams); getDeployTransaction(name_: string, symbol_: string, decimals_: BigNumberish, supply_: BigNumberish, overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(name_: string, symbol_: string, decimals_: BigNumberish, supply_: BigNumberish, overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): ERC20Mock__factory; static readonly bytecode = "0x61018060405234801561001157600080fd5b506040516118a63803806118a68339810160408190526100309161045f565b338480604051806040016040528060018152602001603160f81b8152508787816003908161005e9190610571565b50600461006b8282610571565b5061007b91508390506005610175565b6101205261008a816006610175565b61014052815160208084019190912060e052815190820120610100524660a05261011760e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661015057604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610159816101a8565b5060ff82166101605261016c33826101fa565b505050506106a7565b60006020835110156101915761018a83610234565b90506101a2565b8161019c8482610571565b5060ff90505b92915050565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166102245760405163ec442f0560e01b815260006004820152602401610147565b61023060008383610272565b5050565b600080829050601f8151111561025f578260405163305a27a960e01b8152600401610147919061062f565b805161026a82610662565b179392505050565b6001600160a01b03831661029d5780600260008282546102929190610686565b9091555061030f9050565b6001600160a01b038316600090815260208190526040902054818110156102f05760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610147565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661032b5760028054829003905561034a565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161038f91815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103cd5781810151838201526020016103b5565b50506000910152565b600082601f8301126103e757600080fd5b81516001600160401b038111156104005761040061039c565b604051601f8201601f19908116603f011681016001600160401b038111828210171561042e5761042e61039c565b60405281815283820160200185101561044657600080fd5b6104578260208301602087016103b2565b949350505050565b6000806000806080858703121561047557600080fd5b84516001600160401b0381111561048b57600080fd5b610497878288016103d6565b602087015190955090506001600160401b038111156104b557600080fd5b6104c1878288016103d6565b935050604085015160ff811681146104d857600080fd5b6060959095015193969295505050565b600181811c908216806104fc57607f821691505b60208210810361051c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561056c57806000526020600020601f840160051c810160208510156105495750805b601f840160051c820191505b818110156105695760008155600101610555565b50505b505050565b81516001600160401b0381111561058a5761058a61039c565b61059e8161059884546104e8565b84610522565b6020601f8211600181146105d257600083156105ba5750848201515b600019600385901b1c1916600184901b178455610569565b600084815260208120601f198516915b8281101561060257878501518255602094850194600190920191016105e2565b50848210156106205786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015261064e8160408501602087016103b2565b601f01601f19169190910160400192915050565b8051602080830151919081101561051c5760001960209190910360031b1b16919050565b808201808211156101a257634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516101605161119a61070c600039600061019e015260006109840152600061095701526000610814015260006107ec01526000610747015260006107710152600061079b015261119a6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379cc6790116100ad578063a0712d6811610071578063a0712d681461028d578063a9059cbb146102a0578063d505accf146102b3578063dd62ed3e146102c6578063f2fde38b146102ff57600080fd5b806379cc6790146102295780637ecebe001461023c57806384b0196e1461024f5780638da5cb5b1461026a57806395d89b411461028557600080fd5b80633644e515116100f45780633644e515146101c857806340c10f19146101d057806342966c68146101e557806370a08231146101f8578063715018a61461022157600080fd5b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017257806323b872dd14610184578063313ce56714610197575b600080fd5b610139610312565b6040516101469190610ee4565b60405180910390f35b61016261015d366004610f1a565b6103a4565b6040519015158152602001610146565b6002545b604051908152602001610146565b610162610192366004610f44565b6103be565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610146565b6101766103e2565b6101e36101de366004610f1a565b6103f1565b005b6101e36101f3366004610f81565b610407565b610176610206366004610f9a565b6001600160a01b031660009081526020819052604090205490565b6101e3610414565b6101e3610237366004610f1a565b610428565b61017661024a366004610f9a565b61043d565b61025761045b565b6040516101469796959493929190610fb5565b6008546040516001600160a01b039091168152602001610146565b6101396104a1565b6101e361029b366004610f81565b6104b0565b6101626102ae366004610f1a565b6104c2565b6101e36102c136600461104d565b6104d0565b6101766102d43660046110c0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101e361030d366004610f9a565b61060f565b606060038054610321906110f3565b80601f016020809104026020016040519081016040528092919081815260200182805461034d906110f3565b801561039a5780601f1061036f5761010080835404028352916020019161039a565b820191906000526020600020905b81548152906001019060200180831161037d57829003601f168201915b5050505050905090565b6000336103b281858561064a565b60019150505b92915050565b6000336103cc85828561065c565b6103d78585856106db565b506001949350505050565b60006103ec61073a565b905090565b6103f9610865565b6104038282610892565b5050565b61041133826108c8565b50565b61041c610865565b61042660006108fe565b565b61043382338361065c565b61040382826108c8565b6001600160a01b0381166000908152600760205260408120546103b8565b60006060806000806000606061046f610950565b61047761097d565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b606060048054610321906110f3565b6104b8610865565b6104113382610892565b6000336103b28185856106db565b834211156104f95760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105468c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105a1826109aa565b905060006105b1828787876109d7565b9050896001600160a01b0316816001600160a01b0316146105f8576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016104f0565b6106038a8a8a61064a565b50505050505050505050565b610617610865565b6001600160a01b03811661064157604051631e4fbdf760e01b8152600060048201526024016104f0565b610411816108fe565b6106578383836001610a05565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198110156106d557818110156106c657604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104f0565b6106d584848484036000610a05565b50505050565b6001600160a01b03831661070557604051634b637e8f60e11b8152600060048201526024016104f0565b6001600160a01b03821661072f5760405163ec442f0560e01b8152600060048201526024016104f0565b610657838383610ada565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561079357507f000000000000000000000000000000000000000000000000000000000000000046145b156107bd57507f000000000000000000000000000000000000000000000000000000000000000090565b6103ec604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6008546001600160a01b031633146104265760405163118cdaa760e01b81523360048201526024016104f0565b6001600160a01b0382166108bc5760405163ec442f0560e01b8152600060048201526024016104f0565b61040360008383610ada565b6001600160a01b0382166108f257604051634b637e8f60e11b8152600060048201526024016104f0565b61040382600083610ada565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606103ec7f00000000000000000000000000000000000000000000000000000000000000006005610c04565b60606103ec7f00000000000000000000000000000000000000000000000000000000000000006006610c04565b60006103b86109b761073a565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806109e988888888610caf565b9250925092506109f98282610d7e565b50909695505050505050565b6001600160a01b038416610a2f5760405163e602df0560e01b8152600060048201526024016104f0565b6001600160a01b038316610a5957604051634a1406b160e11b8152600060048201526024016104f0565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156106d557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610acc91815260200190565b60405180910390a350505050565b6001600160a01b038316610b05578060026000828254610afa919061112d565b90915550610b779050565b6001600160a01b03831660009081526020819052604090205481811015610b585760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104f0565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610b9357600280548290039055610bb2565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bf791815260200190565b60405180910390a3505050565b606060ff8314610c1e57610c1783610e37565b90506103b8565b818054610c2a906110f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610c56906110f3565b8015610ca35780601f10610c7857610100808354040283529160200191610ca3565b820191906000526020600020905b815481529060010190602001808311610c8657829003601f168201915b505050505090506103b8565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610cea5750600091506003905082610d74565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610d3e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d6a57506000925060019150829050610d74565b9250600091508190505b9450945094915050565b6000826003811115610d9257610d9261114e565b03610d9b575050565b6001826003811115610daf57610daf61114e565b03610dcd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610de157610de161114e565b03610e025760405163fce698f760e01b8152600481018290526024016104f0565b6003826003811115610e1657610e1661114e565b03610403576040516335e2f38360e21b8152600481018290526024016104f0565b60606000610e4483610e76565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f8111156103b857604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610ec457602081850181015186830182015201610ea8565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ef76020830184610e9e565b9392505050565b80356001600160a01b0381168114610f1557600080fd5b919050565b60008060408385031215610f2d57600080fd5b610f3683610efe565b946020939093013593505050565b600080600060608486031215610f5957600080fd5b610f6284610efe565b9250610f7060208501610efe565b929592945050506040919091013590565b600060208284031215610f9357600080fd5b5035919050565b600060208284031215610fac57600080fd5b610ef782610efe565b60ff60f81b8816815260e060208201526000610fd460e0830189610e9e565b8281036040840152610fe68189610e9e565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b8181101561103c57835183526020938401939092019160010161101e565b50909b9a5050505050505050505050565b600080600080600080600060e0888a03121561106857600080fd5b61107188610efe565b965061107f60208901610efe565b95506040880135945060608801359350608088013560ff811681146110a357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156110d357600080fd5b6110dc83610efe565b91506110ea60208401610efe565b90509250929050565b600181811c9082168061110757607f821691505b60208210810361112757634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103b857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220c3b144e47b839bc7a49ccd1e64fb315a428eaa3f46b6f2fe82e50e8ef367acce64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "name_"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol_"; readonly type: "string"; }, { readonly internalType: "uint8"; readonly name: "decimals_"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "supply_"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "str"; readonly type: "string"; } ]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "burn"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "burnFrom"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "mint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "mint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "owner"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "renounceOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; } ]; readonly name: "transferOwnership"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC20MockInterface; static connect(address: string, runner?: ContractRunner | null): ERC20Mock; } export type ERC4626PoolConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class ERC4626Pool__factory extends ContractFactory { constructor(...args: ERC4626PoolConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): ERC4626Pool__factory; static readonly bytecode = "0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6127cb806100d96000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c806394bf804d1161015c578063c63d75b6116100ce578063ef8b30f711610087578063ef8b30f7146102f3578063f1068454146105a3578063f3738764146105cb578063f5eb42dc146105de578063f7c618c1146105f1578063f97d3d071461060457600080fd5b8063c63d75b6146103e2578063c6e6f592146102f3578063ce96cb7714610557578063d505accf1461056a578063d905777e1461057d578063dd62ed3e1461059057600080fd5b8063a9059cbb11610120578063a9059cbb146104e4578063b2924620146104f7578063b3d7f6b9146102f3578063b460af941461051e578063ba08765214610531578063c60411221461054457600080fd5b806394bf804d1461047957806395d89b411461048c5780639ae697bf146104945780639bc289f1146104a75780639fc8ae6d146104d157600080fd5b80633644e515116102005780636bcfdc34116101b95780636bcfdc341461040a5780636e553f651461041257806370a08231146104255780637ecebe001461043857806384b0196e1461044b5780638c7ab1d71461046657600080fd5b80633644e51514610395578063367f0b301461039d57806338d52e0f146103b0578063402d267d146103e25780634a4fbeec146103f75780634cdad506146102f357600080fd5b80630a28a477116102525780630a28a477146102f357806318160ddd146103195780631b96b2f91461034057806323b872dd1461035557806327f2a1ae14610368578063313ce5671461037b57600080fd5b806301e1d1141461028f57806301ffc9a7146102aa57806306fdde03146102de57806307a2d13a146102f3578063095ea7b314610306575b600080fd5b610297610617565b6040519081526020015b60405180910390f35b6102ce6102b8366004611f99565b6001600160e01b031916630579eb7360e41b1490565b60405190151581526020016102a1565b6102e6610646565b6040516102a19190612013565b610297610301366004612026565b6106ef565b6102ce61031436600461205b565b6106f9565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254610297565b61035361034e36600461205b565b610711565b005b6102ce610363366004612085565b610771565b61035361037636600461219d565b610795565b610383610905565b60405160ff90911681526020016102a1565b61029761090f565b6103536103ab366004612247565b610919565b600080516020612776833981519152546001600160a01b03165b6040516001600160a01b0390911681526020016102a1565b6102976103f03660046122a4565b5060001990565b6102ce6104053660046122a4565b610b81565b6102ce610b8d565b6102976104203660046122bf565b610bca565b6102976104333660046122a4565b610bf0565b6102976104463660046122a4565b610c9a565b610453610ca5565b6040516102a197969594939291906122eb565b6000546103ca906001600160a01b031681565b6102976104873660046122bf565b610d51565b6102e6610d6f565b6102976104a23660046122a4565b610dae565b6104ba6104b53660046122a4565b610dcd565b60405165ffffffffffff90911681526020016102a1565b6103536104df36600461205b565b610e0f565b6102ce6104f236600461205b565b610e66565b6102977f017c8ff5fcb79b926e5568e4aaadf8e98192f7a5f63a4c18e3e6686c1212b6da81565b61029761052c366004612383565b610e74565b61029761053f366004612383565b610ecc565b6103536105523660046123bf565b610f1b565b6102976105653660046122a4565b610f25565b61035361057836600461240d565b610f36565b61029761058b3660046122a4565b611052565b61029761059e366004612480565b61105d565b6000546105b890600160a01b900461ffff1681565b60405161ffff90911681526020016102a1565b6102976105d936600461205b565b6110a7565b6102976105ec3660046122a4565b6110c7565b6001546103ca906001600160a01b031681565b6102ce61061236600461205b565b6110d2565b60006106417f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b905090565b606060006000805160206127368339815191525b905080600301805461066b906124aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610697906124aa565b80156106e45780601f106106b9576101008083540402835291602001916106e4565b820191906000526020600020905b8154815290600101906020018083116106c757829003601f168201915b505050505091505090565b6000815b92915050565b6000336107078185856110ef565b5060019392505050565b6000546001600160a01b031633146107635760405162461bcd60e51b815260206004820152601060248201526f13d3931657d35054d5115497d413d3d360821b60448201526064015b60405180910390fd5b61076d8282611101565b5050565b60003361077f858285611137565b61078a85858561118b565b506001949350505050565b8265ffffffffffff164211156107c857604051637ae96d3560e01b815265ffffffffffff8416600482015260240161075a565b600061086061085a7f017c8ff5fcb79b926e5568e4aaadf8e98192f7a5f63a4c18e3e6686c1212b6da8989896107fd836111ea565b6040805160208101969096526001600160a01b039485169086015291909216606084015265ffffffffffff918216608084015260a0830152871660c082015260e0016040516020818303038152906040528051906020012061122c565b84611259565b9050866001600160a01b0316816001600160a01b0316146108a75760405163e75a9bdf60e01b81526001600160a01b0380831660048301528816602482015260440161075a565b60405165ffffffffffff861681526001600160a01b0380881691908916907fe7da15c886b4d64b28c9c88081d1878f11a80706e0a90a8300eb12bd7dd2f6ea9060200160405180910390a36108fc8786611283565b50505050505050565b6000610641611339565b600061064161136b565b6000610923611375565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561094b5750825b905060008267ffffffffffffffff1660011480156109685750303b155b905081158015610976575080155b156109945760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156109be57845460ff60401b1916600160401b1785555b600080546001600160a01b038b81166001600160b01b031990921691909117600160a01b61ffff8c1602178255600180546001600160a01b031916898316179055604080516395d89b4160e01b81529051918a16916395d89b419160048082019286929091908290030181865afa158015610a3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6591908101906124e4565b90506000610a9260405180604001604052806007815260200166029ba30b5b2b2160cd1b8152508361139e565b90506000610aba604051806040016040528060028152602001611cdd60f21b8152508461139e565b9050610ac682826113ca565b610acf826113dc565b610ad88a61140a565b604080516001600160a01b038e8116825261ffff8e1660208301528c8116828401528b16606082015290517f198ee228dde3a8038dd17502f21ee11bfa7273aea909a6ecaf1768195a6bea889181900360800190a15050508315610b7657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b60006106f382426110d2565b6001546000906001600160a01b0316610bbb600080516020612776833981519152546001600160a01b031690565b6001600160a01b031614905090565b60006000196000610bda856106ef565b9050610be83385878461141b565b949350505050565b600080610bfc836114d0565b9050610c06610b8d565b156106f3576000546040516303a41f6360e61b8152600160a01b820461ffff1660048201526001600160a01b0385811660248301529091169063e907d8c090604401602060405180830381865afa158015610c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c899190612573565b610c9390826125a2565b9392505050565b60006106f382611503565b600060608082808083816000805160206127568339815191528054909150158015610cd257506001810154155b610d165760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b604482015260640161075a565b610d1e61152c565b610d2661156b565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b60006000196000610d61856106ef565b9050610be83385838861141b565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060916000805160206127368339815191529161066b906124aa565b6000610db982610b81565b610dc45760006106f3565b6106f382610bf0565b6001600160a01b031660009081527f0f0dff1d6914bba9be37c82e8318527ba5ab0fb58046a830c549113041588900602052604090205465ffffffffffff1690565b6000546001600160a01b03163314610e5c5760405162461bcd60e51b815260206004820152601060248201526f13d3931657d35054d5115497d413d3d360821b604482015260640161075a565b61076d8282611583565b60003361070781858561118b565b600080610e8083610f25565b905080851115610ea957828582604051633fa733bb60e21b815260040161075a93929190612552565b6000610eb4866106ef565b9050610ec333868689856115b9565b95945050505050565b600080610ed883611052565b905080851115610f0157828582604051632e52afbb60e21b815260040161075a93929190612552565b6000610f0c866106ef565b9050610ec3338686848a6115b9565b61076d3383611283565b60006106f3610f3383610bf0565b90565b83421115610f5a5760405163313c898160e11b81526004810185905260240161075a565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610f898c6111ea565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610fe48261122c565b90506000610ff4828787876116b8565b9050896001600160a01b0316816001600160a01b03161461103b576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161075a565b6110468a8a8a6110ef565b50505050505050505050565b60006106f382610bf0565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b60006110b383836110d2565b6110be576000610c93565b610c9383610bf0565b60006106f3826114d0565b6000816110de84610dcd565b65ffffffffffff1610159392505050565b6110fc83838360016116e6565b505050565b6001600160a01b03821661112b5760405163ec442f0560e01b81526000600482015260240161075a565b61076d600083836117ce565b6000611143848461105d565b9050600019811015611185578181101561117657828183604051637dc7a0d960e11b815260040161075a93929190612552565b611185848484840360006116e6565b50505050565b6001600160a01b0383166111b557604051634b637e8f60e11b81526000600482015260240161075a565b6001600160a01b0382166111df5760405163ec442f0560e01b81526000600482015260240161075a565b6110fc8383836117ce565b6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b60006106f361123961136b565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061126986866118f4565b9250925092506112798282611941565b5090949350505050565b6001600160a01b03821660009081527f0f0dff1d6914bba9be37c82e8318527ba5ab0fb58046a830c549113041588900602081905260409091205465ffffffffffff838116911610156110fc576001600160a01b03831660008181526020838152604091829020805465ffffffffffff191665ffffffffffff871690811790915591519182527f5d99a0a6b184924ae2b454dc2d6008e100891227e673b67019d33fec7bf1155c910160405180910390a2505050565b6000806000805160206127768339815191529050600081546113659190600160a01b900460ff166125b5565b91505090565b60006106416119fa565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006106f3565b606082826040516020016113b39291906125ce565b604051602081830303815290604052905092915050565b6113d2611a6e565b61076d8282611a95565b6113e4611a6e565b61140781604051806040016040528060018152602001603160f81b815250611ae6565b50565b611412611a6e565b61140781611b47565b60005460405163077ba79560e41b81526001600160a01b03858116600483015260248201859052909116906377ba795090604401600060405180830381600087803b15801561146957600080fd5b505af115801561147d573d6000803e3d6000fd5b505060408051858152602081018590526001600160a01b038088169450881692507fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a350505050565b6000806000805160206127368339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006114e3565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060916000805160206127568339815191529161066b906124aa565b6060600060008051602061275683398151915261065a565b6001600160a01b0382166115ad57604051634b637e8f60e11b81526000600482015260240161075a565b61076d826000836117ce565b60006115c4846110c7565b905060006115d0610b8d565b80156115db57508183115b6115e557826115e7565b815b60005460405163db2aa12760e01b81526001600160a01b0388811660048301526024820184905292935091169063db2aa12790604401600060405180830381600087803b15801561163757600080fd5b505af115801561164b573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b0316886001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db87876040516116a7929190918252602082015260400190565b60405180910390a450505050505050565b6000806000806116ca88888888611bb9565b9250925092506116da8282611941565b50909695505050505050565b6000805160206127368339815191526001600160a01b03851661171f5760405163e602df0560e01b81526000600482015260240161075a565b6001600160a01b03841661174957604051634a1406b160e11b81526000600482015260240161075a565b6001600160a01b038086166000908152600183016020908152604080832093881683529290522083905581156117c757836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516117be91815260200190565b60405180910390a35b5050505050565b6117d6610b8d565b80156117ea57506001600160a01b03831615155b1561184f5760005460405163cd09525d60e01b81526001600160a01b0385811660048301529091169063cd09525d90602401600060405180830381600087803b15801561183657600080fd5b505af115801561184a573d6000803e3d6000fd5b505050505b61185a838383611c88565b6001600160a01b0383161580159061187a57506001600160a01b03821615155b801561188557508015155b156110fc57600054604051630325c61f60e31b81526001600160a01b0385811660048301528481166024830152604482018490529091169063192e30f890606401600060405180830381600087803b1580156118e057600080fd5b505af11580156108fc573d6000803e3d6000fd5b6000806000835160410361192e5760208401516040850151606086015160001a61192088828585611bb9565b95509550955050505061193a565b50508151600091506002905b9250925092565b6000826003811115611955576119556125fd565b0361195e575050565b6001826003811115611972576119726125fd565b036119905760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156119a4576119a46125fd565b036119c55760405163fce698f760e01b81526004810182905260240161075a565b60038260038111156119d9576119d96125fd565b0361076d576040516335e2f38360e21b81526004810182905260240161075a565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611a25611cd8565b611a2d611d42565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b611a76611d86565b611a9357604051631afcd79f60e31b815260040160405180910390fd5b565b611a9d611a6e565b6000805160206127368339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611ad7848261265a565b5060048101611185838261265a565b611aee611a6e565b6000805160206127568339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102611b28848261265a565b5060038101611b37838261265a565b5060008082556001909101555050565b611b4f611a6e565b600080516020612776833981519152600080611b6a84611da0565b9150915081611b7a576012611b7c565b805b83546001600160a81b031916600160a01b60ff92909216919091026001600160a01b031916176001600160a01b0394909416939093179091555050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611bf45750600091506003905082611c7e565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611c48573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c7457506000925060019150829050611c7e565b9250600091508190505b9450945094915050565b6001600160a01b03831615801590611ca45750611ca483610b81565b15611ccd5760405163078be06d60e41b81526001600160a01b038416600482015260240161075a565b6110fc838383611e7c565b600060008051602061275683398151915281611cf261152c565b805190915015611d0a57805160209091012092915050565b81548015611d19579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b600060008051602061275683398151915281611d5c61156b565b805190915015611d7457805160209091012092915050565b60018201548015611d19579392505050565b6000611d90611375565b54600160401b900460ff16919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b03871691611de791612719565b600060405180830381855afa9150503d8060008114611e22576040519150601f19603f3d011682016040523d82523d6000602084013e611e27565b606091505b5091509150818015611e3b57506020815110155b15611e6f57600081806020019051810190611e569190612573565b905060ff8111611e6d576001969095509350505050565b505b5060009485945092505050565b6000805160206127368339815191526001600160a01b038416611eb85781816002016000828254611ead91906125a2565b90915550611f179050565b6001600160a01b03841660009081526020829052604090205482811015611ef85784818460405163391434e360e21b815260040161075a93929190612552565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316611f35576002810180548390039055611f54565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114c291815260200190565b600060208284031215611fab57600080fd5b81356001600160e01b031981168114610c9357600080fd5b60005b83811015611fde578181015183820152602001611fc6565b50506000910152565b60008151808452611fff816020860160208601611fc3565b601f01601f19169290920160200192915050565b602081526000610c936020830184611fe7565b60006020828403121561203857600080fd5b5035919050565b80356001600160a01b038116811461205657600080fd5b919050565b6000806040838503121561206e57600080fd5b6120778361203f565b946020939093013593505050565b60008060006060848603121561209a57600080fd5b6120a38461203f565b92506120b16020850161203f565b929592945050506040919091013590565b803565ffffffffffff8116811461205657600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612117576121176120d8565b604052919050565b600067ffffffffffffffff821115612139576121396120d8565b50601f01601f191660200190565b600082601f83011261215857600080fd5b813561216b6121668261211f565b6120ee565b81815284602083860101111561218057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c087890312156121b657600080fd5b6121bf8761203f565b95506121cd6020880161203f565b94506121db604088016120c2565b93506121e9606088016120c2565b9250608087013567ffffffffffffffff81111561220557600080fd5b61221189828a01612147565b92505060a087013567ffffffffffffffff81111561222e57600080fd5b61223a89828a01612147565b9150509295509295509295565b6000806000806080858703121561225d57600080fd5b6122668561203f565b9350602085013561ffff8116811461227d57600080fd5b925061228b6040860161203f565b91506122996060860161203f565b905092959194509250565b6000602082840312156122b657600080fd5b610c938261203f565b600080604083850312156122d257600080fd5b823591506122e26020840161203f565b90509250929050565b60ff60f81b8816815260e06020820152600061230a60e0830189611fe7565b828103604084015261231c8189611fe7565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015612372578351835260209384019390920191600101612354565b50909b9a5050505050505050505050565b60008060006060848603121561239857600080fd5b833592506123a86020850161203f565b91506123b66040850161203f565b90509250925092565b600080604083850312156123d257600080fd5b6123db836120c2565b9150602083013567ffffffffffffffff8111156123f757600080fd5b61240385828601612147565b9150509250929050565b600080600080600080600060e0888a03121561242857600080fd5b6124318861203f565b965061243f6020890161203f565b95506040880135945060608801359350608088013560ff8116811461246357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561249357600080fd5b61249c8361203f565b91506122e26020840161203f565b600181811c908216806124be57607f821691505b6020821081036124de57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156124f657600080fd5b815167ffffffffffffffff81111561250d57600080fd5b8201601f8101841361251e57600080fd5b805161252c6121668261211f565b81815285602083850101111561254157600080fd5b610ec3826020830160208601611fc3565b6001600160a01b039390931683526020830191909152604082015260600190565b60006020828403121561258557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156106f3576106f361258c565b60ff81811683821601908111156106f3576106f361258c565b600083516125e0818460208801611fc3565b8351908301906125f4818360208801611fc3565b01949350505050565b634e487b7160e01b600052602160045260246000fd5b601f8211156110fc57806000526020600020601f840160051c8101602085101561263a5750805b601f840160051c820191505b818110156117c75760008155600101612646565b815167ffffffffffffffff811115612674576126746120d8565b6126888161268284546124aa565b84612613565b6020601f8211600181146126bc57600083156126a45750848201515b600019600385901b1c1916600184901b1784556117c7565b600084815260208120601f198516915b828110156126ec57878501518255602094850194600190920191016126cc565b508482101561270a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000825161272b818460208701611fc3565b919091019291505056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1000773e532dfede91f04b12a73d3d2acd361424f41f76b4fb79f090161e36b4e00a2646970667358221220b33295b729f914e02de5da17c426397d5703518886e8e2ae945780b16a643af664736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "AccountLocked"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxDeposit"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxMint"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxRedeem"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; } ]; readonly name: "ERC4626ExceededMaxWithdraw"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; } ]; readonly name: "LockedExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "LockedInvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; } ]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: false; readonly internalType: "address"; readonly name: "masterPool"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "pid"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "asset"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; } ]; readonly name: "InitializedPool"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "Lock"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; } ]; readonly name: "LockedBy"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "LOCK_TYPEHASH"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "asset"; readonly outputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "convertToAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "convertToShares"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "deposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_masterPool"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "_pid"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; } ]; readonly name: "initializeToken"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "isLocked"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "until"; readonly type: "uint256"; } ]; readonly name: "isLockedUntil"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "isRewardNative"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint48"; readonly name: "until"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; } ]; readonly name: "lock"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "lockBy"; readonly type: "address"; }, { readonly internalType: "uint48"; readonly name: "lockUntil"; readonly type: "uint48"; }, { readonly internalType: "uint48"; readonly name: "deadline"; readonly type: "uint48"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; } ]; readonly name: "lockPermit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedBalance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "until"; readonly type: "uint256"; } ]; readonly name: "lockedBalanceUntil"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "lockedUntil"; readonly outputs: readonly [ { readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "masterBurn"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; } ]; readonly name: "masterMint"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "masterPool"; readonly outputs: readonly [ { readonly internalType: "contract IMasterPool"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "maxDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: ""; readonly type: "address"; } ]; readonly name: "maxMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "maxWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "mint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "pid"; readonly outputs: readonly [ { readonly internalType: "uint16"; readonly name: ""; readonly type: "uint16"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewDeposit"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewMint"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; } ]; readonly name: "previewRedeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; } ]; readonly name: "previewWithdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "redeem"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "rewardToken"; readonly outputs: readonly [ { readonly internalType: "contract IERC20"; readonly name: ""; readonly type: "address"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "sharesOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; } ]; readonly name: "supportsInterface"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalAssets"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; } ]; static createInterface(): ERC4626PoolInterface; static connect(address: string, runner?: ContractRunner | null): ERC4626Pool; } export type WETHConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class WETH__factory extends ContractFactory { constructor(...args: WETHConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): WETH__factory; static readonly bytecode = "0x61016060405234801561001157600080fd5b506040518060400160405280600d81526020016c2bb930b83832b21022ba3432b960991b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600d81526020016c2bb930b83832b21022ba3432b960991b815250604051806040016040528060048152602001630ae8aa8960e31b81525081600390816100a59190610286565b5060046100b28282610286565b506100c29150839050600561016d565b610120526100d181600661016d565b61014052815160208084019190912060e052815190820120610100524660a05261015e60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506103b6565b600060208351101561018957610182836101a0565b905061019a565b816101948482610286565b5060ff90505b92915050565b600080829050601f815111156101d4578260405163305a27a960e01b81526004016101cb9190610344565b60405180910390fd5b80516101df82610392565b179392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061021157607f821691505b60208210810361023157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561028157806000526020600020601f840160051c8101602085101561025e5750805b601f840160051c820191505b8181101561027e576000815560010161026a565b50505b505050565b81516001600160401b0381111561029f5761029f6101e7565b6102b3816102ad84546101fd565b84610237565b6020601f8211600181146102e757600083156102cf5750848201515b600019600385901b1c1916600184901b17845561027e565b600084815260208120601f198516915b8281101561031757878501518255602094850194600190920191016102f7565b50848210156103355786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015260005b818110156103725760208186018101516040868401015201610355565b506000604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102315760001960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051611131610410600039600061091b015260006108ee015260006108960152600061086e015260006107c9015260006107f30152600061081d01526111316000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461027e578063d0e30db01461029e578063d505accf146102a6578063dd62ed3e146102c657600080fd5b806370a08231146101eb5780637ecebe001461022157806384b0196e1461024157806395d89b411461026957600080fd5b806323b872dd116100c657806323b872dd1461017a5780632e1a7d4d1461019a578063313ce567146101ba5780633644e515146101d657600080fd5b806306fdde0314610100578063095ea7b31461012b57806318160ddd1461015b57600080fd5b366100fb576100f961030c565b005b600080fd5b34801561010c57600080fd5b5061011561034d565b6040516101229190610e7b565b60405180910390f35b34801561013757600080fd5b5061014b610146366004610eb1565b6103df565b6040519015158152602001610122565b34801561016757600080fd5b506002545b604051908152602001610122565b34801561018657600080fd5b5061014b610195366004610edb565b6103f9565b3480156101a657600080fd5b506100f96101b5366004610f18565b61041d565b3480156101c657600080fd5b5060405160128152602001610122565b3480156101e257600080fd5b5061016c61048d565b3480156101f757600080fd5b5061016c610206366004610f31565b6001600160a01b031660009081526020819052604090205490565b34801561022d57600080fd5b5061016c61023c366004610f31565b61049c565b34801561024d57600080fd5b506102566104ba565b6040516101229796959493929190610f4c565b34801561027557600080fd5b50610115610500565b34801561028a57600080fd5b5061014b610299366004610eb1565b61050f565b6100f961030c565b3480156102b257600080fd5b506100f96102c1366004610fe4565b61051d565b3480156102d257600080fd5b5061016c6102e1366004611057565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610316333461065c565b60405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b60606003805461035c9061108a565b80601f01602080910402602001604051908101604052809291908181526020018280546103889061108a565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b6000336103ed818585610696565b60019150505b92915050565b6000336104078582856106a8565b610412858585610727565b506001949350505050565b6104273382610786565b604051339082156108fc029083906000818181858888f19350505050158015610454573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b60006104976107bc565b905090565b6001600160a01b0381166000908152600760205260408120546103f3565b6000606080600080600060606104ce6108e7565b6104d6610914565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461035c9061108a565b6000336103ed818585610727565b834211156105465760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105938c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105ee82610941565b905060006105fe8287878761096e565b9050896001600160a01b0316816001600160a01b031614610645576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161053d565b6106508a8a8a610696565b50505050505050505050565b6001600160a01b0382166106865760405163ec442f0560e01b81526000600482015260240161053d565b6106926000838361099c565b5050565b6106a38383836001610ac6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015610721578181101561071257604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161053d565b61072184848484036000610ac6565b50505050565b6001600160a01b03831661075157604051634b637e8f60e11b81526000600482015260240161053d565b6001600160a01b03821661077b5760405163ec442f0560e01b81526000600482015260240161053d565b6106a383838361099c565b6001600160a01b0382166107b057604051634b637e8f60e11b81526000600482015260240161053d565b6106928260008361099c565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561081557507f000000000000000000000000000000000000000000000000000000000000000046145b1561083f57507f000000000000000000000000000000000000000000000000000000000000000090565b610497604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60606104977f00000000000000000000000000000000000000000000000000000000000000006005610b9b565b60606104977f00000000000000000000000000000000000000000000000000000000000000006006610b9b565b60006103f361094e6107bc565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061098088888888610c46565b9250925092506109908282610d15565b50909695505050505050565b6001600160a01b0383166109c75780600260008282546109bc91906110c4565b90915550610a399050565b6001600160a01b03831660009081526020819052604090205481811015610a1a5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161053d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610a5557600280548290039055610a74565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ab991815260200190565b60405180910390a3505050565b6001600160a01b038416610af05760405163e602df0560e01b81526000600482015260240161053d565b6001600160a01b038316610b1a57604051634a1406b160e11b81526000600482015260240161053d565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561072157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b8d91815260200190565b60405180910390a350505050565b606060ff8314610bb557610bae83610dce565b90506103f3565b818054610bc19061108a565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed9061108a565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b505050505090506103f3565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c815750600091506003905082610d0b565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610cd5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d0157506000925060019150829050610d0b565b9250600091508190505b9450945094915050565b6000826003811115610d2957610d296110e5565b03610d32575050565b6001826003811115610d4657610d466110e5565b03610d645760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610d7857610d786110e5565b03610d995760405163fce698f760e01b81526004810182905260240161053d565b6003826003811115610dad57610dad6110e5565b03610692576040516335e2f38360e21b81526004810182905260240161053d565b60606000610ddb83610e0d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f8111156103f357604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610e5b57602081850181015186830182015201610e3f565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610e8e6020830184610e35565b9392505050565b80356001600160a01b0381168114610eac57600080fd5b919050565b60008060408385031215610ec457600080fd5b610ecd83610e95565b946020939093013593505050565b600080600060608486031215610ef057600080fd5b610ef984610e95565b9250610f0760208501610e95565b929592945050506040919091013590565b600060208284031215610f2a57600080fd5b5035919050565b600060208284031215610f4357600080fd5b610e8e82610e95565b60ff60f81b8816815260e060208201526000610f6b60e0830189610e35565b8281036040840152610f7d8189610e35565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015610fd3578351835260209384019390920191600101610fb5565b50909b9a5050505050505050505050565b600080600080600080600060e0888a031215610fff57600080fd5b61100888610e95565b965061101660208901610e95565b95506040880135945060608801359350608088013560ff8116811461103a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561106a57600080fd5b61107383610e95565b915061108160208401610e95565b90509250929050565b600181811c9082168061109e57607f821691505b6020821081036110be57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103f357634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220d3ddd28963bb8059a7339fb59ecb5b472053b9c575586b617fb1f5503c7c3a7f64736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "str"; readonly type: "string"; } ]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "dst"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "wad"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "src"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "wad"; readonly type: "uint256"; } ]; readonly name: "Withdrawal"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; } ]; static createInterface(): WETHInterface; static connect(address: string, runner?: ContractRunner | null): WETH; } export type WETHMockConstructorParams = [ signer?: Signer ] | ConstructorParameters; declare class WETHMock__factory extends ContractFactory { constructor(...args: WETHMockConstructorParams); getDeployTransaction(supply_: BigNumberish, overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(supply_: BigNumberish, overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): WETHMock__factory; static readonly bytecode = "0x61016060405234801561001157600080fd5b5060405161170438038061170483398101604081905261003091610370565b6040518060400160405280600d81526020016c2bb930b83832b21022ba3432b960991b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600d81526020016c2bb930b83832b21022ba3432b960991b815250604051806040016040528060048152602001630ae8aa8960e31b81525081600390816100c39190610428565b5060046100d08282610428565b506100e091508390506005610196565b610120526100ef816006610196565b61014052815160208084019190912060e052815190820120610100524660a05261017c60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525061019033826101c9565b50610579565b60006020835110156101b2576101ab83610208565b90506101c3565b816101bd8482610428565b5060ff90505b92915050565b6001600160a01b0382166101f85760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b61020460008383610246565b5050565b600080829050601f81511115610233578260405163305a27a960e01b81526004016101ef91906104e6565b805161023e82610534565b179392505050565b6001600160a01b0383166102715780600260008282546102669190610558565b909155506102e39050565b6001600160a01b038316600090815260208190526040902054818110156102c45760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016101ef565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166102ff5760028054829003905561031e565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161036391815260200190565b60405180910390a3505050565b60006020828403121561038257600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806103b357607f821691505b6020821081036103d357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561042357806000526020600020601f840160051c810160208510156104005750805b601f840160051c820191505b81811015610420576000815560010161040c565b50505b505050565b81516001600160401b0381111561044157610441610389565b6104558161044f845461039f565b846103d9565b6020601f82116001811461048957600083156104715750848201515b600019600385901b1c1916600184901b178455610420565b600084815260208120601f198516915b828110156104b95787850151825560209485019460019092019101610499565b50848210156104d75786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015260005b8181101561051457602081860181015160408684010152016104f7565b506000604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156103d35760001960209190910360031b1b16919050565b808201808211156101c357634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516111316105d3600039600061091b015260006108ee015260006108960152600061086e015260006107c9015260006107f30152600061081d01526111316000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461027e578063d0e30db01461029e578063d505accf146102a6578063dd62ed3e146102c657600080fd5b806370a08231146101eb5780637ecebe001461022157806384b0196e1461024157806395d89b411461026957600080fd5b806323b872dd116100c657806323b872dd1461017a5780632e1a7d4d1461019a578063313ce567146101ba5780633644e515146101d657600080fd5b806306fdde0314610100578063095ea7b31461012b57806318160ddd1461015b57600080fd5b366100fb576100f961030c565b005b600080fd5b34801561010c57600080fd5b5061011561034d565b6040516101229190610e7b565b60405180910390f35b34801561013757600080fd5b5061014b610146366004610eb1565b6103df565b6040519015158152602001610122565b34801561016757600080fd5b506002545b604051908152602001610122565b34801561018657600080fd5b5061014b610195366004610edb565b6103f9565b3480156101a657600080fd5b506100f96101b5366004610f18565b61041d565b3480156101c657600080fd5b5060405160128152602001610122565b3480156101e257600080fd5b5061016c61048d565b3480156101f757600080fd5b5061016c610206366004610f31565b6001600160a01b031660009081526020819052604090205490565b34801561022d57600080fd5b5061016c61023c366004610f31565b61049c565b34801561024d57600080fd5b506102566104ba565b6040516101229796959493929190610f4c565b34801561027557600080fd5b50610115610500565b34801561028a57600080fd5b5061014b610299366004610eb1565b61050f565b6100f961030c565b3480156102b257600080fd5b506100f96102c1366004610fe4565b61051d565b3480156102d257600080fd5b5061016c6102e1366004611057565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610316333461065c565b60405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b60606003805461035c9061108a565b80601f01602080910402602001604051908101604052809291908181526020018280546103889061108a565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b6000336103ed818585610696565b60019150505b92915050565b6000336104078582856106a8565b610412858585610727565b506001949350505050565b6104273382610786565b604051339082156108fc029083906000818181858888f19350505050158015610454573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b60006104976107bc565b905090565b6001600160a01b0381166000908152600760205260408120546103f3565b6000606080600080600060606104ce6108e7565b6104d6610914565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461035c9061108a565b6000336103ed818585610727565b834211156105465760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105938c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105ee82610941565b905060006105fe8287878761096e565b9050896001600160a01b0316816001600160a01b031614610645576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161053d565b6106508a8a8a610696565b50505050505050505050565b6001600160a01b0382166106865760405163ec442f0560e01b81526000600482015260240161053d565b6106926000838361099c565b5050565b6106a38383836001610ac6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015610721578181101561071257604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161053d565b61072184848484036000610ac6565b50505050565b6001600160a01b03831661075157604051634b637e8f60e11b81526000600482015260240161053d565b6001600160a01b03821661077b5760405163ec442f0560e01b81526000600482015260240161053d565b6106a383838361099c565b6001600160a01b0382166107b057604051634b637e8f60e11b81526000600482015260240161053d565b6106928260008361099c565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561081557507f000000000000000000000000000000000000000000000000000000000000000046145b1561083f57507f000000000000000000000000000000000000000000000000000000000000000090565b610497604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60606104977f00000000000000000000000000000000000000000000000000000000000000006005610b9b565b60606104977f00000000000000000000000000000000000000000000000000000000000000006006610b9b565b60006103f361094e6107bc565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061098088888888610c46565b9250925092506109908282610d15565b50909695505050505050565b6001600160a01b0383166109c75780600260008282546109bc91906110c4565b90915550610a399050565b6001600160a01b03831660009081526020819052604090205481811015610a1a5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161053d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610a5557600280548290039055610a74565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ab991815260200190565b60405180910390a3505050565b6001600160a01b038416610af05760405163e602df0560e01b81526000600482015260240161053d565b6001600160a01b038316610b1a57604051634a1406b160e11b81526000600482015260240161053d565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561072157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b8d91815260200190565b60405180910390a350505050565b606060ff8314610bb557610bae83610dce565b90506103f3565b818054610bc19061108a565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed9061108a565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b505050505090506103f3565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c815750600091506003905082610d0b565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610cd5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d0157506000925060019150829050610d0b565b9250600091508190505b9450945094915050565b6000826003811115610d2957610d296110e5565b03610d32575050565b6001826003811115610d4657610d466110e5565b03610d645760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610d7857610d786110e5565b03610d995760405163fce698f760e01b81526004810182905260240161053d565b6003826003811115610dad57610dad6110e5565b03610692576040516335e2f38360e21b81526004810182905260240161053d565b60606000610ddb83610e0d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f8111156103f357604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610e5b57602081850181015186830182015201610e3f565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610e8e6020830184610e35565b9392505050565b80356001600160a01b0381168114610eac57600080fd5b919050565b60008060408385031215610ec457600080fd5b610ecd83610e95565b946020939093013593505050565b600080600060608486031215610ef057600080fd5b610ef984610e95565b9250610f0760208501610e95565b929592945050506040919091013590565b600060208284031215610f2a57600080fd5b5035919050565b600060208284031215610f4357600080fd5b610e8e82610e95565b60ff60f81b8816815260e060208201526000610f6b60e0830189610e35565b8281036040840152610f7d8189610e35565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b81811015610fd3578351835260209384019390920191600101610fb5565b50909b9a5050505050505050505050565b600080600080600080600060e0888a031215610fff57600080fd5b61100888610e95565b965061101660208901610e95565b95506040880135945060608801359350608088013560ff8116811461103a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561106a57600080fd5b61107383610e95565b915061108160208401610e95565b90509250929050565b600181811c9082168061109e57607f821691505b6020821081036110be57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103f357634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220cd64e3e238206bfb3793719deb1272cf6fe6d8cd43e9ddb159a74f2f60b7399764736f6c634300081e0033"; static readonly abi: readonly [ { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "supply_"; readonly type: "uint256"; } ]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [ ]; readonly name: "ECDSAInvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; } ]; readonly name: "ECDSAInvalidSignatureLength"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "ECDSAInvalidSignatureS"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; } ]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; } ]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; } ]; readonly name: "ERC2612ExpiredSignature"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "ERC2612InvalidSigner"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "currentNonce"; readonly type: "uint256"; } ]; readonly name: "InvalidAccountNonce"; readonly type: "error"; }, { readonly inputs: readonly [ ]; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [ { readonly internalType: "string"; readonly name: "str"; readonly type: "string"; } ]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "dst"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "wad"; readonly type: "uint256"; } ]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ ]; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [ { readonly indexed: true; readonly internalType: "address"; readonly name: "src"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "wad"; readonly type: "uint256"; } ]; readonly name: "Withdrawal"; readonly type: "event"; }, { readonly inputs: readonly [ ]; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [ { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; } ]; readonly name: "allowance"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "approve"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; } ]; readonly name: "balanceOf"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "decimals"; readonly outputs: readonly [ { readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "deposit"; readonly outputs: readonly [ ]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "eip712Domain"; readonly outputs: readonly [ { readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "name"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; } ]; readonly name: "nonces"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; } ]; readonly name: "permit"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "symbol"; readonly outputs: readonly [ { readonly internalType: "string"; readonly name: ""; readonly type: "string"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ ]; readonly name: "totalSupply"; readonly outputs: readonly [ { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; } ]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transfer"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; } ]; readonly name: "transferFrom"; readonly outputs: readonly [ { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; } ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [ { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; } ]; readonly name: "withdraw"; readonly outputs: readonly [ ]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; } ]; static createInterface(): WETHMockInterface; static connect(address: string, runner?: ContractRunner | null): WETHMock; } export interface BaseToken { pid?: number; address?: string; name?: string; symbol?: string; decimals?: number; totalSupply?: number; oracle?: string; lpTokens?: string[]; mockUsdPrice?: number; allocPoint?: number; rewardFromTimestamp?: number; rewardToTimestamp?: number; deposit?: number; withdraw?: number; } export interface BaseConfig { chainId?: number; initRewardsPerSec?: number; rewardFromTimestamp?: number; rewardToTimestamp?: number; halvingRate?: number; halvingInterval?: number; masterChef?: string; rewardVault?: string; rewardToken?: BaseToken; WETH?: BaseToken; pools?: BaseToken[]; } export interface AddToken extends BaseToken { } export interface AddConfig extends Omit { initRewardsPerSec: number; rewardFromTimestamp: number; rewardToTimestamp: number; } export interface FrontToken extends Omit { pid: number; address: string; oracle: string; } export interface FrontConfig extends Omit { masterChef: string; rewardToken: Omit & { pid?: number; }; WETH: Omit & { pid?: number; }; pools: FrontToken[]; } export interface ContractToken extends Omit { address?: string; token: ERC20Mock; oracle: IDataFeed; } export interface ContractConfig extends Omit { masterChef: MasterChef | MasterPool; rewardToken: Omit & { pid?: number; }; WETH: Omit & { pid?: number; }; pools: ContractToken[]; } export declare const SECOND_PER_YEAR = 31622400; /** * Get farm APR value in % * @param rewardsPerSec rewards given per second for pool in decimals ( not 1 wei ) * @param rewardTokenUSD USD value per 1 TOKEN ( not 1 wei ) * @param stakingTokenUSD USD value per 1 Staking TOKEN ( not 1 wei ) * @param totalStakedBalance TOKEN balance staked on pool */ export declare function getFarmApr(rewardsPerSec: number, rewardTokenUSD: number, stakingTokenUSD: number, totalStakedBalance: number): number; export declare enum Networks { MAINNET = 1, ARBITRUM_SEPOLIA = 421614 } export type Runner = SignerWithAddress | Provider; export declare function findFarmByToken(config: FrontConfig, tokenAddress: string): FrontToken | undefined; export declare function getContractConfig(config: FrontConfig, runner?: Runner): ContractConfig; export declare function getTotalRewards(config: BaseConfig, timestamp?: number): { initRewardsPerSec: number; rewardFromTimestamp: number; rewardToTimestamp: number; halvingRate: number; halvingInterval: number; totalRewards: number; }; export declare function getFarmStats(config: ContractConfig): Promise<{ rewardTokenDecimals: number; rewardTokenUsd: number; }>; export declare function getFarms(config: ContractConfig, user?: SignerWithAddress | string): Promise<{ userPendingRewards: number; userPendingRewardsUSD: number; rewardsPerSec: number; apr: number; allocPoint: number; stakingTokenUsd: number; totalStakedBalance: number; totalStakedUSD: number; userTokenBalance: number; userTokenUSD: number; userStakedBalance: number; userStakedUSD: number; rewardsPerSecBN: bigint | undefined; pendingRewardsBN: bigint | undefined; address?: string; token: ERC20Mock; oracle: IDataFeed; symbol?: string | undefined; name?: string | undefined; totalSupply?: number | undefined; decimals?: number | undefined; deposit?: number | undefined; withdraw?: number | undefined; pid: number; rewardFromTimestamp?: number | undefined; rewardToTimestamp?: number | undefined; lpTokens?: string[] | undefined; mockUsdPrice?: number | undefined; }[]>; declare namespace iAccessControlEnumerableSol { export { IAccessControlEnumerable }; } declare namespace extensions { export { iAccessControlEnumerableSol }; } declare namespace iAccessControlSol { export { IAccessControl }; } declare namespace ownableSol { export { Ownable }; } declare namespace utils { export { addressSol, create2Sol, cryptography, errorsSol, introspection, math, noncesSol, shortStringsSol, stringsSol }; } declare namespace draftIerc6093Sol { export { IERC1155Errors, IERC20Errors, IERC721Errors }; } declare namespace ierc1363Sol { export { IERC1363 }; } declare namespace ierc1967Sol { export { IERC1967 }; } declare namespace ierc4626Sol { export { IERC4626 }; } declare namespace ierc5267Sol { export { IERC5267 }; } declare namespace erc1967UtilsSol { export { ERC1967Utils }; } declare namespace beacon { export { iBeaconSol }; } declare namespace iBeaconSol { export { IBeacon }; } declare namespace clonesSol { export { Clones }; } declare namespace erc1967 { export { erc1967UtilsSol }; } declare namespace proxySol { export { Proxy$1 as Proxy }; } declare namespace ierc20PermitSol { export { IERC20Permit }; } declare namespace erc20BurnableSol { export { ERC20Burnable }; } declare namespace erc20PermitSol { export { ERC20Permit }; } declare namespace ierc20MetadataSol { export { IERC20Metadata }; } declare namespace utils$1 { export { safeErc20Sol }; } declare namespace safeErc20Sol { export { SafeERC20 }; } declare namespace erc20Sol { export { ERC20 }; } declare namespace ierc20Sol { export { IERC20 }; } declare namespace extensions$1 { export { erc20BurnableSol, erc20PermitSol, ierc20MetadataSol, ierc20PermitSol }; } declare namespace erc20 { export { erc20Sol, extensions$1 as extensions, ierc20Sol, utils$1 as utils }; } declare namespace eip712Sol { export { EIP712 }; } declare namespace ecdsaSol { export { ECDSA }; } declare namespace math { export { safeCastSol }; } declare namespace ierc165Sol { export { IERC165 }; } declare namespace safeCastSol { export { SafeCast }; } declare namespace addressSol { export { Address }; } declare namespace create2Sol { export { Create2 }; } declare namespace errorsSol { export { Errors }; } declare namespace noncesSol { export { Nonces }; } declare namespace shortStringsSol { export { ShortStrings }; } declare namespace stringsSol { export { Strings }; } declare namespace cryptography { export { ecdsaSol, eip712Sol }; } declare namespace introspection { export { ierc165Sol }; } declare namespace access { export { extensions, iAccessControlSol, ownableSol }; } declare namespace interfaces { export { draftIerc6093Sol, ierc1363Sol, ierc1967Sol, ierc4626Sol, ierc5267Sol }; } declare namespace proxy { export { beacon, clonesSol, erc1967, proxySol }; } declare namespace token { export { erc20 }; } declare namespace contractsUpgradeable { export { access$1 as access, proxy$1 as proxy, token$1 as token, utils$2 as utils }; } declare namespace accessControlEnumerableUpgradeableSol { export { AccessControlEnumerableUpgradeable }; } declare namespace extensions$2 { export { accessControlEnumerableUpgradeableSol }; } declare namespace accessControlUpgradeableSol { export { AccessControlUpgradeable }; } declare namespace ownableUpgradeableSol { export { OwnableUpgradeable }; } declare namespace utils$2 { export { contextUpgradeableSol, cryptography$1 as cryptography, introspection$1 as introspection, noncesUpgradeableSol, reentrancyGuardUpgradeableSol }; } declare namespace initializableSol { export { Initializable }; } declare namespace utils$3 { export { initializableSol }; } declare namespace erc4626UpgradeableSol { export { ERC4626Upgradeable }; } declare namespace erc20PermitUpgradeableSol { export { ERC20PermitUpgradeable }; } declare namespace extensions$3 { export { erc20PermitUpgradeableSol, erc4626UpgradeableSol }; } declare namespace erc20UpgradeableSol { export { ERC20Upgradeable }; } declare namespace erc20$1 { export { erc20UpgradeableSol, extensions$3 as extensions }; } declare namespace eip712UpgradeableSol { export { EIP712Upgradeable }; } declare namespace introspection$1 { export { erc165UpgradeableSol }; } declare namespace erc165UpgradeableSol { export { ERC165Upgradeable }; } declare namespace contextUpgradeableSol { export { ContextUpgradeable }; } declare namespace noncesUpgradeableSol { export { NoncesUpgradeable }; } declare namespace reentrancyGuardUpgradeableSol { export { ReentrancyGuardUpgradeable }; } declare namespace cryptography$1 { export { eip712UpgradeableSol }; } declare namespace access$1 { export { accessControlUpgradeableSol, extensions$2 as extensions, ownableUpgradeableSol }; } declare namespace proxy$1 { export { utils$3 as utils }; } declare namespace token$1 { export { erc20$1 as erc20 }; } declare namespace contracts { export { access, interfaces, proxy, token, utils }; } declare namespace factories { export { contracts$2 as contracts, openzeppelin }; } declare namespace iwethSol { export { IWETH }; } declare namespace iDataFeedSol { export { IDataFeed }; } declare namespace ierc20Sol$1 { export { IERC20Exp, IERC20Mintable }; } declare namespace ierc20LockableSol { export { IERC20Lockable }; } declare namespace ierc4626Sol$1 { export { IERC4626$1 as IERC4626 }; } declare namespace ierc4626PoolSol { export { IERC4626Pool }; } declare namespace iInitializableProxySol { export { IInitializableProxy }; } declare namespace iLockableSol { export { ILockable }; } declare namespace iMasterChefSol { export { IMasterChef }; } declare namespace iMasterPoolSol { export { IMasterPool }; } declare namespace iOwnableControlSol { export { IOwnableControl }; } declare namespace iRewardVaultSol { export { IRewardVault }; } declare namespace iUniswapV2FactorySol { export { IUniswapV2Factory }; } declare namespace iUniswapV2PairSol { export { IUniswapV2Pair }; } declare namespace iv2SwapFeedSol { export { IV2SwapFeed }; } declare namespace tokens { export { erc20LockableSol, erc20MockSol, erc4626PoolSol, wethMockSol, wethSol }; } declare namespace sigLibSol { export { SigLib }; } declare namespace lockableSol { export { Lockable }; } declare namespace ownableSol$1 { export { Ownable$1 as Ownable }; } declare namespace ownableControlSol { export { OwnableControl }; } declare namespace v2SwapFeedFactorySol { export { V2SwapFeedFactory }; } declare namespace dataFeedSol { export { DataFeed }; } declare namespace v2SwapFeedSol { export { V2SwapFeed }; } declare namespace rewardVaultSol { export { RewardVault }; } declare namespace masterChefSol { export { MasterChef }; } declare namespace masterPoolSol { export { MasterPool }; } declare namespace initializableProxySol { export { InitializableProxy }; } declare namespace wethMockSol { export { WETHMock }; } declare namespace erc20LockableSol { export { ERC20Lockable }; } declare namespace erc20MockSol { export { ERC20Mock }; } declare namespace erc4626PoolSol { export { ERC4626Pool }; } declare namespace wethSol { export { WETH }; } declare namespace lockSol { export { Lock$1 as Lock }; } declare namespace interfaces$1 { export { iDataFeedSol, iInitializableProxySol, iLockableSol, iMasterChefSol, iMasterPoolSol, iOwnableControlSol, iRewardVaultSol, iUniswapV2FactorySol, iUniswapV2PairSol, ierc20LockableSol, ierc20Sol$1 as ierc20Sol, ierc4626PoolSol, ierc4626Sol$1 as ierc4626Sol, iv2SwapFeedSol, iwethSol }; } declare namespace libraries { export { lockableSol, ownableControlSol, ownableSol$1 as ownableSol, sigLibSol }; } declare namespace oracle { export { dataFeedSol, v2SwapFeedFactorySol, v2SwapFeedSol }; } declare namespace pools { export { masterChefSol, masterPoolSol, rewardVaultSol }; } declare namespace proxy$2 { export { initializableProxySol }; } declare namespace iAccessControlEnumerableSol$1 { export { IAccessControlEnumerable__factory }; } declare namespace extensions$4 { export { iAccessControlEnumerableSol$1 as iAccessControlEnumerableSol }; } declare namespace iAccessControlSol$1 { export { IAccessControl__factory }; } declare namespace ownableSol$2 { export { Ownable__factory }; } declare namespace utils$4 { export { addressSol$1 as addressSol, create2Sol$1 as create2Sol, cryptography$2 as cryptography, errorsSol$1 as errorsSol, introspection$2 as introspection, math$1 as math, noncesSol$1 as noncesSol, shortStringsSol$1 as shortStringsSol, stringsSol$1 as stringsSol }; } declare namespace draftIerc6093Sol$1 { export { IERC1155Errors__factory, IERC20Errors__factory, IERC721Errors__factory }; } declare namespace ierc1363Sol$1 { export { IERC1363__factory }; } declare namespace ierc1967Sol$1 { export { IERC1967__factory }; } declare namespace ierc4626Sol$2 { export { IERC4626__factory }; } declare namespace ierc5267Sol$1 { export { IERC5267__factory }; } declare namespace erc1967UtilsSol$1 { export { ERC1967Utils__factory }; } declare namespace beacon$1 { export { iBeaconSol$1 as iBeaconSol }; } declare namespace iBeaconSol$1 { export { IBeacon__factory }; } declare namespace clonesSol$1 { export { Clones__factory }; } declare namespace erc1967$1 { export { erc1967UtilsSol$1 as erc1967UtilsSol }; } declare namespace proxySol$1 { export { Proxy__factory }; } declare namespace ierc20PermitSol$1 { export { IERC20Permit__factory }; } declare namespace erc20BurnableSol$1 { export { ERC20Burnable__factory }; } declare namespace erc20PermitSol$1 { export { ERC20Permit__factory }; } declare namespace ierc20MetadataSol$1 { export { IERC20Metadata__factory }; } declare namespace utils$5 { export { safeErc20Sol$1 as safeErc20Sol }; } declare namespace safeErc20Sol$1 { export { SafeERC20__factory }; } declare namespace erc20Sol$1 { export { ERC20__factory }; } declare namespace ierc20Sol$2 { export { IERC20__factory }; } declare namespace extensions$5 { export { erc20BurnableSol$1 as erc20BurnableSol, erc20PermitSol$1 as erc20PermitSol, ierc20MetadataSol$1 as ierc20MetadataSol, ierc20PermitSol$1 as ierc20PermitSol }; } declare namespace erc20$2 { export { erc20Sol$1 as erc20Sol, extensions$5 as extensions, ierc20Sol$2 as ierc20Sol, utils$5 as utils }; } declare namespace eip712Sol$1 { export { EIP712__factory }; } declare namespace ecdsaSol$1 { export { ECDSA__factory }; } declare namespace math$1 { export { safeCastSol$1 as safeCastSol }; } declare namespace ierc165Sol$1 { export { IERC165__factory }; } declare namespace safeCastSol$1 { export { SafeCast__factory }; } declare namespace addressSol$1 { export { Address__factory }; } declare namespace create2Sol$1 { export { Create2__factory }; } declare namespace errorsSol$1 { export { Errors__factory }; } declare namespace noncesSol$1 { export { Nonces__factory }; } declare namespace shortStringsSol$1 { export { ShortStrings__factory }; } declare namespace stringsSol$1 { export { Strings__factory }; } declare namespace cryptography$2 { export { ecdsaSol$1 as ecdsaSol, eip712Sol$1 as eip712Sol }; } declare namespace introspection$2 { export { ierc165Sol$1 as ierc165Sol }; } declare namespace access$2 { export { extensions$4 as extensions, iAccessControlSol$1 as iAccessControlSol, ownableSol$2 as ownableSol }; } declare namespace interfaces$2 { export { draftIerc6093Sol$1 as draftIerc6093Sol, ierc1363Sol$1 as ierc1363Sol, ierc1967Sol$1 as ierc1967Sol, ierc4626Sol$2 as ierc4626Sol, ierc5267Sol$1 as ierc5267Sol }; } declare namespace proxy$3 { export { beacon$1 as beacon, clonesSol$1 as clonesSol, erc1967$1 as erc1967, proxySol$1 as proxySol }; } declare namespace token$2 { export { erc20$2 as erc20 }; } declare namespace contractsUpgradeable$1 { export { access$3 as access, proxy$4 as proxy, token$3 as token, utils$6 as utils }; } declare namespace accessControlEnumerableUpgradeableSol$1 { export { AccessControlEnumerableUpgradeable__factory }; } declare namespace extensions$6 { export { accessControlEnumerableUpgradeableSol$1 as accessControlEnumerableUpgradeableSol }; } declare namespace accessControlUpgradeableSol$1 { export { AccessControlUpgradeable__factory }; } declare namespace ownableUpgradeableSol$1 { export { OwnableUpgradeable__factory }; } declare namespace utils$6 { export { contextUpgradeableSol$1 as contextUpgradeableSol, cryptography$3 as cryptography, introspection$3 as introspection, noncesUpgradeableSol$1 as noncesUpgradeableSol, reentrancyGuardUpgradeableSol$1 as reentrancyGuardUpgradeableSol }; } declare namespace initializableSol$1 { export { Initializable__factory }; } declare namespace utils$7 { export { initializableSol$1 as initializableSol }; } declare namespace erc4626UpgradeableSol$1 { export { ERC4626Upgradeable__factory }; } declare namespace erc20PermitUpgradeableSol$1 { export { ERC20PermitUpgradeable__factory }; } declare namespace extensions$7 { export { erc20PermitUpgradeableSol$1 as erc20PermitUpgradeableSol, erc4626UpgradeableSol$1 as erc4626UpgradeableSol }; } declare namespace erc20UpgradeableSol$1 { export { ERC20Upgradeable__factory }; } declare namespace erc20$3 { export { erc20UpgradeableSol$1 as erc20UpgradeableSol, extensions$7 as extensions }; } declare namespace eip712UpgradeableSol$1 { export { EIP712Upgradeable__factory }; } declare namespace introspection$3 { export { erc165UpgradeableSol$1 as erc165UpgradeableSol }; } declare namespace erc165UpgradeableSol$1 { export { ERC165Upgradeable__factory }; } declare namespace contextUpgradeableSol$1 { export { ContextUpgradeable__factory }; } declare namespace noncesUpgradeableSol$1 { export { NoncesUpgradeable__factory }; } declare namespace reentrancyGuardUpgradeableSol$1 { export { ReentrancyGuardUpgradeable__factory }; } declare namespace cryptography$3 { export { eip712UpgradeableSol$1 as eip712UpgradeableSol }; } declare namespace access$3 { export { accessControlUpgradeableSol$1 as accessControlUpgradeableSol, extensions$6 as extensions, ownableUpgradeableSol$1 as ownableUpgradeableSol }; } declare namespace proxy$4 { export { utils$7 as utils }; } declare namespace token$3 { export { erc20$3 as erc20 }; } declare namespace contracts$1 { export { access$2 as access, interfaces$2 as interfaces, proxy$3 as proxy, token$2 as token, utils$4 as utils }; } declare namespace contracts$2 { export { interfaces$3 as interfaces, libraries$1 as libraries, lockSol$1 as lockSol, oracle$1 as oracle, pools$1 as pools, proxy$5 as proxy, tokens$1 as tokens }; } declare namespace iwethSol$1 { export { IWETH__factory }; } declare namespace iDataFeedSol$1 { export { IDataFeed__factory }; } declare namespace ierc20Sol$3 { export { IERC20Exp__factory, IERC20Mintable__factory }; } declare namespace ierc20LockableSol$1 { export { IERC20Lockable__factory }; } declare namespace ierc4626Sol$3 { export { IERC4626__factory$1 as IERC4626__factory }; } declare namespace ierc4626PoolSol$1 { export { IERC4626Pool__factory }; } declare namespace iInitializableProxySol$1 { export { IInitializableProxy__factory }; } declare namespace iLockableSol$1 { export { ILockable__factory }; } declare namespace iMasterChefSol$1 { export { IMasterChef__factory }; } declare namespace iMasterPoolSol$1 { export { IMasterPool__factory }; } declare namespace iOwnableControlSol$1 { export { IOwnableControl__factory }; } declare namespace iRewardVaultSol$1 { export { IRewardVault__factory }; } declare namespace iUniswapV2FactorySol$1 { export { IUniswapV2Factory__factory }; } declare namespace iUniswapV2PairSol$1 { export { IUniswapV2Pair__factory }; } declare namespace iv2SwapFeedSol$1 { export { IV2SwapFeed__factory }; } declare namespace tokens$1 { export { erc20LockableSol$1 as erc20LockableSol, erc20MockSol$1 as erc20MockSol, erc4626PoolSol$1 as erc4626PoolSol, wethMockSol$1 as wethMockSol, wethSol$1 as wethSol }; } declare namespace sigLibSol$1 { export { SigLib__factory }; } declare namespace lockableSol$1 { export { Lockable__factory }; } declare namespace ownableSol$3 { export { Ownable__factory$1 as Ownable__factory }; } declare namespace ownableControlSol$1 { export { OwnableControl__factory }; } declare namespace v2SwapFeedFactorySol$1 { export { V2SwapFeedFactory__factory }; } declare namespace dataFeedSol$1 { export { DataFeed__factory }; } declare namespace v2SwapFeedSol$1 { export { V2SwapFeed__factory }; } declare namespace rewardVaultSol$1 { export { RewardVault__factory }; } declare namespace masterChefSol$1 { export { MasterChef__factory }; } declare namespace masterPoolSol$1 { export { MasterPool__factory }; } declare namespace initializableProxySol$1 { export { InitializableProxy__factory }; } declare namespace wethMockSol$1 { export { WETHMock__factory }; } declare namespace erc20LockableSol$1 { export { ERC20Lockable__factory }; } declare namespace erc20MockSol$1 { export { ERC20Mock__factory }; } declare namespace erc4626PoolSol$1 { export { ERC4626Pool__factory }; } declare namespace wethSol$1 { export { WETH__factory }; } declare namespace lockSol$1 { export { Lock__factory }; } declare namespace interfaces$3 { export { iDataFeedSol$1 as iDataFeedSol, iInitializableProxySol$1 as iInitializableProxySol, iLockableSol$1 as iLockableSol, iMasterChefSol$1 as iMasterChefSol, iMasterPoolSol$1 as iMasterPoolSol, iOwnableControlSol$1 as iOwnableControlSol, iRewardVaultSol$1 as iRewardVaultSol, iUniswapV2FactorySol$1 as iUniswapV2FactorySol, iUniswapV2PairSol$1 as iUniswapV2PairSol, ierc20LockableSol$1 as ierc20LockableSol, ierc20Sol$3 as ierc20Sol, ierc4626PoolSol$1 as ierc4626PoolSol, ierc4626Sol$3 as ierc4626Sol, iv2SwapFeedSol$1 as iv2SwapFeedSol, iwethSol$1 as iwethSol }; } declare namespace libraries$1 { export { lockableSol$1 as lockableSol, ownableControlSol$1 as ownableControlSol, ownableSol$3 as ownableSol, sigLibSol$1 as sigLibSol }; } declare namespace oracle$1 { export { dataFeedSol$1 as dataFeedSol, v2SwapFeedFactorySol$1 as v2SwapFeedFactorySol, v2SwapFeedSol$1 as v2SwapFeedSol }; } declare namespace pools$1 { export { masterChefSol$1 as masterChefSol, masterPoolSol$1 as masterPoolSol, rewardVaultSol$1 as rewardVaultSol }; } declare namespace proxy$5 { export { initializableProxySol$1 as initializableProxySol }; } declare namespace openzeppelin { export { contracts$1 as contracts, contractsUpgradeable$1 as contractsUpgradeable }; } declare namespace openzeppelin$1 { export { contracts, contractsUpgradeable }; } declare namespace contracts$3 { export { interfaces$1 as interfaces, libraries, lockSol, oracle, pools, proxy$2 as proxy, tokens }; } declare namespace contracts$4 { export { AccessControlEnumerableUpgradeable, AccessControlEnumerableUpgradeable__factory, AccessControlUpgradeable, AccessControlUpgradeable__factory, Address, Address__factory, Clones, Clones__factory, ContextUpgradeable, ContextUpgradeable__factory, Create2, Create2__factory, DataFeed, DataFeed__factory, ECDSA, ECDSA__factory, EIP712, EIP712Upgradeable, EIP712Upgradeable__factory, EIP712__factory, ERC165Upgradeable, ERC165Upgradeable__factory, ERC1967Utils, ERC1967Utils__factory, ERC20, ERC20Burnable, ERC20Burnable__factory, ERC20Lockable, ERC20Lockable__factory, ERC20Mock, ERC20Mock__factory, ERC20Permit, ERC20PermitUpgradeable, ERC20PermitUpgradeable__factory, ERC20Permit__factory, ERC20Upgradeable, ERC20Upgradeable__factory, ERC20__factory, ERC4626Pool, ERC4626Pool__factory, ERC4626Upgradeable, ERC4626Upgradeable__factory, Errors, Errors__factory, IAccessControl, IAccessControlEnumerable, IAccessControlEnumerable__factory, IAccessControl__factory, IBeacon, IBeacon__factory, IDataFeed, IDataFeed__factory, IERC1155Errors, IERC1155Errors__factory, IERC1363, IERC1363__factory, IERC165, IERC165__factory, IERC1967, IERC1967__factory, IERC20, IERC20Errors, IERC20Errors__factory, IERC20Exp, IERC20Exp__factory, IERC20Lockable, IERC20Lockable__factory, IERC20Metadata, IERC20Metadata__factory, IERC20Mintable, IERC20Mintable__factory, IERC20Permit, IERC20Permit__factory, IERC20__factory, IERC4626$1 as IERC4626, IERC4626Pool, IERC4626Pool__factory, IERC4626__factory$1 as IERC4626__factory, IERC5267, IERC5267__factory, IERC721Errors, IERC721Errors__factory, IInitializableProxy, IInitializableProxy__factory, ILockable, ILockable__factory, IMasterChef, IMasterChef__factory, IMasterPool, IMasterPool__factory, IOwnableControl, IOwnableControl__factory, IRewardVault, IRewardVault__factory, IUniswapV2Factory, IUniswapV2Factory__factory, IUniswapV2Pair, IUniswapV2Pair__factory, IV2SwapFeed, IV2SwapFeed__factory, IWETH, IWETH__factory, Initializable, InitializableProxy, InitializableProxy__factory, Initializable__factory, Lock$1 as Lock, Lock__factory, Lockable, Lockable__factory, MasterChef, MasterChef__factory, MasterPool, MasterPool__factory, Nonces, NoncesUpgradeable, NoncesUpgradeable__factory, Nonces__factory, Ownable$1 as Ownable, OwnableControl, OwnableControl__factory, OwnableUpgradeable, OwnableUpgradeable__factory, Ownable__factory$1 as Ownable__factory, Proxy$1 as Proxy, Proxy__factory, ReentrancyGuardUpgradeable, ReentrancyGuardUpgradeable__factory, RewardVault, RewardVault__factory, SafeCast, SafeCast__factory, SafeERC20, SafeERC20__factory, ShortStrings, ShortStrings__factory, SigLib, SigLib__factory, Strings, Strings__factory, V2SwapFeed, V2SwapFeedFactory, V2SwapFeedFactory__factory, V2SwapFeed__factory, WETH, WETHMock, WETHMock__factory, WETH__factory, contracts$3 as contracts, factories, openzeppelin$1 as openzeppelin }; } export { contracts$4 as contracts, }; export {};