opnet
Version:
The perfect library for building Bitcoin-based applications.
31 lines (30 loc) • 1.29 kB
JavaScript
import { fromHex } from '@btc-vision/bitcoin';
import { MempoolTransactionData } from '../MempoolTransactionData.js';
export class MempoolOPNetTransactionData extends MempoolTransactionData {
theoreticalGasLimit;
priorityFee;
from;
contractAddress;
calldata;
constructor(data) {
super(data);
if (data.theoreticalGasLimit === undefined) {
throw new Error('Missing theoreticalGasLimit field in OPNet transaction mempool data.');
}
if (data.calldata === undefined) {
throw new Error('Missing calldata field in OPNet transaction mempool data.');
}
if (data.from === undefined) {
throw new Error('Missing from field in OPNet transaction mempool data.');
}
if (data.contractAddress === undefined) {
throw new Error('Missing contractAddress field in OPNet transaction mempool data.');
}
this.theoreticalGasLimit = BigInt(data.theoreticalGasLimit);
this.priorityFee = BigInt(data.priorityFee || '0x00');
this.from = data.from;
this.contractAddress = data.contractAddress;
const calldataHex = data.calldata.startsWith('0x') ? data.calldata.slice(2) : data.calldata;
this.calldata = fromHex(calldataHex);
}
}