[^<]*
[^<]*)?)The items 7, 9, 10a, 10d have the same meaning as the original algorithm from Bitcoin. 2
-header
header
Deserialized into two transaction properties: fOverwintered
and nVersion
. For transactions that use this transaction digest algorithm, fOverwintered
is always set. 12
nVersionGroupId
nVersionGroupId
Provides domain separation of nVersion
. It is only defined if fOverwintered
is set, which means that it is always defined for transactions that use this algorithm. 12
hashPrevouts
hashPrevouts
ANYONECANPAY
flag is not set, hashPrevouts
is the BLAKE2b-256 hash of the serialization of all input outpoints;
hashPrevouts
is a uint256
of 0x0000......0000
.hashSequence
hashSequence
ANYONECANPAY
, SINGLE
, NONE
sighash type is set, hashSequence
is the BLAKE2b-256 hash of the serialization of nSequence
of all inputs;
Note: the encoding of the sighash type is masked with 0x1F
when checking whether or not the SINGLE
and NONE
flags are set.
hashOutputs
hashOutputs
SINGLE
nor NONE
, hashOutputs
is the BLAKE2b-256 hash of the serialization of all output amount (8-byte little endian) with scriptPubKey
(serialized as scripts inside CTxOuts);SINGLE
and the input index is smaller than the number of outputs, hashOutputs
is the BLAKE2b-256 hash of the output (serialized as above) with the same index as the input;
@@ -104,7 +104,7 @@ License: MIT
Note: the encoding of the sighash type is masked with 0x1F
when checking whether or not the SINGLE` and NONE
flags are set.
hashJoinSplits
hashJoinSplits
vjoinsplits
is non-empty, hashJoinSplits
is the BLAKE2b-256 hash of the serialization of all JoinSplits (in their canonical transaction serialization format) concatenated with the joinSplitPubKey;
hashJoinSplits
is a uint256
of 0x0000......0000
.nExpiryHeight
nExpiryHeight
The block height after which the transaction becomes unilaterally invalid, and can never be mined. 13
scriptCode
scriptCode
The script being currently executed: redeemScript
for P2SH, or scriptPubKey
in the general case. This is the same script as serialized in the Sprout transaction digest algorithm.
Semantics of the original sighash types are as in ZIP 143 4.
The items 1, 2, 3, 4, 5, 9, 10, 12, and 13 have the same meaning as in ZIP 143 4.
-hashJoinSplits
hashJoinSplits
vjoinsplits
is non-empty, hashJoinSplits
is the BLAKE2b-256 hash of the serialization of all JoinSplit descriptions (in their canonical v4 transaction serialization format) concatenated with the joinSplitPubKey
;
hashJoinSplits
is a uint256
of 0x0000......0000
.hashShieldedSpends
hashShieldedSpends
vShieldedSpend
is non-empty, hashShieldedSpends
is the BLAKE2b-256 hash of the serialization of all Spend Descriptions (in their canonical transaction serialization format minus spendAuthSig
);
hashShieldedSpends
is a uint256
of 0x0000......0000
.hashShieldedOutputs
hashShieldedOutputs
vShieldedOutput
is non-empty, hashShieldedOutputs
is the BLAKE2b-256 hash of the serialization of all Output Descriptions (in their canonical transaction serialization format);
hashShieldedOutputs
is a uint256
of 0x0000......0000
.valueBalance
valueBalance
An 8-byte signed two's-complement little-endian value of the net amount, in zatoshi, exiting the Sapling value pool. For clarity, a negative value corresponds to an amount entering the Sapling value pool.