@@ -109,7 +109,7 @@ decl_test_parachain! {
109109 Runtime = para:: Runtime ,
110110 XcmpMessageHandler = para:: XcmpQueue ,
111111 DmpMessageHandler = para:: DmpQueue ,
112- new_ext = para_ext( 1 ) ,
112+ new_ext = para_ext( 1 , None ) ,
113113 }
114114}
115115
@@ -118,7 +118,7 @@ decl_test_parachain! {
118118 Runtime = para:: Runtime ,
119119 XcmpMessageHandler = para:: XcmpQueue ,
120120 DmpMessageHandler = para:: DmpQueue ,
121- new_ext = para_ext( 2 ) ,
121+ new_ext = para_ext( 2 , None ) ,
122122 }
123123}
124124
@@ -127,7 +127,41 @@ decl_test_parachain! {
127127 Runtime = para:: Runtime ,
128128 XcmpMessageHandler = para:: XcmpQueue ,
129129 DmpMessageHandler = para:: DmpQueue ,
130- new_ext = para_ext( 3 ) ,
130+ new_ext = para_ext( 3 , None ) ,
131+ }
132+ }
133+
134+ decl_test_parachain ! {
135+ pub struct ParaG {
136+ Runtime = para:: Runtime ,
137+ XcmpMessageHandler = para:: XcmpQueue ,
138+ DmpMessageHandler = para:: DmpQueue ,
139+ new_ext = para_ext( 4 , Some ( (
140+ vec![ (
141+ 4 ,
142+ AssetMetadata :: <Balance , para:: CustomMetadata >:: encode( & AssetMetadata {
143+ decimals: 12 ,
144+ name: "para G native token" . as_bytes( ) . to_vec( ) ,
145+ symbol: "paraG" . as_bytes( ) . to_vec( ) ,
146+ existential_deposit: 0 ,
147+ location: None ,
148+ additional: para:: CustomMetadata {
149+ fee_per_second: 1_000_000_000_000 ,
150+ } ,
151+ } ) ) ,
152+ (
153+ 5 ,
154+ AssetMetadata :: <Balance , para:: CustomMetadata >:: encode( & AssetMetadata {
155+ decimals: 12 ,
156+ name: "para G foreign token" . as_bytes( ) . to_vec( ) ,
157+ symbol: "paraF" . as_bytes( ) . to_vec( ) ,
158+ existential_deposit: 0 ,
159+ location: None ,
160+ additional: para:: CustomMetadata {
161+ fee_per_second: 1_000_000_000_000 ,
162+ } ,
163+ } ) ) ] , 5
164+ ) ) ) ,
131165 }
132166}
133167
@@ -146,14 +180,15 @@ decl_test_network! {
146180 ( 1 , ParaA ) ,
147181 ( 2 , ParaB ) ,
148182 ( 3 , ParaC ) ,
183+ ( 4 , ParaG ) ,
149184 ] ,
150185 }
151186}
152187
153188pub type ParaTokens = orml_tokens:: Pallet < para:: Runtime > ;
154189pub type ParaXTokens = orml_xtokens:: Pallet < para:: Runtime > ;
155190
156- pub fn para_ext ( para_id : u32 ) -> TestExternalities {
191+ pub fn para_ext ( para_id : u32 , asset_data : Option < ( Vec < ( u32 , Vec < u8 > ) > , u32 ) > ) -> TestExternalities {
157192 use para:: { Runtime , System } ;
158193
159194 let mut t = frame_system:: GenesisConfig :: default ( )
@@ -172,6 +207,15 @@ pub fn para_ext(para_id: u32) -> TestExternalities {
172207 . assimilate_storage ( & mut t)
173208 . unwrap ( ) ;
174209
210+ if let Some ( ( assets, last_asset_id) ) = asset_data {
211+ GenesisConfig :: < Runtime > {
212+ assets : assets,
213+ last_asset_id : last_asset_id,
214+ }
215+ . assimilate_storage ( & mut t)
216+ . unwrap ( ) ;
217+ }
218+
175219 let mut ext = TestExternalities :: new ( t) ;
176220 ext. execute_with ( || System :: set_block_number ( 1 ) ) ;
177221 ext
0 commit comments