@@ -23,7 +23,7 @@ use rand::RngCore;
2323use crate :: {
2424 bundle:: commitments:: { hash_issue_bundle_auth_data, hash_issue_bundle_txid_data} ,
2525 constants:: reference_keys:: ReferenceKeys ,
26- note:: { rho_for_issuance_note, AssetBase , Nullifier , Rho } ,
26+ note:: { rho_for_issuance_note, AssetBase , AssetId , Nullifier , Rho } ,
2727 value:: NoteValue ,
2828 Address , Note ,
2929} ;
@@ -226,7 +226,7 @@ impl IssueAction {
226226 return Err ( IssueActionWithoutNoteNotFinalized ) ;
227227 }
228228
229- let issue_asset = AssetBase :: derive ( ik, & self . asset_desc_hash ) ;
229+ let issue_asset = AssetBase :: custom ( & AssetId :: new_v0 ( ik, & self . asset_desc_hash ) ) ;
230230
231231 // The new asset should not be the identity point of the Pallas curve.
232232 if bool:: from ( issue_asset. cv_base ( ) . is_identity ( ) ) {
@@ -367,7 +367,7 @@ impl<T: IssueAuth> IssueBundle<T> {
367367 let issue_actions: Vec < & IssueAction > = self
368368 . actions
369369 . iter ( )
370- . filter ( |a| AssetBase :: derive ( & self . ik , & a. asset_desc_hash ) . eq ( asset) )
370+ . filter ( |a| AssetBase :: custom ( & AssetId :: new_v0 ( & self . ik , & a. asset_desc_hash ) ) . eq ( asset) )
371371 . collect ( ) ;
372372 match issue_actions. len ( ) {
373373 0 => None ,
@@ -427,7 +427,7 @@ impl IssueBundle<AwaitingNullifier> {
427427 first_issuance : bool ,
428428 mut rng : impl RngCore ,
429429 ) -> ( IssueBundle < AwaitingNullifier > , AssetBase ) {
430- let asset = AssetBase :: derive ( & ik, & asset_desc_hash) ;
430+ let asset = AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset_desc_hash) ) ;
431431
432432 let mut notes = vec ! [ ] ;
433433 if first_issuance {
@@ -482,7 +482,7 @@ impl IssueBundle<AwaitingNullifier> {
482482 first_issuance : bool ,
483483 mut rng : impl RngCore ,
484484 ) -> Result < AssetBase , Error > {
485- let asset = AssetBase :: derive ( & self . ik , & asset_desc_hash) ;
485+ let asset = AssetBase :: custom ( & AssetId :: new_v0 ( & self . ik , & asset_desc_hash) ) ;
486486
487487 let note = Note :: new ( recipient, value, asset, Rho :: zero ( ) , & mut rng) ;
488488
@@ -898,7 +898,7 @@ mod tests {
898898 Signed ,
899899 } ,
900900 keys:: { FullViewingKey , Scope , SpendingKey } ,
901- note:: { rho_for_issuance_note, AssetBase , Nullifier , Rho } ,
901+ note:: { rho_for_issuance_note, AssetBase , AssetId , Nullifier , Rho } ,
902902 value:: NoteValue ,
903903 Address , Note ,
904904 } ;
@@ -991,12 +991,12 @@ mod tests {
991991
992992 let note1_asset_desc_hash =
993993 compute_asset_desc_hash ( & NonEmpty :: from_slice ( note1_asset_desc) . unwrap ( ) ) ;
994- let asset = AssetBase :: derive ( & ik, & note1_asset_desc_hash) ;
994+ let asset = AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & note1_asset_desc_hash) ) ;
995995 let note2_asset = note2_asset_desc. map_or ( asset, |desc| {
996- AssetBase :: derive (
996+ AssetBase :: custom ( & AssetId :: new_v0 (
997997 & ik,
998998 & compute_asset_desc_hash ( & NonEmpty :: from_slice ( desc) . unwrap ( ) ) ,
999- )
999+ ) )
10001000 } ) ;
10011001
10021002 let note1 = Note :: new (
@@ -1156,7 +1156,10 @@ mod tests {
11561156 . unwrap ( ) ;
11571157 assert_eq ! ( action2. notes. len( ) , 2 ) ;
11581158 let reference_note = action2. notes . first ( ) . unwrap ( ) ;
1159- verify_reference_note ( reference_note, AssetBase :: derive ( & ik, & asset_desc_hash_2) ) ;
1159+ verify_reference_note (
1160+ reference_note,
1161+ AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset_desc_hash_2) ) ,
1162+ ) ;
11601163 let first_note = action2. notes ( ) . get ( 1 ) . unwrap ( ) ;
11611164 assert_eq ! ( first_note. value( ) . inner( ) , 15 ) ;
11621165 assert_eq ! ( first_note. asset( ) , third_asset) ;
@@ -1322,10 +1325,10 @@ mod tests {
13221325 let note = Note :: new (
13231326 recipient,
13241327 NoteValue :: from_raw ( 5 ) ,
1325- AssetBase :: derive (
1328+ AssetBase :: custom ( & AssetId :: new_v0 (
13261329 bundle. ik ( ) ,
13271330 & compute_asset_desc_hash ( & NonEmpty :: from_slice ( b"zsa_asset" ) . unwrap ( ) ) ,
1328- ) ,
1331+ ) ) ,
13291332 Rho :: zero ( ) ,
13301333 & mut rng,
13311334 ) ;
@@ -1377,7 +1380,7 @@ mod tests {
13771380 assert_eq ! (
13781381 issued_assets,
13791382 BTreeMap :: from( [ (
1380- AssetBase :: derive ( & ik, & asset_desc_hash) ,
1383+ AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset_desc_hash) ) ,
13811384 AssetRecord :: new( NoteValue :: from_raw( 5 ) , false , first_note)
13821385 ) ] )
13831386 ) ;
@@ -1423,7 +1426,7 @@ mod tests {
14231426 assert_eq ! (
14241427 issued_assets,
14251428 BTreeMap :: from( [ (
1426- AssetBase :: derive ( & ik, & asset_desc_hash) ,
1429+ AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset_desc_hash) ) ,
14271430 AssetRecord :: new( NoteValue :: from_raw( 7 ) , true , first_note)
14281431 ) ] )
14291432 ) ;
@@ -1447,9 +1450,9 @@ mod tests {
14471450 let asset3_desc_hash =
14481451 compute_asset_desc_hash ( & NonEmpty :: from_slice ( b"Verify with issued assets 3" ) . unwrap ( ) ) ;
14491452
1450- let asset1_base = AssetBase :: derive ( & ik, & asset1_desc_hash) ;
1451- let asset2_base = AssetBase :: derive ( & ik, & asset2_desc_hash) ;
1452- let asset3_base = AssetBase :: derive ( & ik, & asset3_desc_hash) ;
1453+ let asset1_base = AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset1_desc_hash) ) ;
1454+ let asset2_base = AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset2_desc_hash) ) ;
1455+ let asset3_base = AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset3_desc_hash) ) ;
14531456
14541457 let ( mut bundle, _) = IssueBundle :: new (
14551458 ik,
@@ -1606,7 +1609,7 @@ mod tests {
16061609 . sign ( & isk)
16071610 . unwrap ( ) ;
16081611
1609- let final_type = AssetBase :: derive ( & ik, & asset_desc_hash) ;
1612+ let final_type = AssetBase :: custom ( & AssetId :: new_v0 ( & ik, & asset_desc_hash) ) ;
16101613
16111614 let issued_assets = [ (
16121615 final_type,
@@ -1754,10 +1757,10 @@ mod tests {
17541757 let note = Note :: new (
17551758 recipient,
17561759 NoteValue :: from_raw ( 5 ) ,
1757- AssetBase :: derive (
1760+ AssetBase :: custom ( & AssetId :: new_v0 (
17581761 signed. ik ( ) ,
17591762 & compute_asset_desc_hash ( & NonEmpty :: from_slice ( b"zsa_asset" ) . unwrap ( ) ) ,
1760- ) ,
1763+ ) ) ,
17611764 rho_for_issuance_note ( & first_nullifier, 0 , 2 ) ,
17621765 & mut rng,
17631766 ) ;
@@ -1807,7 +1810,7 @@ mod tests {
18071810 let note = Note :: new (
18081811 recipient,
18091812 NoteValue :: from_raw ( 55 ) ,
1810- AssetBase :: derive ( & incorrect_ik, & asset_desc_hash) ,
1813+ AssetBase :: custom ( & AssetId :: new_v0 ( & incorrect_ik, & asset_desc_hash) ) ,
18111814 rho_for_issuance_note ( & first_nullifier, 0 , 0 ) ,
18121815 & mut rng,
18131816 ) ;
@@ -1913,10 +1916,10 @@ mod tests {
19131916
19141917 // Setup note and merkle tree
19151918 let mut rng = OsRng ;
1916- let asset1 = AssetBase :: derive (
1919+ let asset1 = AssetBase :: custom ( & AssetId :: new_v0 (
19171920 & ik,
19181921 & compute_asset_desc_hash ( & NonEmpty :: from_slice ( b"zsa_asset1" ) . unwrap ( ) ) ,
1919- ) ;
1922+ ) ) ;
19201923 let note1 = Note :: new (
19211924 recipient,
19221925 NoteValue :: from_raw ( 10 ) ,
0 commit comments