From c150c033145a5d35057e5e2c7d55b4df957307fb 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 49ef60461..b57431297 100644 --- a/node/src/chain_spec/g1.rs +++ b/node/src/chain_spec/g1.rs @@ -110,7 +110,7 @@ fn genesis_data_to_g1_genesis_conf( initial_monetary_mass, memberships, parameters: _, - common_parameters: _, + common_parameters, session_keys_map, initial_smiths, sudo_key, @@ -154,7 +154,7 @@ fn genesis_data_to_g1_genesis_conf( name, owner_key, status, - expires_on, + expires_on: _, revokes_on, }| GenesisIdty { index: idty_index, @@ -168,11 +168,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 57a3e5306..c69f6101d 100644 --- a/node/src/chain_spec/gdev.rs +++ b/node/src/chain_spec/gdev.rs @@ -81,6 +81,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, @@ -233,7 +234,7 @@ fn genesis_data_to_gdev_genesis_conf( initial_monetary_mass, memberships, parameters, - common_parameters: _, + common_parameters, session_keys_map, initial_smiths, sudo_key, @@ -280,7 +281,7 @@ fn genesis_data_to_gdev_genesis_conf( name, owner_key, status, - expires_on, + expires_on: _, revokes_on, }| GenesisIdty { index: idty_index, @@ -292,13 +293,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 5ff7083f4..93d6c7fcc 100644 --- a/node/src/chain_spec/gtest.rs +++ b/node/src/chain_spec/gtest.rs @@ -242,7 +242,7 @@ fn genesis_data_to_gtest_genesis_conf( initial_monetary_mass, memberships, parameters: _, - common_parameters: _, + common_parameters, session_keys_map, initial_smiths, sudo_key, @@ -286,7 +286,7 @@ fn genesis_data_to_gtest_genesis_conf( name, owner_key, status, - expires_on, + expires_on: _, revokes_on, }| GenesisIdty { index: idty_index, @@ -300,11 +300,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 84e76ba23..bafaafaea 100644 --- a/runtime/common/src/pallets_config.rs +++ b/runtime/common/src/pallets_config.rs @@ -459,7 +459,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 ba67b5a11..3f7f9a42c 100644 --- a/runtime/g1/src/parameters.rs +++ b/runtime/g1/src/parameters.rs @@ -106,6 +106,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 1d95aeb66..f264767fe 100644 --- a/runtime/gdev/src/parameters.rs +++ b/runtime/gdev/src/parameters.rs @@ -86,6 +86,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 6539fa51d..b94568810 100644 --- a/runtime/gtest/src/parameters.rs +++ b/runtime/gtest/src/parameters.rs @@ -99,6 +99,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