import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; export interface WethInterface extends utils.Interface { functions: { 'name()': FunctionFragment; 'approve(address,uint256)': FunctionFragment; 'totalSupply()': FunctionFragment; 'transferFrom(address,address,uint256)': FunctionFragment; 'withdraw(uint256)': FunctionFragment; 'decimals()': FunctionFragment; 'balanceOf(address)': FunctionFragment; 'symbol()': FunctionFragment; 'transfer(address,uint256)': FunctionFragment; 'deposit()': FunctionFragment; 'allowance(address,address)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'name' | 'approve' | 'totalSupply' | 'transferFrom' | 'withdraw' | 'decimals' | 'balanceOf' | 'symbol' | 'transfer' | 'deposit' | 'allowance'): FunctionFragment; encodeFunctionData(functionFragment: 'name', values?: undefined): string; encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'decimals', values?: undefined): string; encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; encodeFunctionData(functionFragment: 'transfer', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'deposit', values?: undefined): string; encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result; events: { 'Approval(address,address,uint256)': EventFragment; 'Transfer(address,address,uint256)': EventFragment; 'Deposit(address,uint256)': EventFragment; 'Withdrawal(address,uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Withdrawal'): EventFragment; } export interface ApprovalEventObject { src: string; guy: string; wad: BigNumber; } export type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>; export type ApprovalEventFilter = TypedEventFilter; export interface TransferEventObject { src: string; dst: string; wad: BigNumber; } export type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>; export type TransferEventFilter = TypedEventFilter; export interface DepositEventObject { dst: string; wad: BigNumber; } export type DepositEvent = TypedEvent<[string, BigNumber], DepositEventObject>; export type DepositEventFilter = TypedEventFilter; export interface WithdrawalEventObject { src: string; wad: BigNumber; } export type WithdrawalEvent = TypedEvent<[string, BigNumber], WithdrawalEventObject>; export type WithdrawalEventFilter = TypedEventFilter; export interface Weth extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: WethInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { name(overrides?: CallOverrides): Promise<[string]>; approve(guy: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; symbol(overrides?: CallOverrides): Promise<[string]>; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; }; name(overrides?: CallOverrides): Promise; approve(guy: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; callStatic: { name(overrides?: CallOverrides): Promise; approve(guy: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(wad: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; deposit(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { 'Approval(address,address,uint256)'(src?: PromiseOrValue | null, guy?: PromiseOrValue | null, wad?: null): ApprovalEventFilter; Approval(src?: PromiseOrValue | null, guy?: PromiseOrValue | null, wad?: null): ApprovalEventFilter; 'Transfer(address,address,uint256)'(src?: PromiseOrValue | null, dst?: PromiseOrValue | null, wad?: null): TransferEventFilter; Transfer(src?: PromiseOrValue | null, dst?: PromiseOrValue | null, wad?: null): TransferEventFilter; 'Deposit(address,uint256)'(dst?: PromiseOrValue | null, wad?: null): DepositEventFilter; Deposit(dst?: PromiseOrValue | null, wad?: null): DepositEventFilter; 'Withdrawal(address,uint256)'(src?: PromiseOrValue | null, wad?: null): WithdrawalEventFilter; Withdrawal(src?: PromiseOrValue | null, wad?: null): WithdrawalEventFilter; }; estimateGas: { name(overrides?: CallOverrides): Promise; approve(guy: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { name(overrides?: CallOverrides): Promise; approve(guy: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; }; }