@typechain/web3-v1
Version:
🔌 TypeChain target for Web3-v1
62 lines (53 loc) • 1.85 kB
text/typescript
import type BN from 'bn.js'
import type { EventEmitter } from 'events'
import type { EventLog, PromiEvent, TransactionReceipt } from 'web3-core/types'
import type { Contract } from 'web3-eth-contract'
export interface EstimateGasOptions {
from?: string
gas?: number
value?: number | string | BN
}
export interface EventOptions {
filter?: object
fromBlock?: BlockType
topics?: string[]
}
export type Callback<T> = (error: Error, result: T) => void
export interface ContractEventLog<T> extends EventLog {
returnValues: T
}
export interface ContractEventEmitter<T> extends EventEmitter {
on(event: 'connected', listener: (subscriptionId: string) => void): this
on(event: 'data' | 'changed', listener: (event: ContractEventLog<T>) => void): this
on(event: 'error', listener: (error: Error) => void): this
}
export interface NonPayableTx {
nonce?: string | number | BN
chainId?: string | number | BN
from?: string
to?: string
data?: string
gas?: string | number | BN
maxPriorityFeePerGas?: string | number | BN
maxFeePerGas?: string | number | BN
gasPrice?: string | number | BN
}
export interface PayableTx extends NonPayableTx {
value?: string | number | BN
}
export interface NonPayableTransactionObject<T> {
arguments: any[]
call(tx?: NonPayableTx, block?: BlockType): Promise<T>
send(tx?: NonPayableTx): PromiEvent<TransactionReceipt>
estimateGas(tx?: NonPayableTx): Promise<number>
encodeABI(): string
}
export interface PayableTransactionObject<T> {
arguments: any[]
call(tx?: PayableTx, block?: BlockType): Promise<T>
send(tx?: PayableTx): PromiEvent<TransactionReceipt>
estimateGas(tx?: PayableTx): Promise<number>
encodeABI(): string
}
export type BlockType = 'latest' | 'pending' | 'genesis' | 'earliest' | number | BN
export type BaseContract = Omit<Contract, 'clone' | 'once'>