File tree Expand file tree Collapse file tree 1 file changed +18
-4
lines changed
exercises/ex08-genesis-config/nft-with-genesis-config/src Expand file tree Collapse file tree 1 file changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -49,10 +49,24 @@ pub mod pallet {
49
49
#[ pallet:: genesis_build]
50
50
impl < T : Config > GenesisBuild < T > for GenesisConfig < T > {
51
51
fn build ( & self ) {
52
- // TODO
53
- // iterate over the `GenesisAssetList` and:
54
- // 1) mint each asset
55
- // 2) transfer the correct amount of this asset to each account in the inner vec
52
+ for ( creator, metadata, supply, owners) in self . genesis_asset_list . iter ( ) {
53
+ let bounded_metadata: BoundedVec < u8 , T :: MaxLength > =
54
+ metadata. clone ( ) . try_into ( ) . unwrap ( ) ;
55
+
56
+ Pallet :: < T > :: inner_mint ( creator. clone ( ) , bounded_metadata, supply. clone ( ) ) . unwrap ( ) ;
57
+
58
+ let created_asset_id = Pallet :: < T > :: nonce ( ) - 1 ;
59
+
60
+ for ( recipient, amount) in ( * owners) . iter ( ) {
61
+ Pallet :: < T > :: inner_transfer (
62
+ created_asset_id,
63
+ creator. clone ( ) ,
64
+ recipient. clone ( ) ,
65
+ amount. clone ( ) ,
66
+ )
67
+ . unwrap ( ) ;
68
+ }
69
+ }
56
70
}
57
71
}
58
72
You can’t perform that action at this time.
0 commit comments