UNPKG

@okxweb3/coin-ethereum

Version:

An Ethereum SDK for building Web3 wallets and applications.

87 lines (86 loc) 2.31 kB
/// <reference types="node" /> import { AddressLike, BNLike, BufferLike, PrefixedHexString } from '../ethereumjs-util'; import { default as Transaction } from './legacyTransaction'; import { default as AccessListEIP2930Transaction } from './eip2930Transaction'; import { default as FeeMarketEIP1559Transaction } from './eip1559Transaction'; export type AccessListItem = { address: PrefixedHexString; storageKeys: PrefixedHexString[]; }; export type AccessListBufferItem = [Buffer, Buffer[]]; export type AccessListBuffer = AccessListBufferItem[]; export type AccessList = AccessListItem[]; export declare function isAccessListBuffer(input: AccessListBuffer | AccessList): input is AccessListBuffer; export declare function isAccessList(input: AccessListBuffer | AccessList): input is AccessList; export type TypedTransaction = Transaction | AccessListEIP2930Transaction | FeeMarketEIP1559Transaction; export type TxData = { nonce?: BNLike; gasPrice?: BNLike; gasLimit?: BNLike; to?: AddressLike; value?: BNLike; data?: BufferLike; v?: BNLike; r?: BNLike; s?: BNLike; type?: BNLike; chainId?: BNLike; }; export interface AccessListEIP2930TxData extends TxData { chainId?: BNLike; accessList?: AccessListBuffer | AccessList; } export interface FeeMarketEIP1559TxData extends AccessListEIP2930TxData { gasPrice?: never; maxPriorityFeePerGas?: BNLike; maxFeePerGas?: BNLike; } export type TxValuesArray = Buffer[]; export type AccessListEIP2930ValuesArray = [ Buffer, Buffer, Buffer, Buffer, Buffer, Buffer, Buffer, AccessListBuffer, Buffer?, Buffer?, Buffer? ]; export type FeeMarketEIP1559ValuesArray = [ Buffer, Buffer, Buffer, Buffer, Buffer, Buffer, Buffer, Buffer, AccessListBuffer, Buffer?, Buffer?, Buffer? ]; type JsonAccessListItem = { address: string; storageKeys: string[]; }; export interface JsonTx { nonce?: string; gasPrice?: string; gasLimit?: string; to?: string; data?: string; v?: string; r?: string; s?: string; value?: string; chainId?: string; accessList?: JsonAccessListItem[]; type?: string; maxPriorityFeePerGas?: string; maxFeePerGas?: string; } export {};