You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PRs #2302, #2371, and #2419 included some refactorings of the transaction::Verifier, splitting some code into separate methods so that they can be reused. It might be beneficial to further split the methods so that the consensus rules can be properly quoted in the documentation, instead of in the code comments. The split code could be either new methods, or new functions in the transaction::check module, where other consensus rule checks are implemented.
Specifications
The consensus rules that are affected and quoted in the code comments are:
The joinSplitSig MUST represent a valid signature, under joinSplitPubKey, of the sighash.
The consensus rules that are likely relevant but not yet implemented are:
The spend authorization signature MUST be a valid SpendAuthSigOrchard signature over SigHash using rk as the validating key. [...] validation of the R component of the signature prohibits non-canonical encodings.
Motivation
PRs #2302, #2371, and #2419 included some refactorings of the
transaction::Verifier
, splitting some code into separate methods so that they can be reused. It might be beneficial to further split the methods so that the consensus rules can be properly quoted in the documentation, instead of in the code comments. The split code could be either new methods, or new functions in thetransaction::check
module, where other consensus rule checks are implemented.Specifications
The consensus rules that are affected and quoted in the code comments are:
https://zips.z.cash/protocol/protocol.pdf#sproutnonmalleability
https://zips.z.cash/protocol/protocol.pdf#spenddesc
https://zips.z.cash/protocol/protocol.pdf#outputdesc
The consensus rule affected by the code but not quoted in any nearby comment:
https://zips.z.cash/protocol/protocol.pdf#txnconsensus
The consensus rules that are likely relevant but not yet implemented are:
Tracking issue: #2317
Open PR: #2442
Tracking issue: #2105
https://zips.z.cash/protocol/protocol.pdf#actiondesc
Tracking issue: #2103
https://zips.z.cash/protocol/protocol.pdf#txnconsensus
Related Work
#1981 was the issue that tracked part of the refactor when initial support for V5 transactions was implemented.
The text was updated successfully, but these errors were encountered: