opnet
Version:
The perfect library for building Bitcoin-based applications.
32 lines (31 loc) • 1.19 kB
JavaScript
import { fromBase64 } from '@btc-vision/bitcoin';
import { Address } from '@btc-vision/transaction';
import { TransactionBase } from '../Transaction.js';
export class InteractionTransaction extends TransactionBase {
calldata;
senderPubKeyHash;
contractSecret;
interactionPubKey;
wasCompressed;
from;
contractAddress;
contractPublicKey;
constructor(transaction, network) {
super(transaction, network);
this.contractPublicKey = new Address(fromBase64(transaction.contractPublicKey));
if (transaction.calldata) {
this.calldata = fromBase64(transaction.calldata);
}
this.senderPubKeyHash = fromBase64(transaction.senderPubKeyHash);
this.contractSecret = fromBase64(transaction.contractSecret);
this.interactionPubKey = fromBase64(transaction.interactionPubKey);
this.wasCompressed = transaction.wasCompressed || false;
this.contractAddress = transaction.contractAddress;
try {
if (transaction.from) {
this.from = new Address(fromBase64(transaction.from), fromBase64(transaction.fromLegacy));
}
}
catch { }
}
}