///
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;
}