diff --git a/end2end-tests/cucumber-genesis/default.json b/end2end-tests/cucumber-genesis/default.json index 7eb7b13925f46831d3c052a1c8963ef2004ca241..9b59a91533dc42d9ca0dbc2ec4fbbe72cdb53406 100644 --- a/end2end-tests/cucumber-genesis/default.json +++ b/end2end-tests/cucumber-genesis/default.json @@ -1,6 +1,14 @@ { "first_ud": 1000, "first_ud_reeval": 100, + "genesis_parameters": { + "genesis_certs_expire_on": 100000, + "genesis_certs_min_received": 2, + "genesis_memberships_expire_on": 100000, + "genesis_smith_certs_expire_on": 100000, + "genesis_smith_certs_min_received": 2, + "genesis_smith_memberships_expire_on": 100000 + }, "identities": { "Alice": { "balance": 1000, diff --git a/end2end-tests/cucumber-genesis/wot.json b/end2end-tests/cucumber-genesis/wot.json index f4048b0b164c4c2b7239b37c30ccd78b4f84abda..ac93ccc96dbfdddb33c2f11683d387b7e77710e1 100644 --- a/end2end-tests/cucumber-genesis/wot.json +++ b/end2end-tests/cucumber-genesis/wot.json @@ -1,6 +1,14 @@ { "first_ud": 1000, "first_ud_reeval": 100, + "genesis_parameters": { + "genesis_certs_expire_on": 100000, + "genesis_certs_min_received": 2, + "genesis_memberships_expire_on": 100000, + "genesis_smith_certs_expire_on": 100000, + "genesis_smith_certs_min_received": 2, + "genesis_smith_memberships_expire_on": 100000 + }, "identities": { "Alice": { "balance": 1000, diff --git a/node/src/chain_spec/gdev.rs b/node/src/chain_spec/gdev.rs index 04ede2da9e6963f8f25cdf4ee69612ebeacc839c..6836f23d34b6c1640f9877c7c6e8b415594d44b9 100644 --- a/node/src/chain_spec/gdev.rs +++ b/node/src/chain_spec/gdev.rs @@ -96,14 +96,6 @@ pub fn development_chain_spec() -> Result<ChainSpec, String> { ) }, Some(get_authority_keys_from_seed("Alice").encode()), - Some(super::gen_genesis_data::ParamsAppliedAtGenesis { - genesis_certs_expire_on: 100_000, - genesis_certs_min_received: 2, - genesis_memberships_expire_on: 100_000, - genesis_smith_certs_expire_on: 100_000, - genesis_smith_certs_min_received: 2, - genesis_smith_memberships_expire_on: 100_000, - }), ) } else { Ok(ChainSpec::from_genesis( @@ -191,14 +183,6 @@ pub fn gen_live_conf() -> Result<ChainSpec, String> { ) }, None, - Some(super::gen_genesis_data::ParamsAppliedAtGenesis { - genesis_certs_expire_on: 2_102_400, - genesis_certs_min_received: 3, - genesis_memberships_expire_on: 1_051_200, - genesis_smith_certs_expire_on: 2_102_400, - genesis_smith_certs_min_received: 3, - genesis_smith_memberships_expire_on: 1_051_200, - }), ) } diff --git a/node/src/chain_spec/gen_genesis_data.rs b/node/src/chain_spec/gen_genesis_data.rs index fccfe574c647f4cfe13f4e27be00d25d2c182966..1b47ee55d82bb80952cc21c89f06cd96b80449ad 100644 --- a/node/src/chain_spec/gen_genesis_data.rs +++ b/node/src/chain_spec/gen_genesis_data.rs @@ -41,7 +41,7 @@ pub struct GenesisData<Parameters: DeserializeOwned, SessionKeys: Decode> { pub technical_committee_members: Vec<AccountId>, } -#[derive(Default)] +#[derive(Default, Deserialize, Serialize)] pub struct ParamsAppliedAtGenesis { pub genesis_certs_expire_on: u32, pub genesis_certs_min_received: u32, @@ -55,6 +55,7 @@ pub struct ParamsAppliedAtGenesis { struct GenesisConfig<Parameters> { first_ud: u64, first_ud_reeval: u32, + genesis_parameters: ParamsAppliedAtGenesis, identities: BTreeMap<String, Idty>, #[serde(default)] parameters: Parameters, @@ -87,22 +88,12 @@ struct SmithData { pub fn generate_genesis_data<CS, P, SK, F>( f: F, maybe_force_authority: Option<Vec<u8>>, - params_applied_at_genesis: Option<ParamsAppliedAtGenesis>, ) -> Result<CS, String> where P: Default + DeserializeOwned, SK: Decode, F: Fn(GenesisData<P, SK>) -> CS, { - let ParamsAppliedAtGenesis { - genesis_certs_expire_on, - genesis_certs_min_received, - genesis_memberships_expire_on, - genesis_smith_certs_expire_on, - genesis_smith_certs_min_received, - genesis_smith_memberships_expire_on, - } = params_applied_at_genesis.unwrap_or_default(); - let genesis_timestamp: u64 = if let Ok(genesis_timestamp) = std::env::var("DUNITER_GENESIS_TIMESTAMP") { genesis_timestamp @@ -137,6 +128,15 @@ where sudo_key, first_ud, first_ud_reeval, + genesis_parameters: + ParamsAppliedAtGenesis { + genesis_certs_expire_on, + genesis_certs_min_received, + genesis_memberships_expire_on, + genesis_smith_certs_expire_on, + genesis_smith_certs_min_received, + genesis_smith_memberships_expire_on, + }, parameters, identities, smith_identities, diff --git a/resources/gdev.json b/resources/gdev.json index ea5d8bb38a3b2f7f5cd69a6c6dc1574472f470d0..aa09f2d51781df27eb6221d15a8cb43fca026736 100644 --- a/resources/gdev.json +++ b/resources/gdev.json @@ -1,6 +1,14 @@ { "first_ud": 10000, "first_ud_reeval": 100800, + "genesis_parameters": { + "genesis_certs_expire_on": 2102400, + "genesis_certs_min_received": 3, + "genesis_memberships_expire_on": 1051200, + "genesis_smith_certs_expire_on": 2102400, + "genesis_smith_certs_min_received": 3, + "genesis_smith_memberships_expire_on": 1051200 + }, "identities": { "Elois": { "balance": 10000,