diff --git a/Cargo.lock b/Cargo.lock index 970849ca1a..cfc4f452c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1530,7 +1530,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "orchard" version = "0.8.0" -source = "git+https://github.com/QED-it/orchard?branch=zsa1#a7c02d22a1e2f4310130ae2e7b9813136071bc75" +source = "git+https://github.com/QED-it/orchard?branch=zsa1#fe150764065d224884fb1783f836ebc5a758ba3f" dependencies = [ "aes", "bitvec", diff --git a/zcash_primitives/src/transaction/builder.rs b/zcash_primitives/src/transaction/builder.rs index e3c17296fa..2e1283aa92 100644 --- a/zcash_primitives/src/transaction/builder.rs +++ b/zcash_primitives/src/transaction/builder.rs @@ -470,6 +470,7 @@ impl<'a, P: consensus::Parameters> Builder<'a, P, ()> { ik: IssuanceAuthorizingKey, asset_desc: Vec, issue_info: Option, + first_issuance: bool, ) -> Result<(), Error> { assert!(self.build_config.orchard_bundle_type()? == BundleType::DEFAULT_ZSA); @@ -482,6 +483,7 @@ impl<'a, P: consensus::Parameters> Builder<'a, P, ()> { IssuanceValidatingKey::from(&ik), asset_desc, issue_info, + first_issuance, OsRng, ) .map_err(Error::IssuanceBundle)? @@ -499,12 +501,13 @@ impl<'a, P: consensus::Parameters> Builder<'a, P, ()> { asset_desc: &[u8], recipient: Address, value: orchard::value::NoteValue, + first_issuance: bool, ) -> Result<(), Error> { assert!(self.build_config.orchard_bundle_type()? == BundleType::DEFAULT_ZSA); self.issuance_builder .as_mut() .ok_or(Error::IssuanceBuilderNotAvailable)? - .add_recipient(asset_desc, recipient, value, OsRng) + .add_recipient(asset_desc, recipient, value, first_issuance, OsRng) .map_err(Error::IssuanceBundle)?; Ok(()) @@ -1458,7 +1461,7 @@ mod tests { let asset_desc: Vec = "asset_desc".into(); builder - .init_issuance_bundle::(iak, asset_desc.clone(), None) + .init_issuance_bundle::(iak, asset_desc.clone(), None, true) .unwrap(); let tx = builder.mock_build_no_fee(OsRng).unwrap().into_transaction(); @@ -1491,6 +1494,7 @@ mod tests { recipient: address, value: NoteValue::from_raw(42), }), + true, ) .unwrap(); @@ -1529,10 +1533,11 @@ mod tests { recipient: address, value: NoteValue::from_raw(42), }), + true, ) .unwrap(); builder - .add_recipient::(&asset_desc, address, NoteValue::from_raw(21)) + .add_recipient::(&asset_desc, address, NoteValue::from_raw(21), false) .unwrap(); let binding = builder.mock_build_no_fee(OsRng).unwrap().into_transaction(); @@ -1575,10 +1580,11 @@ mod tests { recipient: address, value: NoteValue::from_raw(42), }), + true, ) .unwrap(); builder - .add_recipient::(&asset_desc_2, address, NoteValue::from_raw(21)) + .add_recipient::(&asset_desc_2, address, NoteValue::from_raw(21), true) .unwrap(); let binding = builder.mock_build_no_fee(OsRng).unwrap().into_transaction();