/// import type BN from "bn.js"; import type { ContractOptions } from "web3-eth-contract"; import type { EventLog } from "web3-core"; import type { EventEmitter } from "events"; import type { Callback, PayableTransactionObject, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types"; export interface EventOptions { filter?: object; fromBlock?: BlockType; topics?: string[]; } export type Approval = ContractEventLog<{ owner: string; spender: string; value: string; 0: string; 1: string; 2: string; }>; export type Transfer = ContractEventLog<{ from: string; to: string; value: string; 0: string; 1: string; 2: string; }>; export interface WETHInterface extends BaseContract { constructor(jsonInterface: any[], address?: string, options?: ContractOptions): WETHInterface; clone(): WETHInterface; methods: { allowance(owner: string, spender: string): NonPayableTransactionObject; approve(spender: string, amount: number | string | BN): NonPayableTransactionObject; balanceOf(account: string): NonPayableTransactionObject; deposit(): PayableTransactionObject; totalSupply(): NonPayableTransactionObject; transfer(to: string, amount: number | string | BN): NonPayableTransactionObject; transferFrom(from: string, to: string, amount: number | string | BN): NonPayableTransactionObject; withdraw(wad: number | string | BN): NonPayableTransactionObject; }; events: { Approval(cb?: Callback): EventEmitter; Approval(options?: EventOptions, cb?: Callback): EventEmitter; Transfer(cb?: Callback): EventEmitter; Transfer(options?: EventOptions, cb?: Callback): EventEmitter; allEvents(options?: EventOptions, cb?: Callback): EventEmitter; }; once(event: "Approval", cb: Callback): void; once(event: "Approval", options: EventOptions, cb: Callback): void; once(event: "Transfer", cb: Callback): void; once(event: "Transfer", options: EventOptions, cb: Callback): void; }