import { OPNetTransactionTypes } from '../../../interfaces/opnet/OPNetTransactionTypes.js'; export interface MempoolTransactionInput { readonly transactionId: string; readonly outputIndex: number; } export interface MempoolTransactionOutput { readonly address: string | null; readonly outputIndex: number; readonly value: string; readonly scriptPubKey: string; } export interface PendingTransactionsResult { readonly transactions?: IMempoolTransactionData[]; } export interface IMempoolTransactionData { readonly id: string; readonly firstSeen: string; readonly blockHeight: string; readonly transactionType: OPNetTransactionTypes | string; readonly psbt: boolean; readonly inputs: MempoolTransactionInput[]; readonly outputs: MempoolTransactionOutput[]; readonly raw: string; } export interface IMempoolOPNetTransactionData extends IMempoolTransactionData { readonly theoreticalGasLimit: string; readonly priorityFee: string; readonly from: string; readonly contractAddress: string; readonly calldata: string; } export interface IMempoolInteractionTransactionData extends IMempoolOPNetTransactionData { } export interface IMempoolDeploymentTransactionData extends IMempoolOPNetTransactionData { readonly bytecode: string; } export type AnyIMempoolTransactionData = IMempoolTransactionData | IMempoolInteractionTransactionData | IMempoolDeploymentTransactionData;