What is the scriptCode in a P2WSH transaction?

0

Let's say I am spending from a 2-of-2 multisig with this script:

522103c2f21de0f430251d8e3987fbe89ff51f3d6f3a48b234b84b60ddb9f24d587cf52103e0948a03f50377290847d27c93d383b8ab7e2d0bc065e96e0e1136b315388b5452ae

OP_2 <len(pubkey1)> <pubkey1> <len(pubkey2)> <pubkey2> OP_2 OP_CHECKMULTISIG

What would go in the scriptCode according to BIP143? Is it just the script listed above? Here is the relevant part from BIP143.

For P2WSH witness program,
- if the witnessScript does not contain any OP_CODESEPARATOR, the scriptCode is the witnessScript serialized as scripts inside CTxOut.
- if the witnessScript contains any OP_CODESEPARATOR, the scriptCode is the witnessScript but removing everything up to and including the last executed OP_CODESEPARATOR before the signature checking opcode being executed, serialized as scripts inside CTxOut. (The exact semantics is demonstrated in the examples below)

Darius

Posted 2019-11-20T23:00:15.320

Reputation: 103

Answers

1

Yes, the scriptCode would be that multisig script.

Andrew Chow

Posted 2019-11-20T23:00:15.320

Reputation: 40 910

Thanks.

Now that I just found out, I wanted to add that in the bip143 transaction digest, the scriptCode needs to be preceded by a byte indicating the length of the scriptCode. – Darius 2019-11-22T01:42:15.997