@@ -57,7 +57,7 @@ type TokenId<T, I> = <T as pallet_assets::Config<I>>::AssetId;
57
57
Time : Time <Moment : Into <U256 >>
58
58
>,
59
59
// Fungibles
60
- T : pallet_assets:: Config <I , AssetId : Default + From <u32 > + Into <u32 >>,
60
+ T : pallet_assets:: Config <I , AssetId : Default + From <u32 > + Into <u32 > + Copy >,
61
61
alloy:: U256 : UintTryFrom <AssetsBalance <T , I >> + UintTryTo <AssetsBalance <T , I >>
62
62
) ]
63
63
mod benchmarks {
@@ -74,21 +74,21 @@ mod benchmarks {
74
74
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
75
75
let mut ext = call_setup. ext ( ) . 0 ;
76
76
let input = IFungiblesCalls :: transfer ( IFungibles :: transferCall {
77
- token : token. clone ( ) . into ( ) ,
77
+ token : token. into ( ) ,
78
78
to : <AddressMapper < T > >:: to_address ( & to) . 0 . into ( ) ,
79
79
value : alloy:: U256 :: from ( value) ,
80
80
} ) ;
81
81
82
- <Assets < T , I > >:: set_balance ( token. clone ( ) , & owner, value) ;
83
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & owner) , value) ;
84
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & to) , 0u8 . into( ) ) ;
82
+ <Assets < T , I > >:: set_balance ( token, & owner, value) ;
83
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & owner) , value) ;
84
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & to) , 0u8 . into( ) ) ;
85
85
86
86
#[ block]
87
87
{
88
88
assert_ok ! ( call_precompile:: <Fungibles <T , I >, _, ( ) >( & mut ext, & ADDRESS , & input) ) ;
89
89
}
90
90
91
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & owner) , 0u8 . into( ) ) ;
91
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & owner) , 0u8 . into( ) ) ;
92
92
assert_eq ! ( <Assets <T , I >>:: balance( token, & to) , value) ;
93
93
}
94
94
@@ -104,27 +104,27 @@ mod benchmarks {
104
104
call_setup. set_origin ( Origin :: Signed ( spender. clone ( ) ) ) ;
105
105
let mut ext = call_setup. ext ( ) . 0 ;
106
106
let input = IFungiblesCalls :: transferFrom ( IFungibles :: transferFromCall {
107
- token : token. clone ( ) . into ( ) ,
107
+ token : token. into ( ) ,
108
108
from : <AddressMapper < T > >:: to_address ( & owner) . 0 . into ( ) ,
109
109
to : <AddressMapper < T > >:: to_address ( & to) . 0 . into ( ) ,
110
110
value : alloy:: U256 :: from ( value) ,
111
111
} ) ;
112
112
113
- <Assets < T , I > >:: set_balance ( token. clone ( ) , & owner, value) ;
114
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & owner) , value) ;
115
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & spender) , 0u8 . into( ) ) ;
116
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & to) , 0u8 . into( ) ) ;
117
- assert_ok ! ( <Assets <T , I >>:: approve( token. clone ( ) , & owner, & spender, value) ) ;
118
- assert_eq ! ( <Assets <T , I >>:: allowance( token. clone ( ) , & owner, & spender) , value) ;
113
+ <Assets < T , I > >:: set_balance ( token, & owner, value) ;
114
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & owner) , value) ;
115
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & spender) , 0u8 . into( ) ) ;
116
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & to) , 0u8 . into( ) ) ;
117
+ assert_ok ! ( <Assets <T , I >>:: approve( token, & owner, & spender, value) ) ;
118
+ assert_eq ! ( <Assets <T , I >>:: allowance( token, & owner, & spender) , value) ;
119
119
120
120
#[ block]
121
121
{
122
122
assert_ok ! ( call_precompile:: <Fungibles <T , I >, _, ( ) >( & mut ext, & ADDRESS , & input) ) ;
123
123
}
124
124
125
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & owner) , 0u8 . into( ) ) ;
126
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & spender) , 0u8 . into( ) ) ;
127
- assert_eq ! ( <Assets <T , I >>:: balance( token. clone ( ) , & to) , value) ;
125
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & owner) , 0u8 . into( ) ) ;
126
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & spender) , 0u8 . into( ) ) ;
127
+ assert_eq ! ( <Assets <T , I >>:: balance( token, & to) , value) ;
128
128
assert_eq ! ( <Assets <T , I >>:: allowance( token, & owner, & spender) , 0u8 . into( ) ) ;
129
129
}
130
130
@@ -140,7 +140,7 @@ mod benchmarks {
140
140
// Set the `current_allowance`.
141
141
<Balances < T > >:: set_balance ( & owner, u32:: MAX . into ( ) ) ;
142
142
assert_ok ! ( <Assets <T , I > as approvals:: Mutate <T :: AccountId >>:: approve(
143
- token. clone ( ) ,
143
+ token,
144
144
& owner,
145
145
& spender,
146
146
current_allowance,
@@ -161,7 +161,7 @@ mod benchmarks {
161
161
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
162
162
let mut ext = call_setup. ext ( ) . 0 ;
163
163
let input = IFungiblesCalls :: approve ( IFungibles :: approveCall {
164
- token : token. clone ( ) . into ( ) ,
164
+ token : token. into ( ) ,
165
165
spender : <AddressMapper < T > >:: to_address ( & spender) . 0 . into ( ) ,
166
166
value : alloy:: U256 :: from ( approval_value) ,
167
167
} ) ;
@@ -171,11 +171,11 @@ mod benchmarks {
171
171
assert_ok ! ( call_precompile:: <Fungibles <T , I >, _, ( ) >( & mut ext, & ADDRESS , & input) ) ;
172
172
}
173
173
174
- assert_eq ! ( <Assets <T , I >>:: allowance( token. clone ( ) , & owner, & spender) , approval_value) ;
174
+ assert_eq ! ( <Assets <T , I >>:: allowance( token, & owner, & spender) , approval_value) ;
175
175
if c == 1 {
176
176
assert_has_event :: < T , I > (
177
177
pallet_assets:: Event :: ApprovalCancelled {
178
- asset_id : token. clone ( ) ,
178
+ asset_id : token,
179
179
owner : owner. clone ( ) ,
180
180
delegate : spender. clone ( ) ,
181
181
}
@@ -232,18 +232,17 @@ mod benchmarks {
232
232
let mut call_setup = set_up_call ( ) ;
233
233
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
234
234
let mut ext = call_setup. ext ( ) . 0 ;
235
- let input = IFungiblesCalls :: startDestroy ( IFungibles :: startDestroyCall {
236
- token : token. clone ( ) . into ( ) ,
237
- } ) ;
235
+ let input =
236
+ IFungiblesCalls :: startDestroy ( IFungibles :: startDestroyCall { token : token. into ( ) } ) ;
238
237
239
- assert_eq ! ( <Asset <T , I >>:: get( token. clone ( ) ) . unwrap( ) . status, AssetStatus :: Live ) ;
238
+ assert_eq ! ( <Asset <T , I >>:: get( token) . unwrap( ) . status, AssetStatus :: Live ) ;
240
239
241
240
#[ block]
242
241
{
243
242
assert_ok ! ( call_precompile:: <Fungibles <T , I >, _, ( ) >( & mut ext, & ADDRESS , & input) ) ;
244
243
}
245
244
246
- assert_eq ! ( <Asset <T , I >>:: get( token. clone ( ) ) . unwrap( ) . status, AssetStatus :: Destroying ) ;
245
+ assert_eq ! ( <Asset <T , I >>:: get( token) . unwrap( ) . status, AssetStatus :: Destroying ) ;
247
246
}
248
247
249
248
#[ benchmark]
@@ -259,7 +258,7 @@ mod benchmarks {
259
258
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
260
259
let mut ext = call_setup. ext ( ) . 0 ;
261
260
let input = IFungiblesCalls :: setMetadata ( IFungibles :: setMetadataCall {
262
- token : token. clone ( ) . into ( ) ,
261
+ token : token. into ( ) ,
263
262
name : String :: from_utf8_lossy ( & name) . to_string ( ) ,
264
263
symbol : String :: from_utf8_lossy ( & symbol) . to_string ( ) ,
265
264
decimals,
@@ -270,8 +269,8 @@ mod benchmarks {
270
269
assert_ok ! ( call_precompile:: <Fungibles <T , I >, _, ( ) >( & mut ext, & ADDRESS , & input) ) ;
271
270
}
272
271
273
- assert_eq ! ( <Assets <T , I >>:: name( token. clone ( ) ) , name) ;
274
- assert_eq ! ( <Assets <T , I >>:: symbol( token. clone ( ) ) , symbol) ;
272
+ assert_eq ! ( <Assets <T , I >>:: name( token) , name) ;
273
+ assert_eq ! ( <Assets <T , I >>:: symbol( token) , symbol) ;
275
274
assert_eq ! ( <Assets <T , I >>:: decimals( token) , decimals) ;
276
275
}
277
276
@@ -282,17 +281,16 @@ mod benchmarks {
282
281
let mut call_setup = set_up_call ( ) ;
283
282
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
284
283
let mut ext = call_setup. ext ( ) . 0 ;
285
- let input = IFungiblesCalls :: clearMetadata ( IFungibles :: clearMetadataCall {
286
- token : token. clone ( ) . into ( ) ,
287
- } ) ;
284
+ let input =
285
+ IFungiblesCalls :: clearMetadata ( IFungibles :: clearMetadataCall { token : token. into ( ) } ) ;
288
286
289
287
#[ block]
290
288
{
291
289
assert_ok ! ( call_precompile:: <Fungibles <T , I >, _, ( ) >( & mut ext, & ADDRESS , & input) ) ;
292
290
}
293
291
294
- assert ! ( <Assets <T , I >>:: name( token. clone ( ) ) . is_empty( ) ) ;
295
- assert ! ( <Assets <T , I >>:: symbol( token. clone ( ) ) . is_empty( ) ) ;
292
+ assert ! ( <Assets <T , I >>:: name( token) . is_empty( ) ) ;
293
+ assert ! ( <Assets <T , I >>:: symbol( token) . is_empty( ) ) ;
296
294
assert_eq ! ( <Assets <T , I >>:: decimals( token) , 0 ) ;
297
295
}
298
296
@@ -307,7 +305,7 @@ mod benchmarks {
307
305
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
308
306
let mut ext = call_setup. ext ( ) . 0 ;
309
307
let input = IFungiblesCalls :: mint ( IFungibles :: mintCall {
310
- token : token. clone ( ) . into ( ) ,
308
+ token : token. into ( ) ,
311
309
account : <AddressMapper < T > >:: to_address ( & account) . 0 . into ( ) ,
312
310
value : alloy:: U256 :: from ( value) ,
313
311
} ) ;
@@ -331,12 +329,12 @@ mod benchmarks {
331
329
call_setup. set_origin ( Origin :: Signed ( owner. clone ( ) ) ) ;
332
330
let mut ext = call_setup. ext ( ) . 0 ;
333
331
let input = IFungiblesCalls :: burn ( IFungibles :: burnCall {
334
- token : token. clone ( ) . into ( ) ,
332
+ token : token. into ( ) ,
335
333
account : <AddressMapper < T > >:: to_address ( & account) . 0 . into ( ) ,
336
334
value : alloy:: U256 :: from ( value) ,
337
335
} ) ;
338
336
339
- <Assets < T , I > >:: set_balance ( token. clone ( ) , & account, value) ;
337
+ <Assets < T , I > >:: set_balance ( token, & account, value) ;
340
338
341
339
#[ block]
342
340
{
@@ -457,21 +455,24 @@ fn assert_has_event<T: pallet_assets::Config<I>, I>(
457
455
frame_system:: Pallet :: < T > :: assert_has_event ( event. into ( ) ) ;
458
456
}
459
457
460
- fn create < T : Config < I > + pallet_assets:: Config < I , AssetId : Default > + pallet_revive:: Config , I > (
458
+ fn create <
459
+ T : Config < I > + pallet_assets:: Config < I , AssetId : Copy + Default > + pallet_revive:: Config ,
460
+ I ,
461
+ > (
461
462
owner : T :: AccountId ,
462
463
) -> TokenId < T , I > {
463
464
let token = NextAssetId :: < T , I > :: get ( ) . unwrap_or_default ( ) ;
464
465
<Balances < T > >:: set_balance ( & owner, u32:: MAX . into ( ) ) ;
465
466
assert_ok ! ( <Assets <T , I > as Create <T :: AccountId >>:: create(
466
- token. clone ( ) ,
467
+ token,
467
468
owner. clone( ) ,
468
469
true ,
469
470
1u32 . into( )
470
471
) ) ;
471
472
472
473
let max = AssetsStringLimit :: < T , I > :: get ( ) as usize ;
473
474
assert_ok ! ( <Assets <T , I > as metadata:: Mutate <T :: AccountId >>:: set(
474
- token. clone ( ) ,
475
+ token,
475
476
& owner,
476
477
vec![ 255u8 ; max] ,
477
478
vec![ 255u8 ; max] ,
0 commit comments