opnet
Version:
The perfect library for building Bitcoin-based applications.
27 lines (26 loc) • 1.51 kB
TypeScript
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;