@@ -119,16 +119,8 @@ where
119119 . map_err ( |_| TransitionError :: Transition { code : ASSET_COULD_NOT_WITHDRAW_FUNDS } )
120120 }
121121
122- fn generate_asset_id ( nonce : u64 ) -> AssetId {
123- let hash_base = Sage :: random_hash ( b"create_asset" ) ;
124- let current_block_number = Sage :: get_current_block_number ( ) ;
125-
126- hash_base
127- . 0
128- . into_iter ( )
129- . fold ( 0 as AssetId , |acc, value| acc. saturating_add ( value as AssetId ) )
130- . saturating_add ( current_block_number. saturated_into ( ) )
131- . saturating_add ( nonce as AssetId )
122+ fn generate_asset_id ( ) -> Result < AssetId , TransitionError > {
123+ Sage :: create_next_asset_id ( ) . ok_or ( TransitionError :: CouldNotCreateAssetId )
132124 }
133125
134126 fn verify_transition_rules (
@@ -246,9 +238,9 @@ where
246238
247239 match action {
248240 AssetType :: Player => {
249- let player_id = Self :: generate_asset_id ( 17 ) ;
241+ let player_id = Self :: generate_asset_id ( ) ? ;
250242 let player = Asset :: new_player ( player_id, current_block) ;
251- let tracker_id = Self :: generate_asset_id ( 31 ) ;
243+ let tracker_id = Self :: generate_asset_id ( ) ? ;
252244 let tracker = Asset :: new_tracker ( tracker_id, current_block) ;
253245
254246 sp_std:: vec![
@@ -258,7 +250,7 @@ where
258250 } ,
259251 AssetType :: Machine ( machine_type) => match machine_type {
260252 MachineType :: Bandit => {
261- let machine_id = Self :: generate_asset_id ( 13 ) ;
253+ let machine_id = Self :: generate_asset_id ( ) ? ;
262254 let machine = Asset :: new_bandit_machine ( machine_id, current_block) ;
263255 sp_std:: vec![ TransitionOutput :: Minted ( machine) ]
264256 } ,
@@ -462,7 +454,7 @@ where
462454
463455 machine. seat_linked = machine. seat_linked . saturating_add ( 1 ) ;
464456
465- let seat_id = Self :: generate_asset_id ( 3 ) ;
457+ let seat_id = Self :: generate_asset_id ( ) ? ;
466458 let current_block = Sage :: get_current_block_number ( ) ;
467459 let seat = Asset :: < BlockNumber > :: new_seat (
468460 seat_id,
0 commit comments