import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export interface IGasOracleInterface extends Interface { getFunction(nameOrSignature: "decimals" | "gasPrice" | "getL1Fee" | "getL1GasUsed" | "l1BaseFee" | "overhead" | "owner" | "renounceOwnership" | "scalar" | "setDecimals" | "setGasPrice" | "setL1BaseFee" | "setOverhead" | "setScalar" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "DecimalsUpdated" | "GasPriceUpdated" | "L1BaseFeeUpdated" | "OverheadUpdated" | "OwnershipTransferred" | "ScalarUpdated"): EventFragment; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string; encodeFunctionData(functionFragment: "getL1Fee", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getL1GasUsed", values: [BytesLike]): string; encodeFunctionData(functionFragment: "l1BaseFee", values?: undefined): string; encodeFunctionData(functionFragment: "overhead", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "scalar", values?: undefined): string; encodeFunctionData(functionFragment: "setDecimals", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setGasPrice", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setL1BaseFee", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setOverhead", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setScalar", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getL1Fee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getL1GasUsed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l1BaseFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "overhead", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scalar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDecimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setGasPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setL1BaseFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOverhead", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setScalar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } export declare namespace DecimalsUpdatedEvent { type InputTuple = [arg0: BigNumberish]; type OutputTuple = [arg0: bigint]; interface OutputObject { arg0: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace GasPriceUpdatedEvent { type InputTuple = [arg0: BigNumberish]; type OutputTuple = [arg0: bigint]; interface OutputObject { arg0: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace L1BaseFeeUpdatedEvent { type InputTuple = [arg0: BigNumberish]; type OutputTuple = [arg0: bigint]; interface OutputObject { arg0: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OverheadUpdatedEvent { type InputTuple = [arg0: BigNumberish]; type OutputTuple = [arg0: bigint]; interface OutputObject { arg0: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export 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 declare namespace ScalarUpdatedEvent { type InputTuple = [arg0: BigNumberish]; type OutputTuple = [arg0: bigint]; interface OutputObject { arg0: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IGasOracle extends BaseContract { connect(runner?: ContractRunner | null): IGasOracle; waitForDeployment(): Promise; interface: IGasOracleInterface; 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; decimals: TypedContractMethod<[], [bigint], "view">; gasPrice: TypedContractMethod<[], [bigint], "view">; getL1Fee: TypedContractMethod<[_data: BytesLike], [bigint], "view">; getL1GasUsed: TypedContractMethod<[_data: BytesLike], [bigint], "view">; l1BaseFee: TypedContractMethod<[], [bigint], "view">; overhead: TypedContractMethod<[], [bigint], "view">; owner: TypedContractMethod<[], [string], "view">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; scalar: TypedContractMethod<[], [bigint], "view">; setDecimals: TypedContractMethod<[ _decimals: BigNumberish ], [ void ], "nonpayable">; setGasPrice: TypedContractMethod<[ _gasPrice: BigNumberish ], [ void ], "nonpayable">; setL1BaseFee: TypedContractMethod<[ _baseFee: BigNumberish ], [ void ], "nonpayable">; setOverhead: TypedContractMethod<[ _overhead: BigNumberish ], [ void ], "nonpayable">; setScalar: TypedContractMethod<[_scalar: BigNumberish], [void], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "gasPrice"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getL1Fee"): TypedContractMethod<[_data: BytesLike], [bigint], "view">; getFunction(nameOrSignature: "getL1GasUsed"): TypedContractMethod<[_data: BytesLike], [bigint], "view">; getFunction(nameOrSignature: "l1BaseFee"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "overhead"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "scalar"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "setDecimals"): TypedContractMethod<[_decimals: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "setGasPrice"): TypedContractMethod<[_gasPrice: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "setL1BaseFee"): TypedContractMethod<[_baseFee: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "setOverhead"): TypedContractMethod<[_overhead: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "setScalar"): TypedContractMethod<[_scalar: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getEvent(key: "DecimalsUpdated"): TypedContractEvent; getEvent(key: "GasPriceUpdated"): TypedContractEvent; getEvent(key: "L1BaseFeeUpdated"): TypedContractEvent; getEvent(key: "OverheadUpdated"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "ScalarUpdated"): TypedContractEvent; filters: { "DecimalsUpdated(uint256)": TypedContractEvent; DecimalsUpdated: TypedContractEvent; "GasPriceUpdated(uint256)": TypedContractEvent; GasPriceUpdated: TypedContractEvent; "L1BaseFeeUpdated(uint256)": TypedContractEvent; L1BaseFeeUpdated: TypedContractEvent; "OverheadUpdated(uint256)": TypedContractEvent; OverheadUpdated: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "ScalarUpdated(uint256)": TypedContractEvent; ScalarUpdated: TypedContractEvent; }; }