From 5caf1e0e52523f46482a3fc87d39a012918990d8 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Sat, 5 Apr 2025 12:45:39 +0200 Subject: [PATCH] fix(#298): integration tests for GDev were made with distance evaluation window of 7 blocks --- node/src/chain_spec/g1.rs | 1 + node/src/chain_spec/gdev.rs | 2 ++ node/src/chain_spec/gen_genesis_data.rs | 1 + node/src/chain_spec/gtest.rs | 1 + pallets/duniter-test-parameters/src/lib.rs | 1 + resources/gdev.yaml | 2 ++ runtime/common/src/pallets_config.rs | 3 +-- runtime/g1/src/parameters.rs | 1 + runtime/gdev/src/lib.rs | 2 ++ runtime/gdev/tests/common/mod.rs | 1 + runtime/gtest/src/parameters.rs | 1 + 11 files changed, 14 insertions(+), 2 deletions(-) diff --git a/node/src/chain_spec/g1.rs b/node/src/chain_spec/g1.rs index 78f879a8c..f85e92bd1 100644 --- a/node/src/chain_spec/g1.rs +++ b/node/src/chain_spec/g1.rs @@ -81,6 +81,7 @@ fn get_parameters(_parameters_from_file: &Option<GenesisParameters>) -> CommonPa cert_min_received_cert_to_be_able_to_issue_cert: parameters::MinReceivedCertToBeAbleToIssueCert::get(), cert_validity_period: parameters::ValidityPeriod::get(), + distance_evaluation_period: gtest_runtime::parameters::DistanceEvaluationPeriod::get(), distance_min_accessible_referees: parameters::MinAccessibleReferees::get(), distance_max_depth: parameters::MaxRefereeDistance::get(), smith_sub_wot_min_cert_for_membership: parameters::SmithWotMinCertForMembership::get(), diff --git a/node/src/chain_spec/gdev.rs b/node/src/chain_spec/gdev.rs index d6ff6806f..e6dbd0013 100644 --- a/node/src/chain_spec/gdev.rs +++ b/node/src/chain_spec/gdev.rs @@ -86,6 +86,7 @@ fn get_parameters(parameters_from_file: &Option<GenesisParameters>) -> CommonPar cert_min_received_cert_to_be_able_to_issue_cert: parameters_from_file .cert_min_received_cert_to_issue_cert, cert_validity_period: parameters_from_file.cert_validity_period, + distance_evaluation_period: parameters_from_file.distance_evaluation_period, distance_min_accessible_referees: parameters::MinAccessibleReferees::get(), distance_max_depth: parameters::MaxRefereeDistance::get(), smith_sub_wot_min_cert_for_membership: parameters_from_file @@ -332,6 +333,7 @@ fn get_local_chain_parameters() -> Option<GenesisParameters> { cert_max_by_issuer: 10, cert_min_received_cert_to_issue_cert: 2, cert_validity_period, + distance_evaluation_period: 7, idty_confirm_period: 40, idty_creation_period: 50, membership_period, diff --git a/node/src/chain_spec/gen_genesis_data.rs b/node/src/chain_spec/gen_genesis_data.rs index 59717f6cd..c084dd2a8 100644 --- a/node/src/chain_spec/gen_genesis_data.rs +++ b/node/src/chain_spec/gen_genesis_data.rs @@ -1933,6 +1933,7 @@ pub struct CommonParameters { pub cert_max_by_issuer: u32, pub cert_min_received_cert_to_be_able_to_issue_cert: u32, pub cert_validity_period: u32, + pub distance_evaluation_period: u32, pub distance_min_accessible_referees: Perbill, pub distance_max_depth: u32, pub smith_sub_wot_min_cert_for_membership: u32, diff --git a/node/src/chain_spec/gtest.rs b/node/src/chain_spec/gtest.rs index b80ad714f..c5be5db46 100644 --- a/node/src/chain_spec/gtest.rs +++ b/node/src/chain_spec/gtest.rs @@ -134,6 +134,7 @@ fn get_parameters(_: &Option<GenesisParameters>) -> CommonParameters { cert_min_received_cert_to_be_able_to_issue_cert: parameters::MinReceivedCertToBeAbleToIssueCert::get(), cert_validity_period: parameters::ValidityPeriod::get(), + distance_evaluation_period: parameters::DistanceEvaluationPeriod::get(), distance_min_accessible_referees: parameters::MinAccessibleReferees::get(), distance_max_depth: parameters::MaxRefereeDistance::get(), smith_sub_wot_min_cert_for_membership: parameters::SmithWotMinCertForMembership::get(), diff --git a/pallets/duniter-test-parameters/src/lib.rs b/pallets/duniter-test-parameters/src/lib.rs index b2bbc8bcc..b2b97ba34 100644 --- a/pallets/duniter-test-parameters/src/lib.rs +++ b/pallets/duniter-test-parameters/src/lib.rs @@ -51,6 +51,7 @@ pub mod types { pub cert_max_by_issuer: CertCount, pub cert_min_received_cert_to_issue_cert: CertCount, pub cert_validity_period: BlockNumber, + pub distance_evaluation_period: BlockNumber, pub idty_confirm_period: BlockNumber, pub idty_creation_period: BlockNumber, pub membership_period: BlockNumber, diff --git a/resources/gdev.yaml b/resources/gdev.yaml index d232831de..74a14ee73 100644 --- a/resources/gdev.yaml +++ b/resources/gdev.yaml @@ -17,6 +17,8 @@ parameters: ud_reeval_period: 86400000 # ----- MAIN WOT ----- + # Evaluation window size, 100 blocks = 600s = 10 min. + distance_evaluation_period: 100 # Duration to wait between two emitted certifications 14400 blocks = 24h = 1 day. cert_period: 14400 # Maximum quantity of currently valid certifications emitted by a same issuer. 100 certs. diff --git a/runtime/common/src/pallets_config.rs b/runtime/common/src/pallets_config.rs index d7b785dea..e16c563e4 100644 --- a/runtime/common/src/pallets_config.rs +++ b/runtime/common/src/pallets_config.rs @@ -490,8 +490,7 @@ macro_rules! pallets_config { impl pallet_distance::Config for Runtime { type CheckRequestDistanceEvaluation = Wot; type Currency = Balances; - // 100 blocks - type EvaluationPeriod = frame_support::traits::ConstU32<100>; + type EvaluationPeriod = DistanceEvaluationPeriod; type EvaluationPrice = frame_support::traits::ConstU64<1000>; type MaxRefereeDistance = MaxRefereeDistance; type MinAccessibleReferees = MinAccessibleReferees; diff --git a/runtime/g1/src/parameters.rs b/runtime/g1/src/parameters.rs index d787eb5bf..7e0ee49b1 100644 --- a/runtime/g1/src/parameters.rs +++ b/runtime/g1/src/parameters.rs @@ -51,6 +51,7 @@ parameter_types! { parameter_types! { pub const MinAccessibleReferees: Perbill = Perbill::from_percent(80); pub const MaxRefereeDistance: u32 = 5; + pub const DistanceEvaluationPeriod: u32 = 100; } // Babe diff --git a/runtime/gdev/src/lib.rs b/runtime/gdev/src/lib.rs index 258c2c007..c6a8bb3ae 100644 --- a/runtime/gdev/src/lib.rs +++ b/runtime/gdev/src/lib.rs @@ -204,6 +204,8 @@ impl frame_support::traits::InstanceFilter<RuntimeCall> for ProxyType { // Dynamic parameters pub type EpochDuration = pallet_duniter_test_parameters::BabeEpochDuration<Runtime>; +pub type DistanceEvaluationPeriod = + pallet_duniter_test_parameters::DistanceEvaluationPeriod<Runtime>; pub type CertPeriod = pallet_duniter_test_parameters::CertPeriod<Runtime>; pub type MaxByIssuer = pallet_duniter_test_parameters::CertMaxByIssuer<Runtime>; pub type MinReceivedCertToBeAbleToIssueCert = diff --git a/runtime/gdev/tests/common/mod.rs b/runtime/gdev/tests/common/mod.rs index b8d13eaef..db1ed84c6 100644 --- a/runtime/gdev/tests/common/mod.rs +++ b/runtime/gdev/tests/common/mod.rs @@ -100,6 +100,7 @@ impl ExtBuilder { cert_max_by_issuer: 10, cert_min_received_cert_to_issue_cert: 2, cert_validity_period: 10_000, + distance_evaluation_period: 7, idty_confirm_period: 40, idty_creation_period: 50, membership_period: 100, diff --git a/runtime/gtest/src/parameters.rs b/runtime/gtest/src/parameters.rs index 307f59b19..b2f5c78d8 100644 --- a/runtime/gtest/src/parameters.rs +++ b/runtime/gtest/src/parameters.rs @@ -51,6 +51,7 @@ parameter_types! { parameter_types! { pub const MinAccessibleReferees: Perbill = Perbill::from_percent(80); pub const MaxRefereeDistance: u32 = 5; + pub const DistanceEvaluationPeriod: u32 = 100; } // Babe -- GitLab