import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 ERC20Interface extends utils.Interface { functions: { "DOMAIN_SEPARATOR()": FunctionFragment; "PERMIT_TYPEHASH()": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "burn(address,uint256)": FunctionFragment; "decimals()": FunctionFragment; "deny(address)": FunctionFragment; "mint(address,uint256)": FunctionFragment; "move(address,address,uint256)": FunctionFragment; "name()": FunctionFragment; "nonces(address)": FunctionFragment; "permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "pull(address,uint256)": FunctionFragment; "push(address,uint256)": FunctionFragment; "rely(address)": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "version()": FunctionFragment; "wards(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "PERMIT_TYPEHASH" | "allowance" | "approve" | "balanceOf" | "burn" | "decimals" | "deny" | "mint" | "move" | "name" | "nonces" | "permit" | "pull" | "push" | "rely" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "version" | "wards"): FunctionFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "PERMIT_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "burn", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deny", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "mint", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "move", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "permit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "pull", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "push", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "rely", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; encodeFunctionData(functionFragment: "wards", values: [PromiseOrValue]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PERMIT_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deny", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "move", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pull", data: BytesLike): Result; decodeFunctionResult(functionFragment: "push", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rely", 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; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; decodeFunctionResult(functionFragment: "wards", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "LogNote(bytes4,address,bytes32,bytes32,bytes)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogNote"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export interface ApprovalEventObject { src: string; guy: string; wad: BigNumber; } export type ApprovalEvent = TypedEvent<[ string, string, BigNumber ], ApprovalEventObject>; export type ApprovalEventFilter = TypedEventFilter; export interface LogNoteEventObject { sig: string; usr: string; arg1: string; arg2: string; data: string; } export type LogNoteEvent = TypedEvent<[ string, string, string, string, string ], LogNoteEventObject>; export type LogNoteEventFilter = TypedEventFilter; export interface TransferEventObject { src: string; dst: string; wad: BigNumber; } export type TransferEvent = TypedEvent<[ string, string, BigNumber ], TransferEventObject>; export type TransferEventFilter = TypedEventFilter; export interface ERC20 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ERC20Interface; 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: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; approve(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; burn(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; deny(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; move(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise<[string]>; nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; permit(holder: PromiseOrValue, spender: PromiseOrValue, nonce: PromiseOrValue, expiry: PromiseOrValue, allowed: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pull(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; push(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rely(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise<[string]>; wards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; }; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; approve(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; burn(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; deny(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; move(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; permit(holder: PromiseOrValue, spender: PromiseOrValue, nonce: PromiseOrValue, expiry: PromiseOrValue, allowed: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pull(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; push(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rely(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise; wards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; callStatic: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; approve(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; burn(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; deny(guy: PromiseOrValue, overrides?: CallOverrides): Promise; mint(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; move(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; permit(holder: PromiseOrValue, spender: PromiseOrValue, nonce: PromiseOrValue, expiry: PromiseOrValue, allowed: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides): Promise; pull(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; push(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; rely(guy: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; wards(arg0: 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; "LogNote(bytes4,address,bytes32,bytes32,bytes)"(sig?: PromiseOrValue | null, usr?: PromiseOrValue | null, arg1?: PromiseOrValue | null, arg2?: PromiseOrValue | null, data?: null): LogNoteEventFilter; LogNote(sig?: PromiseOrValue | null, usr?: PromiseOrValue | null, arg1?: PromiseOrValue | null, arg2?: PromiseOrValue | null, data?: null): LogNoteEventFilter; "Transfer(address,address,uint256)"(src?: PromiseOrValue | null, dst?: PromiseOrValue | null, wad?: null): TransferEventFilter; Transfer(src?: PromiseOrValue | null, dst?: PromiseOrValue | null, wad?: null): TransferEventFilter; }; estimateGas: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; approve(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; burn(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; deny(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; move(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; permit(holder: PromiseOrValue, spender: PromiseOrValue, nonce: PromiseOrValue, expiry: PromiseOrValue, allowed: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pull(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; push(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rely(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise; wards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; approve(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; burn(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; deny(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; move(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; permit(holder: PromiseOrValue, spender: PromiseOrValue, nonce: PromiseOrValue, expiry: PromiseOrValue, allowed: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pull(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; push(usr: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rely(guy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, wad: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise; wards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; }