I’ve a query concerning the retrieval of transaction parameters, particularly LOCK_TIME
and witnessScript
, for a P2WSH transaction I created.
Beneath is the related code snippet for producing the locking script utilizing a selected LOCK_TIME:
const TEN_MINUTES = 10 * 60;
const LOCK_TIME = bip65.encode({ utc: Math.ground(Date.now() / 1000) + TEN_MINUTES });
const LOCKING_SCRIPT = script.compile([
script.number.encode(LOCK_TIME),
opcodes.OP_CHECKLOCKTIMEVERIFY,
opcodes.OP_DROP,
]);
Once I wish to spend from the handle generated with this script, I perceive that I must know the precise witnessUtxo.script
and witnessScript
I used to lock the funds.
For the unlocking half, right here’s how I’m including the enter in my PSBT:
PSBT.addInput({
hash: TX_HASH,
index: 0,
sequence: 0xffffffff - 1,
witnessUtxo: {
// script: P2WSH.output!,
script: Buffer.from('0020a3a67b9adeba96fba9717446c3c4e61a26d867f7defa602593004a5daa87f2ea'),
worth: VALUE,
},
//witnessScript: LOCKING_SCRIPT,
witnessScript: Buffer.from('04a9806b66b175', 'hex'),
});
I seen I can simply retrieve the witnessUtxoScript
by checking the txId on my node. Nevertheless, I’m unable to find the witnessScript
anyplace. It appears the one approach to recreate it’s by realizing the precise LOCK_TIME that was beforehand set.
Is my understanding appropriate? Furthermore, is there any approach to discover both the LOCK_TIME or the witnessScript as soon as a transaction has been mined?
Thanks to your assist.