UNPKG

@okxweb3/coin-ethereum

Version:

An Ethereum SDK for building Web3 wallets and applications.

48 lines (47 loc) 2 kB
/// <reference types="bn.js" /> /// <reference types="node" /> import { Address } from '../ethereumjs-util'; import { BN } from '@okxweb3/crypto-lib'; import { TxData, JsonTx, AccessListEIP2930ValuesArray, AccessListEIP2930TxData, FeeMarketEIP1559ValuesArray, FeeMarketEIP1559TxData, TxValuesArray } from './types'; export declare enum Chain { Mainnet = 1, Ropsten = 3, Rinkeby = 4, Kovan = 42, Goerli = 5, Sepolia = 11155111 } export declare abstract class BaseTransaction<TransactionObject> { private readonly _type; readonly nonce: BN; readonly gasLimit: BN; readonly to?: Address; readonly value: BN; readonly data: Buffer; readonly v?: BN; readonly r?: BN; readonly s?: BN; protected activeCapabilities: number[]; protected DEFAULT_CHAIN: Chain; protected constructor(txData: TxData | AccessListEIP2930TxData | FeeMarketEIP1559TxData); get transactionType(): number; get type(): number; abstract raw(): TxValuesArray | AccessListEIP2930ValuesArray | FeeMarketEIP1559ValuesArray; abstract serialize(): Buffer; abstract getMessageToSign(hashMessage: false): Buffer | Buffer[]; abstract getMessageToSign(hashMessage?: true): Buffer; abstract hash(): Buffer; isSigned(): boolean; abstract toJSON(): JsonTx; sign(privateKey: Buffer): TransactionObject; protected abstract _processSignature(v: number, r: Buffer, s: Buffer): TransactionObject; protected abstract _processSignatureWithRawV(v: number, r: Buffer, s: Buffer): TransactionObject; protected _validateCannotExceedMaxInteger(values: { [key: string]: BN | undefined; }, bits?: number, cannotEqual?: boolean): void; protected _getSharedErrorPostfix(): string; abstract errorStr(): string; protected abstract _errorMsg(msg: string): string; processSignature(v: number, r: Buffer, s: Buffer): TransactionObject; processSignatureWithRawV(v: number, r: Buffer, s: Buffer): TransactionObject; }