From 2c1ef14c807859c94d2f6ae2ef45d40285a9e919 Mon Sep 17 00:00:00 2001 From: bgallois <benjamin@gallois.cc> Date: Thu, 4 Jul 2024 17:53:22 +0200 Subject: [PATCH] fix https://git.duniter.org/nodes/rust/duniter-v2s/-/issues/244 --- node/src/chain_spec/g1.rs | 12 +++++------- node/src/chain_spec/gdev.rs | 15 +++++++-------- node/src/chain_spec/gen_genesis_data.rs | 10 +++++++++- node/src/chain_spec/gtest.rs | 12 +++++------- runtime/common/src/pallets_config.rs | 1 - runtime/g1/src/parameters.rs | 1 + runtime/gdev/src/parameters.rs | 1 + runtime/gtest/src/parameters.rs | 1 + 8 files changed, 29 insertions(+), 24 deletions(-) diff --git a/node/src/chain_spec/g1.rs b/node/src/chain_spec/g1.rs index b84e42225..e2fc8361e 100644 --- a/node/src/chain_spec/g1.rs +++ b/node/src/chain_spec/g1.rs @@ -147,7 +147,7 @@ fn genesis_data_to_g1_genesis_conf( initial_monetary_mass, memberships, parameters: _, - common_parameters: _, + common_parameters, session_keys_map, initial_smiths, sudo_key, @@ -191,7 +191,7 @@ fn genesis_data_to_g1_genesis_conf( name, owner_key, status, - expires_on, + expires_on: _, revokes_on, }| GenesisIdty { index: idty_index, @@ -205,11 +205,9 @@ fn genesis_data_to_g1_genesis_conf( IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => { panic!("Unconfirmed or Unvalidated identity in genesis") } - IdtyStatus::Member => expires_on.expect("must have expires_on set"), - IdtyStatus::Revoked => 0, - IdtyStatus::NotMember => { - revokes_on.expect("must have revokes_on set") - } + IdtyStatus::Member => 0, + IdtyStatus::Revoked => common_parameters.as_ref().expect("must have common_parameters").identity_deletion_period, + IdtyStatus::NotMember => revokes_on.expect("must have revokes_on set"), }, status, }, diff --git a/node/src/chain_spec/gdev.rs b/node/src/chain_spec/gdev.rs index 5b4a27c1d..8f9371817 100644 --- a/node/src/chain_spec/gdev.rs +++ b/node/src/chain_spec/gdev.rs @@ -79,6 +79,7 @@ fn get_parameters(parameters_from_file: &Option<GenesisParameters>) -> CommonPar identity_change_owner_key_period: parameters::ChangeOwnerKeyPeriod::get(), identity_idty_creation_period: parameters_from_file.idty_creation_period, identity_autorevocation_period: parameters::AutorevocationPeriod::get(), + identity_deletion_period: parameters::DeletionPeriod::get(), membership_membership_period: parameters_from_file.membership_period, membership_membership_renewal_period: parameters_from_file.membership_renewal_period, cert_max_by_issuer: parameters_from_file.cert_max_by_issuer, @@ -231,7 +232,7 @@ fn genesis_data_to_gdev_genesis_conf( initial_monetary_mass, memberships, parameters, - common_parameters: _, + common_parameters, session_keys_map, initial_smiths, sudo_key, @@ -278,7 +279,7 @@ fn genesis_data_to_gdev_genesis_conf( name, owner_key, status, - expires_on, + expires_on: _, revokes_on, }| GenesisIdty { index: idty_index, @@ -290,13 +291,11 @@ fn genesis_data_to_gdev_genesis_conf( owner_key, next_scheduled: match status { IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => { - panic!("Unconfirmed or Unvalidated identity in genesis") - } - IdtyStatus::Member => expires_on.expect("must have expires_on set"), - IdtyStatus::Revoked => 0, - IdtyStatus::NotMember => { - revokes_on.expect("must have revokes_on set") + panic!("Unconfirmed or Unvalidated or Revoked identity in genesis") } + IdtyStatus::Member => 0, + IdtyStatus::Revoked => common_parameters.as_ref().expect("must have common_parameters").identity_deletion_period, + IdtyStatus::NotMember => revokes_on.expect("must have revokes_on set"), }, status, }, diff --git a/node/src/chain_spec/gen_genesis_data.rs b/node/src/chain_spec/gen_genesis_data.rs index 72a7a0dc6..f9ca6f0ab 100644 --- a/node/src/chain_spec/gen_genesis_data.rs +++ b/node/src/chain_spec/gen_genesis_data.rs @@ -1759,7 +1759,14 @@ where initial_authorities, initial_monetary_mass: initial_identities_len as u64 * initial_idty_balance, memberships: (1..=initial_identities.len()) - .map(|i| (i as u32, MembershipData { expire_on: 0 })) + .map(|i| { + ( + i as u32, + MembershipData { + expire_on: common_parameters.membership_membership_period, + }, + ) + }) .collect(), parameters, common_parameters: None, @@ -1935,6 +1942,7 @@ pub struct CommonParameters { pub identity_change_owner_key_period: u32, pub identity_idty_creation_period: u32, pub identity_autorevocation_period: u32, + pub identity_deletion_period: u32, pub membership_membership_period: u32, pub membership_membership_renewal_period: u32, pub cert_cert_period: u32, diff --git a/node/src/chain_spec/gtest.rs b/node/src/chain_spec/gtest.rs index 930d5ea75..c654aa050 100644 --- a/node/src/chain_spec/gtest.rs +++ b/node/src/chain_spec/gtest.rs @@ -241,7 +241,7 @@ fn genesis_data_to_gtest_genesis_conf( initial_monetary_mass, memberships, parameters: _, - common_parameters: _, + common_parameters, session_keys_map, initial_smiths, sudo_key, @@ -285,7 +285,7 @@ fn genesis_data_to_gtest_genesis_conf( name, owner_key, status, - expires_on, + expires_on: _, revokes_on, }| GenesisIdty { index: idty_index, @@ -299,11 +299,9 @@ fn genesis_data_to_gtest_genesis_conf( IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => { panic!("Unconfirmed or Unvalidated identity in genesis") } - IdtyStatus::Member => expires_on.expect("must have expires_on set"), - IdtyStatus::Revoked => 0, - IdtyStatus::NotMember => { - revokes_on.expect("must have revokes_on set") - } + IdtyStatus::Member => 0, + IdtyStatus::Revoked => common_parameters.as_ref().expect("must have common_parameters").identity_deletion_period, + IdtyStatus::NotMember => revokes_on.expect("must have revokes_on set"), }, status, }, diff --git a/runtime/common/src/pallets_config.rs b/runtime/common/src/pallets_config.rs index 3b5ae90ba..0b906cddb 100644 --- a/runtime/common/src/pallets_config.rs +++ b/runtime/common/src/pallets_config.rs @@ -454,7 +454,6 @@ macro_rules! pallets_config { parameter_types! { pub const ValidationPeriod: BlockNumber = 2 * MONTHS; - pub const DeletionPeriod: BlockNumber = 10 * YEARS; } impl pallet_identity::Config for Runtime { type AccountLinker = Account; diff --git a/runtime/g1/src/parameters.rs b/runtime/g1/src/parameters.rs index ee768989c..d787eb5bf 100644 --- a/runtime/g1/src/parameters.rs +++ b/runtime/g1/src/parameters.rs @@ -112,6 +112,7 @@ parameter_types! { pub const IdtyCreationPeriod: BlockNumber = MONTHS; pub const ValidationPeriod: BlockNumber = YEARS; pub const AutorevocationPeriod: BlockNumber = YEARS; + pub const DeletionPeriod: BlockNumber = 10 * YEARS; } // Membership diff --git a/runtime/gdev/src/parameters.rs b/runtime/gdev/src/parameters.rs index 0b7083313..860d63696 100644 --- a/runtime/gdev/src/parameters.rs +++ b/runtime/gdev/src/parameters.rs @@ -92,6 +92,7 @@ parameter_types! { frame_support::parameter_types! { pub const ChangeOwnerKeyPeriod: BlockNumber = 7 * DAYS; pub const AutorevocationPeriod: BlockNumber = YEARS; + pub const DeletionPeriod: BlockNumber = 10 * YEARS; } // Membership diff --git a/runtime/gtest/src/parameters.rs b/runtime/gtest/src/parameters.rs index 6295b34bc..307f59b19 100644 --- a/runtime/gtest/src/parameters.rs +++ b/runtime/gtest/src/parameters.rs @@ -105,6 +105,7 @@ parameter_types! { pub const ConfirmPeriod: BlockNumber = DAYS; pub const IdtyCreationPeriod: BlockNumber = DAYS; pub const AutorevocationPeriod: BlockNumber = YEARS; + pub const DeletionPeriod: BlockNumber = 10 * YEARS; } // Membership -- GitLab