ethers-opt
Version:
Collection of heavily optimized functions for ethers.js V6
1,377 lines (1,376 loc) • 234 kB
TypeScript
import { webcrypto } from 'crypto';
import { AbstractProvider, AddressLike, Authorization, AuthorizationRequest, BaseContract, BigNumberish, Block, BlockParams, BlockTag, BrowserProvider as ethBrowserProvider, BrowserProviderOptions, BytesLike, ContractEventName, ContractMethod, ContractRunner, ContractTransaction, ContractTransactionResponse, DeferredTopicFilter, Eip1193Provider, EnsResolver as ethEnsResolver, EventFragment, EventLog, FeeData, FetchRequest, FunctionFragment, Interface, JsonRpcApiProviderOptions, JsonRpcProvider, JsonRpcSigner, Listener, Log, LogDescription, Network, Networkish, Overrides, PerformActionRequest, Provider, Provider as ethProvider, Result, Signature, Signer, SigningKey, TopicFilter, TransactionLike, TransactionReceipt, TransactionRequest, TransactionResponse, Typed, TypedDataDomain, TypedDataField } from 'ethers';
import { EventEmitter } from 'stream';
import { Dispatcher, RequestInit as RequestInit$1 } from 'undici-types';
export type EnsType = "ENS" | "SpaceID";
export declare const chainNames: Record<number, EnsType>;
export declare const ensRegistries: Record<number, string>;
export declare const ensUniversalResolvers: Record<number, string>;
export declare const ensStaticResolvers: Record<number, string>;
export declare const ensReverseNode: Record<number, string>;
export declare const wildcardResolvers: Set<string>;
/**
* Optimized EnsResolver to support optimized Onchain / Offchain Resolvers within a single contract call if possible
* Also supports Basenames
* (Can also batch requests through Multicall3 if provider supports)
*/
export declare class EnsResolver extends ethEnsResolver {
#private;
/**
* Overrides method to support both ENS & Basename
*/
supportsWildcard(): Promise<boolean>;
static getEnsAddress(provider: Provider): Promise<string>;
static fromName(provider: AbstractProvider, name: string): Promise<null | EnsResolver>;
static lookupAddress(provider: AbstractProvider, address: string, reverseCheck?: boolean): Promise<null | string>;
/**
* Method overrides to handle errors if name doesn't exist
* (Error: could not decode result data ethers/src.ts/providers/ens-resolver.ts:249:30)
* (Cannot be handled by checking if resolver address is null or result is '0x')
* (Likely bug on #fetch from EnsResolver with return iface.decodeFunctionResult(fragment, result)[0];)
*/
getAddress(coinType?: number): Promise<null | string>;
getText(key: string): Promise<null | string>;
getContentHash(): Promise<null | string>;
getAvatar(): Promise<null | string>;
}
export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter {
}
export interface TypedContractEvent<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> {
(...args: Partial<InputTuple>): TypedDeferredTopicFilter<TypedContractEvent<InputTuple, OutputTuple, OutputObject>>;
name: string;
fragment: EventFragment;
getFragment(...args: Partial<InputTuple>): EventFragment;
}
export type __TypechainAOutputTuple<T> = T extends TypedContractEvent<infer _U, infer W> ? W : never;
export type __TypechainOutputObject<T> = T extends TypedContractEvent<infer _U, infer _W, infer V> ? V : never;
export interface TypedEventLog<TCEvent extends TypedContractEvent> extends Omit<EventLog, "args"> {
args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
}
export interface TypedLogDescription<TCEvent extends TypedContractEvent> extends Omit<LogDescription, "args"> {
args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
}
export type TypedListener<TCEvent extends TypedContractEvent> = (...listenerArg: [
...__TypechainAOutputTuple<TCEvent>,
TypedEventLog<TCEvent>,
...undefined[]
]) => void;
export type StateMutability = "nonpayable" | "payable" | "view";
export type BaseOverrides = Omit<TransactionRequest, "to" | "data">;
export type NonPayableOverrides = Omit<BaseOverrides, "value" | "blockTag" | "enableCcipRead">;
export type PayableOverrides = Omit<BaseOverrides, "blockTag" | "enableCcipRead">;
export type ViewOverrides = Omit<TransactionRequest, "to" | "data">;
type Overrides$1<S extends StateMutability> = S extends "nonpayable" ? NonPayableOverrides : S extends "payable" ? PayableOverrides : ViewOverrides;
export type PostfixOverrides<A extends Array<any>, S extends StateMutability> = A | [
...A,
Overrides$1<S>
];
export type ContractMethodArgs<A extends Array<any>, S extends StateMutability> = PostfixOverrides<{
[I in keyof A]-?: A[I] | Typed;
}, S>;
export type DefaultReturnType<R> = R extends Array<any> ? R[0] : R;
export interface TypedContractMethod<A extends Array<any> = Array<any>, R = any, S extends StateMutability = "payable"> {
(...args: ContractMethodArgs<A, S>): S extends "view" ? Promise<DefaultReturnType<R>> : Promise<ContractTransactionResponse>;
name: string;
fragment: FunctionFragment;
getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
staticCall(...args: ContractMethodArgs<A, "view">): Promise<DefaultReturnType<R>>;
send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
staticCallResult(...args: ContractMethodArgs<A, "view">): Promise<R>;
}
export declare namespace CreateX {
type ValuesStruct = {
constructorAmount: BigNumberish;
initCallAmount: BigNumberish;
};
type ValuesStructOutput = [
constructorAmount: bigint,
initCallAmount: bigint
] & {
constructorAmount: bigint;
initCallAmount: bigint;
};
}
export interface CreateXInterface extends Interface {
getFunction(nameOrSignature: "computeCreate2Address(bytes32,bytes32)" | "computeCreate2Address(bytes32,bytes32,address)" | "computeCreate3Address(bytes32,address)" | "computeCreate3Address(bytes32)" | "computeCreateAddress(uint256)" | "computeCreateAddress(address,uint256)" | "deployCreate" | "deployCreate2(bytes32,bytes)" | "deployCreate2(bytes)" | "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)" | "deployCreate2AndInit(bytes,bytes,(uint256,uint256))" | "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)" | "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))" | "deployCreate2Clone(bytes32,address,bytes)" | "deployCreate2Clone(address,bytes)" | "deployCreate3(bytes)" | "deployCreate3(bytes32,bytes)" | "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))" | "deployCreate3AndInit(bytes,bytes,(uint256,uint256))" | "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)" | "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)" | "deployCreateAndInit(bytes,bytes,(uint256,uint256))" | "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)" | "deployCreateClone"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "ContractCreation(address,bytes32)" | "ContractCreation(address)" | "Create3ProxyContractCreation"): EventFragment;
encodeFunctionData(functionFragment: "computeCreate2Address(bytes32,bytes32)", values: [
BytesLike,
BytesLike
]): string;
encodeFunctionData(functionFragment: "computeCreate2Address(bytes32,bytes32,address)", values: [
BytesLike,
BytesLike,
AddressLike
]): string;
encodeFunctionData(functionFragment: "computeCreate3Address(bytes32,address)", values: [
BytesLike,
AddressLike
]): string;
encodeFunctionData(functionFragment: "computeCreate3Address(bytes32)", values: [
BytesLike
]): string;
encodeFunctionData(functionFragment: "computeCreateAddress(uint256)", values: [
BigNumberish
]): string;
encodeFunctionData(functionFragment: "computeCreateAddress(address,uint256)", values: [
AddressLike,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "deployCreate", values: [
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate2(bytes32,bytes)", values: [
BytesLike,
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate2(bytes)", values: [
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)", values: [
BytesLike,
BytesLike,
BytesLike,
CreateX.ValuesStruct,
AddressLike
]): string;
encodeFunctionData(functionFragment: "deployCreate2AndInit(bytes,bytes,(uint256,uint256))", values: [
BytesLike,
BytesLike,
CreateX.ValuesStruct
]): string;
encodeFunctionData(functionFragment: "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)", values: [
BytesLike,
BytesLike,
CreateX.ValuesStruct,
AddressLike
]): string;
encodeFunctionData(functionFragment: "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))", values: [
BytesLike,
BytesLike,
BytesLike,
CreateX.ValuesStruct
]): string;
encodeFunctionData(functionFragment: "deployCreate2Clone(bytes32,address,bytes)", values: [
BytesLike,
AddressLike,
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate2Clone(address,bytes)", values: [
AddressLike,
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate3(bytes)", values: [
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate3(bytes32,bytes)", values: [
BytesLike,
BytesLike
]): string;
encodeFunctionData(functionFragment: "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))", values: [
BytesLike,
BytesLike,
BytesLike,
CreateX.ValuesStruct
]): string;
encodeFunctionData(functionFragment: "deployCreate3AndInit(bytes,bytes,(uint256,uint256))", values: [
BytesLike,
BytesLike,
CreateX.ValuesStruct
]): string;
encodeFunctionData(functionFragment: "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)", values: [
BytesLike,
BytesLike,
BytesLike,
CreateX.ValuesStruct,
AddressLike
]): string;
encodeFunctionData(functionFragment: "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)", values: [
BytesLike,
BytesLike,
CreateX.ValuesStruct,
AddressLike
]): string;
encodeFunctionData(functionFragment: "deployCreateAndInit(bytes,bytes,(uint256,uint256))", values: [
BytesLike,
BytesLike,
CreateX.ValuesStruct
]): string;
encodeFunctionData(functionFragment: "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)", values: [
BytesLike,
BytesLike,
CreateX.ValuesStruct,
AddressLike
]): string;
encodeFunctionData(functionFragment: "deployCreateClone", values: [
AddressLike,
BytesLike
]): string;
decodeFunctionResult(functionFragment: "computeCreate2Address(bytes32,bytes32)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "computeCreate2Address(bytes32,bytes32,address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "computeCreate3Address(bytes32,address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "computeCreate3Address(bytes32)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "computeCreateAddress(uint256)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "computeCreateAddress(address,uint256)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2(bytes32,bytes)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2(bytes)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2AndInit(bytes,bytes,(uint256,uint256))", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2Clone(bytes32,address,bytes)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate2Clone(address,bytes)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate3(bytes)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate3(bytes32,bytes)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate3AndInit(bytes,bytes,(uint256,uint256))", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreateAndInit(bytes,bytes,(uint256,uint256))", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployCreateClone", data: BytesLike): Result;
}
declare namespace ContractCreation_address_bytes32_Event {
type InputTuple = [
newContract: AddressLike,
salt: BytesLike
];
type OutputTuple = [
newContract: string,
salt: string
];
interface OutputObject {
newContract: string;
salt: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
declare namespace ContractCreation_address_Event {
type InputTuple = [
newContract: AddressLike
];
type OutputTuple = [
newContract: string
];
interface OutputObject {
newContract: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
declare namespace Create3ProxyContractCreationEvent {
type InputTuple = [
newContract: AddressLike,
salt: BytesLike
];
type OutputTuple = [
newContract: string,
salt: string
];
interface OutputObject {
newContract: string;
salt: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface CreateX extends BaseContract {
connect(runner?: ContractRunner | null): CreateX;
waitForDeployment(): Promise<this>;
interface: CreateXInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
"computeCreate2Address(bytes32,bytes32)": TypedContractMethod<[
salt: BytesLike,
initCodeHash: BytesLike
], [
string
], "view">;
"computeCreate2Address(bytes32,bytes32,address)": TypedContractMethod<[
salt: BytesLike,
initCodeHash: BytesLike,
deployer: AddressLike
], [
string
], "view">;
"computeCreate3Address(bytes32,address)": TypedContractMethod<[
salt: BytesLike,
deployer: AddressLike
], [
string
], "view">;
"computeCreate3Address(bytes32)": TypedContractMethod<[
salt: BytesLike
], [
string
], "view">;
"computeCreateAddress(uint256)": TypedContractMethod<[
nonce: BigNumberish
], [
string
], "view">;
"computeCreateAddress(address,uint256)": TypedContractMethod<[
deployer: AddressLike,
nonce: BigNumberish
], [
string
], "view">;
deployCreate: TypedContractMethod<[
initCode: BytesLike
], [
string
], "payable">;
"deployCreate2(bytes32,bytes)": TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike
], [
string
], "payable">;
"deployCreate2(bytes)": TypedContractMethod<[
initCode: BytesLike
], [
string
], "payable">;
"deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
"deployCreate2AndInit(bytes,bytes,(uint256,uint256))": TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
"deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
"deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
"deployCreate2Clone(bytes32,address,bytes)": TypedContractMethod<[
salt: BytesLike,
implementation: AddressLike,
data: BytesLike
], [
string
], "payable">;
"deployCreate2Clone(address,bytes)": TypedContractMethod<[
implementation: AddressLike,
data: BytesLike
], [
string
], "payable">;
"deployCreate3(bytes)": TypedContractMethod<[
initCode: BytesLike
], [
string
], "payable">;
"deployCreate3(bytes32,bytes)": TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike
], [
string
], "payable">;
"deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
"deployCreate3AndInit(bytes,bytes,(uint256,uint256))": TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
"deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
"deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
"deployCreateAndInit(bytes,bytes,(uint256,uint256))": TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
"deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
deployCreateClone: TypedContractMethod<[
implementation: AddressLike,
data: BytesLike
], [
string
], "payable">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "computeCreate2Address(bytes32,bytes32)"): TypedContractMethod<[
salt: BytesLike,
initCodeHash: BytesLike
], [
string
], "view">;
getFunction(nameOrSignature: "computeCreate2Address(bytes32,bytes32,address)"): TypedContractMethod<[
salt: BytesLike,
initCodeHash: BytesLike,
deployer: AddressLike
], [
string
], "view">;
getFunction(nameOrSignature: "computeCreate3Address(bytes32,address)"): TypedContractMethod<[
salt: BytesLike,
deployer: AddressLike
], [
string
], "view">;
getFunction(nameOrSignature: "computeCreate3Address(bytes32)"): TypedContractMethod<[
salt: BytesLike
], [
string
], "view">;
getFunction(nameOrSignature: "computeCreateAddress(uint256)"): TypedContractMethod<[
nonce: BigNumberish
], [
string
], "view">;
getFunction(nameOrSignature: "computeCreateAddress(address,uint256)"): TypedContractMethod<[
deployer: AddressLike,
nonce: BigNumberish
], [
string
], "view">;
getFunction(nameOrSignature: "deployCreate"): TypedContractMethod<[
initCode: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2(bytes32,bytes)"): TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2(bytes)"): TypedContractMethod<[
initCode: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)"): TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2AndInit(bytes,bytes,(uint256,uint256))"): TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)"): TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))"): TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2Clone(bytes32,address,bytes)"): TypedContractMethod<[
salt: BytesLike,
implementation: AddressLike,
data: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate2Clone(address,bytes)"): TypedContractMethod<[
implementation: AddressLike,
data: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate3(bytes)"): TypedContractMethod<[
initCode: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate3(bytes32,bytes)"): TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))"): TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate3AndInit(bytes,bytes,(uint256,uint256))"): TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)"): TypedContractMethod<[
salt: BytesLike,
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)"): TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreateAndInit(bytes,bytes,(uint256,uint256))"): TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)"): TypedContractMethod<[
initCode: BytesLike,
data: BytesLike,
values: CreateX.ValuesStruct,
refundAddress: AddressLike
], [
string
], "payable">;
getFunction(nameOrSignature: "deployCreateClone"): TypedContractMethod<[
implementation: AddressLike,
data: BytesLike
], [
string
], "payable">;
getEvent(key: "ContractCreation(address,bytes32)"): TypedContractEvent<ContractCreation_address_bytes32_Event.InputTuple, ContractCreation_address_bytes32_Event.OutputTuple, ContractCreation_address_bytes32_Event.OutputObject>;
getEvent(key: "ContractCreation(address)"): TypedContractEvent<ContractCreation_address_Event.InputTuple, ContractCreation_address_Event.OutputTuple, ContractCreation_address_Event.OutputObject>;
getEvent(key: "Create3ProxyContractCreation"): TypedContractEvent<Create3ProxyContractCreationEvent.InputTuple, Create3ProxyContractCreationEvent.OutputTuple, Create3ProxyContractCreationEvent.OutputObject>;
filters: {
"ContractCreation(address,bytes32)": TypedContractEvent<ContractCreation_address_bytes32_Event.InputTuple, ContractCreation_address_bytes32_Event.OutputTuple, ContractCreation_address_bytes32_Event.OutputObject>;
"ContractCreation(address)": TypedContractEvent<ContractCreation_address_Event.InputTuple, ContractCreation_address_Event.OutputTuple, ContractCreation_address_Event.OutputObject>;
"Create3ProxyContractCreation(address,bytes32)": TypedContractEvent<Create3ProxyContractCreationEvent.InputTuple, Create3ProxyContractCreationEvent.OutputTuple, Create3ProxyContractCreationEvent.OutputObject>;
Create3ProxyContractCreation: TypedContractEvent<Create3ProxyContractCreationEvent.InputTuple, Create3ProxyContractCreationEvent.OutputTuple, Create3ProxyContractCreationEvent.OutputObject>;
};
}
export interface DataFeedInterface extends Interface {
getFunction(nameOrSignature: "aggregator" | "decimals" | "description" | "getRoundData" | "latestRoundData" | "latestAnswer" | "latestRound" | "version"): FunctionFragment;
encodeFunctionData(functionFragment: "aggregator", values?: undefined): string;
encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
encodeFunctionData(functionFragment: "description", values?: undefined): string;
encodeFunctionData(functionFragment: "getRoundData", values: [
BigNumberish
]): string;
encodeFunctionData(functionFragment: "latestRoundData", values?: undefined): string;
encodeFunctionData(functionFragment: "latestAnswer", values?: undefined): string;
encodeFunctionData(functionFragment: "latestRound", values?: undefined): string;
encodeFunctionData(functionFragment: "version", values?: undefined): string;
decodeFunctionResult(functionFragment: "aggregator", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "description", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRoundData", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "latestRoundData", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "latestAnswer", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "latestRound", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
}
export interface DataFeed extends BaseContract {
connect(runner?: ContractRunner | null): DataFeed;
waitForDeployment(): Promise<this>;
interface: DataFeedInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
aggregator: TypedContractMethod<[
], [
string
], "view">;
decimals: TypedContractMethod<[
], [
bigint
], "view">;
description: TypedContractMethod<[
], [
string
], "view">;
getRoundData: TypedContractMethod<[
_roundId: BigNumberish
], [
[
bigint,
bigint,
bigint,
bigint,
bigint
] & {
roundId: bigint;
answer: bigint;
startedAt: bigint;
updatedAt: bigint;
answeredInRound: bigint;
}
], "view">;
latestRoundData: TypedContractMethod<[
], [
[
bigint,
bigint,
bigint,
bigint,
bigint
] & {
roundId: bigint;
answer: bigint;
startedAt: bigint;
updatedAt: bigint;
answeredInRound: bigint;
}
], "view">;
latestAnswer: TypedContractMethod<[
], [
bigint
], "view">;
latestRound: TypedContractMethod<[
], [
bigint
], "view">;
version: TypedContractMethod<[
], [
bigint
], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "aggregator"): TypedContractMethod<[
], [
string
], "view">;
getFunction(nameOrSignature: "decimals"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "description"): TypedContractMethod<[
], [
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: "latestRoundData"): TypedContractMethod<[
], [
[
bigint,
bigint,
bigint,
bigint,
bigint
] & {
roundId: bigint;
answer: bigint;
startedAt: bigint;
updatedAt: bigint;
answeredInRound: bigint;
}
], "view">;
getFunction(nameOrSignature: "latestAnswer"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "latestRound"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "version"): TypedContractMethod<[
], [
bigint
], "view">;
filters: {};
}
export interface ERC20Interface 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 {
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<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
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<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface ERC20 extends BaseContract {
connect(runner?: ContractRunner | null): ERC20;
waitForDeployment(): Promise<this>;
interface: ERC20Interface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
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<T extends ContractMethod = ContractMethod>(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<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
getEvent(key: "Transfer"): TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
filters: {
"Approval(address,address,uint256)": TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
Approval: TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
"Transfer(address,address,uint256)": TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
Transfer: TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
};
}
declare namespace Multicall3 {
type CallStruct = {
target: AddressLike;
callData: BytesLike;
};
type CallStructOutput = [
target: string,
callData: string
] & {
target: string;
callData: string;
};
type Call3Struct = {
target: AddressLike;
allowFailure: boolean;
callData: BytesLike;
};
type Call3StructOutput = [
target: string,
allowFailure: boolean,
callData: string
] & {
target: string;
allowFailure: boolean;
callData: string;
};
type ResultStruct = {
success: boolean;
returnData: BytesLike;
};
type ResultStructOutput = [
success: boolean,
returnData: string
] & {
success: boolean;
returnData: string;
};
type Call3ValueStruct = {
target: AddressLike;
allowFailure: boolean;
value: BigNumberish;
callData: BytesLike;
};
type Call3ValueStructOutput = [
target: string,
allowFailure: boolean,
value: bigint,
callData: string
] & {
target: string;
allowFailure: boolean;
value: bigint;
callData: string;
};
}
export interface MulticallInterface extends Interface {
getFunction(nameOrSignature: "aggregate" | "aggregate3" | "aggregate3Value" | "blockAndAggregate" | "getBasefee" | "getBlockHash" | "getBlockNumber" | "getChainId" | "getCurrentBlockCoinbase" | "getCurrentBlockDifficulty" | "getCurrentBlockGasLimit" | "getCurrentBlockTimestamp" | "getEthBalance" | "getLastBlockHash" | "tryAggregate" | "tryBlockAndAggregate"): FunctionFragment;
encodeFunctionData(functionFragment: "aggregate", values: [
Multicall3.CallStruct[]
]): string;
encodeFunctionData(functionFragment: "aggregate3", values: [
Multicall3.Call3Struct[]
]): string;
encodeFunctionData(functionFragment: "aggregate3Value", values: [
Multicall3.Call3ValueStruct[]
]): string;
encodeFunctionData(functionFragment: "blockAndAggregate", values: [
Multicall3.CallStruct[]
]): string;
encodeFunctionData(functionFragment: "getBasefee", values?: undefined): string;
encodeFunctionData(functionFragment: "getBlockHash", values: [
BigNumberish
]): string;
encodeFunctionData(functionFragment: "getBlockNumber", values?: undefined): string;
encodeFunctionData(functionFragment: "getChainId", values?: undefined): string;
encodeFunctionData(functionFragment: "getCurrentBlockCoinbase", values?: undefined): string;
encodeFunctionData(functionFragment: "getCurrentBlockDifficulty", values?: undefined): string;
encodeFunctionData(functionFragment: "getCurrentBlockGasLimit", values?: undefined): string;
encodeFunctionData(functionFragment: "getCurrentBlockTimestamp", values?: undefined): string;
encodeFunctionData(functionFragment: "getEthBalance", values: [
AddressLike
]): string;
encodeFunctionData(functionFragment: "getLastBlockHash", values?: undefined): string;
encodeFunctionData(functionFragment: "tryAggregate", values: [
boolean,
Multicall3.CallStruct[]
]): string;
encodeFunctionData(functionFragment: "tryBlockAndAggregate", values: [
boolean,
Multicall3.CallStruct[]
]): string;
decodeFunctionResult(functionFragment: "aggregate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "aggregate3", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "aggregate3Value", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "blockAndAggregate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getBasefee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getBlockHash", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getBlockNumber", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getCurrentBlockCoinbase", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getCurrentBlockDifficulty", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getCurrentBlockGasLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getCurrentBlockTimestamp", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getEthBalance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getLastBlockHash", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tryAggregate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tryBlockAndAggregate", data: BytesLike): Result;
}
export interface Multicall extends BaseContract {
connect(runner?: ContractRunner | null): Multicall;
waitForDeployment(): Promise<this>;
interface: MulticallInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
aggregate: TypedContractMethod<[
calls: Multicall3.CallStruct[]
], [
[
bigint,
string[]
] & {
blockNumber: bigint;
returnData: string[];
}
], "payable">;
aggregate3: TypedContractMethod<[
calls: Multicall3.Call3Struct[]
], [
Multicall3.ResultStructOutput[]
], "payable">;
aggregate3Value: TypedContractMethod<[
calls: Multicall3.Call3ValueStruct[]
], [
Multicall3.ResultStructOutput[]
], "payable">;
blockAndAggregate: TypedContractMethod<[
calls: Multicall3.CallStruct[]
], [
[
bigint,
string,
Multicall3.ResultStructOutput[]
] & {
blockNumber: bigint;
blockHash: string;
returnData: Multicall3.ResultStructOutput[];
}
], "payable">;
getBasefee: TypedContractMethod<[
], [
bigint
], "view">;
getBlockHash: TypedContractMethod<[
blockNumber: BigNumberish
], [
string
], "view">;
getBlockNumber: TypedContractMethod<[
], [
bigint
], "view">;
getChainId: TypedContractMethod<[
], [
bigint
], "view">;
getCurrentBlockCoinbase: TypedContractMethod<[
], [
string
], "view">;
getCurrentBlockDifficulty: TypedContractMethod<[
], [
bigint
], "view">;
getCurrentBlockGasLimit: TypedContractMethod<[
], [
bigint
], "view">;
getCurrentBlockTimestamp: TypedContractMethod<[
], [
bigint
], "view">;
getEthBalance: TypedContractMethod<[
addr: AddressLike
], [
bigint
], "view">;
getLastBlockHash: TypedContractMethod<[
], [
string
], "view">;
tryAggregate: TypedContractMethod<[
requireSuccess: boolean,
calls: Multicall3.CallStruct[]
], [
Multicall3.ResultStructOutput[]
], "payable">;
tryBlockAndAggregate: TypedContractMethod<[
requireSuccess: boolean,
calls: Multicall3.CallStruct[]
], [
[
bigint,
string,
Multicall3.ResultStructOutput[]
] & {
blockNumber: bigint;
blockHash: string;
returnData: Multicall3.ResultStructOutput[];
}
], "payable">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "aggregate"): TypedContractMethod<[
calls: Multicall3.CallStruct[]
], [
[
bigint,
string[]
] & {
blockNumber: bigint;
returnData: string[];
}
], "payable">;
getFunction(nameOrSignature: "aggregate3"): TypedContractMethod<[
calls: Multicall3.Call3Struct[]
], [
Multicall3.ResultStructOutput[]
], "payable">;
getFunction(nameOrSignature: "aggregate3Value"): TypedContractMethod<[
calls: Multicall3.Call3ValueStruct[]
], [
Multicall3.ResultStructOutput[]
], "payable">;
getFunction(nameOrSignature: "blockAndAggregate"): TypedContractMethod<[
calls: Multicall3.CallStruct[]
], [
[
bigint,
string,
Multicall3.ResultStructOutput[]
] & {
blockNumber: bigint;
blockHash: string;
returnData: Multicall3.ResultStructOutput[];
}
], "payable">;
getFunction(nameOrSignature: "getBasefee"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "getBlockHash"): TypedContractMethod<[
blockNumber: BigNumberish
], [
string
], "view">;
getFunction(nameOrSignature: "getBlockNumber"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "getChainId"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "getCurrentBlockCoinbase"): TypedContractMethod<[
], [
string
], "view">;
getFunction(nameOrSignature: "getCurrentBlockDifficulty"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "getCurrentBlockGasLimit"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "getCurrentBlockTimestamp"): TypedContractMethod<[
], [
bigint
], "view">;
getFunction(nameOrSignature: "getEthBalance"): TypedContractMethod<[
addr: AddressLike
], [
bigint
], "view">;
getFunction(nameOrSignature: "getLastBlockHash"): TypedContractMethod<[
], [
string
], "view">;
getFunction(nameOrSignature: "tryAggregate"): TypedContractMethod<[
requireSuccess: boolean,
calls: Multicall3.CallStruct[]
], [
Multicall3.ResultStructOutput[]
], "payable">;
getFunction(nameOrSignature: "tryBlockAndAggregate"): TypedContractMethod<[
requireSuccess: boolean,
calls: Multicall3.CallStruct[]
], [
[
bigint,
string,
Multicall3.ResultStructOutput[]
] & {
blockNumber: bigint;
blockHash: string;
returnData: Multicall3.ResultStructOutput[];
}
], "payable">;
filters: {};
}
declare namespace OraclePrices {
type OraclePriceStruct = {
rate: BigNumberish;
weight: BigNumberish;
};
type OraclePriceStructOutput = [
rate: bigint,
weight: bigint
] & {
rate: bigint;
weight: bigint;
};
type DataStruct = {
maxOracleWeight: BigNumberish;
size: BigNumberish;
oraclePrices: OraclePrices.OraclePriceStruct[];
};
type DataStructOutput = [
maxOracleWeight: bigint,
size: bigint,
oraclePrices: OraclePrices.OraclePriceStructOutput[]
] & {
maxOracleWeight: bigint;
size: bigint;
oraclePrices: OraclePrices.OraclePriceStructOutput[];
};
}
export interface OffchainOracleInterface extends Interface {
getFunction(nameOrSignature: "addConnector"