UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

27 lines (26 loc) 1.51 kB
import { BigNumberish } from '../../common/CommonTypes.js'; import { OPNetTransactionTypes } from '../../interfaces/opnet/OPNetTransactionTypes.js'; import { ITransactionInput, TransactionInput } from '../metadata/TransactionInput.js'; import { ITransactionOutput, TransactionOutput } from '../metadata/TransactionOutput.js'; import { ITransactionReceipt } from './ITransactionReceipt.js'; import { ProofOfWorkChallenge, RawProofOfWorkChallenge } from './ProofOfWorkChallenge.js'; import { IDeploymentTransaction } from './transactions/IDeploymentTransaction.js'; import { IInteractionTransaction } from './transactions/IInteractionTransaction.js'; export interface ITransactionBase<T extends OPNetTransactionTypes> extends ITransactionReceipt { readonly id: string; readonly blockNumber?: string | bigint; readonly hash: string; readonly index: number; readonly burnedBitcoin: string | BigNumberish; readonly priorityFee: string | BigNumberish; readonly revert?: string | Buffer; readonly inputs: ITransactionInput[] | TransactionInput[]; readonly outputs: ITransactionOutput[] | TransactionOutput[]; readonly OPNetType: T; readonly gasUsed: string | bigint; readonly specialGasUsed: string | bigint; readonly pow?: RawProofOfWorkChallenge | ProofOfWorkChallenge; } export interface IGenericTransaction extends ITransactionBase<OPNetTransactionTypes.Generic> { } export type ITransaction = IDeploymentTransaction | IInteractionTransaction | IGenericTransaction;