Skip to content

Commit

Permalink
Label consensus rules in orchard
Browse files Browse the repository at this point in the history
  • Loading branch information
defuse committed Jul 21, 2022
1 parent 3faab98 commit 7c83d6d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/bundle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ impl Flags {
///
/// [txencoding]: https://zips.z.cash/protocol/protocol.pdf#txnencoding
pub fn from_byte(value: u8) -> Option<Self> {
// TCR:bad-txns-v5-reserved-bits-nonzero
if value & FLAGS_EXPECTED_UNSET == 0 {
Some(Self::from_parts(
value & FLAG_SPENDS_ENABLED != 0,
Expand Down Expand Up @@ -371,6 +372,7 @@ impl<T: Authorization, V: Copy + Into<i64>> Bundle<T, V> {
/// This can be used to validate the [`Authorized::binding_signature`] returned from
/// [`Bundle::authorization`].
pub fn binding_validating_key(&self) -> redpallas::VerificationKey<Binding> {
// *TCR:bad-txns-orchard-binding-signature-invalid
(self
.actions
.iter()
Expand Down
2 changes: 2 additions & 0 deletions src/bundle/batch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ impl BatchValidator {
/// figure out which of the accumulated bundles might be invalid; if that information
/// is desired, construct separate [`BatchValidator`]s for sub-batches of the bundles.
pub fn validate<R: RngCore + CryptoRng>(self, vk: &VerifyingKey, rng: R) -> bool {
// *TCR:bad-txns-orchard-binding-signature-invalid

if self.signatures.is_empty() {
// An empty batch is always valid, but is not free to run; skip it.
// Note that a transaction has at least a binding signature, so if
Expand Down

0 comments on commit 7c83d6d

Please sign in to comment.