Skip to content

Commit aab3dca

Browse files
committed
add test
1 parent 2b28edc commit aab3dca

2 files changed

Lines changed: 327 additions & 80 deletions

File tree

crates/tests/src/common.rs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,38 @@ pub const TEST_BASE_FEE: u64 = 0;
4040

4141
/// Creates a reusable chain specification for tests.
4242
pub fn create_test_chain_spec() -> Arc<ChainSpec> {
43-
create_test_chain_spec_with_base_fee_sink(None)
43+
create_test_chain_spec_with_extras(None, None)
4444
}
4545

4646
/// Creates a reusable chain specification with an optional base fee sink address.
4747
pub fn create_test_chain_spec_with_base_fee_sink(base_fee_sink: Option<Address>) -> Arc<ChainSpec> {
48+
create_test_chain_spec_with_extras(base_fee_sink, None)
49+
}
50+
51+
/// Creates a reusable chain specification with a configured mint admin address.
52+
pub fn create_test_chain_spec_with_mint_admin(mint_admin: Address) -> Arc<ChainSpec> {
53+
create_test_chain_spec_with_extras(None, Some(mint_admin))
54+
}
55+
56+
fn create_test_chain_spec_with_extras(
57+
base_fee_sink: Option<Address>,
58+
mint_admin: Option<Address>,
59+
) -> Arc<ChainSpec> {
4860
let mut genesis: Genesis =
4961
serde_json::from_str(include_str!("../assets/genesis.json")).expect("valid genesis");
5062

51-
if let Some(sink) = base_fee_sink {
63+
if base_fee_sink.is_some() || mint_admin.is_some() {
64+
let mut extras = serde_json::Map::new();
65+
if let Some(sink) = base_fee_sink {
66+
extras.insert("baseFeeSink".to_string(), json!(sink));
67+
}
68+
if let Some(admin) = mint_admin {
69+
extras.insert("mintAdmin".to_string(), json!(admin));
70+
}
5271
genesis
5372
.config
5473
.extra_fields
55-
.insert("evolve".to_string(), json!({ "baseFeeSink": sink }));
74+
.insert("evolve".to_string(), serde_json::Value::Object(extras));
5675
}
5776

5877
Arc::new(

0 commit comments

Comments
 (0)