Skip to content
Snippets Groups Projects
Commit b6d3b28c authored by Éloïs's avatar Éloïs
Browse files

Remove useless rules RenewablePeriod and CertRenewablePeriod (!87)

* ci: not execute live tests on jobs tests_debug & tests_release

* mod(membership): remove rule RenewablePeriod

* fix live tests compilation

* mod(cert): remove rule CertRenewablePeriod
parent 8685766d
Branches
Tags
1 merge request!87Remove useless rules RenewablePeriod and CertRenewablePeriod
Showing
with 25 additions and 195 deletions
[alias]
cucumber = "test -p duniter-end2end-tests --test cucumber_tests --"
sanity-gdev = "test -p duniter-live-tests --test sanity_gdev -- --nocapture"
tu = "test --workspace --exclude duniter-end2end-tests"
tu = "test --workspace --exclude duniter-end2end-tests --exclude duniter-live-tests"
tb = "test --features runtime-benchmarks -p"
xtask = "run --package xtask --"
......@@ -158,7 +158,7 @@ tests_debug:
DUNITER_BINARY_PATH: "../build/duniter"
DUNITER_END2END_TESTS_SPAWN_NODE_TIMEOUT: "20"
script:
- cargo test --workspace --exclude duniter-end2end-tests
- cargo test --workspace --exclude duniter-end2end-tests --exclude duniter-live-tests
- cargo cucumber -i balance*
- cargo cucumber -i monetary*
- cargo cucumber -i transfer*
......@@ -182,7 +182,7 @@ tests_release:
DUNITER_BINARY_PATH: "../build/duniter"
DUNITER_END2END_TESTS_SPAWN_NODE_TIMEOUT: "20"
script:
- cargo test --workspace --exclude duniter-end2end-tests
- cargo test --workspace --exclude duniter-end2end-tests --exclude duniter-live-tests
- cargo cucumber -i balance*
- cargo cucumber -i monetary*
- cargo cucumber -i transfer*
......
......@@ -23,22 +23,18 @@
"cert_period": 15,
"cert_max_by_issuer": 10,
"cert_min_received_cert_to_issue_cert": 2,
"cert_renewable_period": 50,
"cert_validity_period": 1000,
"idty_confirm_period": 40,
"idty_creation_period": 50,
"membership_period": 1000,
"membership_renewable_period": 50,
"pending_membership_period": 500,
"ud_creation_period": 10,
"ud_reeval_period": 100,
"smith_cert_period": 15,
"smith_cert_max_by_issuer": 8,
"smith_cert_min_received_cert_to_issue_cert": 2,
"smith_cert_renewable_period": 50,
"smith_cert_validity_period": 1000,
"smith_membership_period": 1000,
"smith_membership_renewable_period": 20,
"smith_pending_membership_period": 500,
"smiths_wot_first_cert_issuable_on": 20,
"smiths_wot_min_cert_for_membership": 2,
......
......@@ -28,22 +28,18 @@
"cert_period": 15,
"cert_max_by_issuer": 10,
"cert_min_received_cert_to_issue_cert": 2,
"cert_renewable_period": 50,
"cert_validity_period": 1000,
"idty_confirm_period": 40,
"idty_creation_period": 50,
"membership_period": 1000,
"membership_renewable_period": 50,
"pending_membership_period": 500,
"ud_creation_period": 10,
"ud_reeval_period": 100,
"smith_cert_period": 15,
"smith_cert_max_by_issuer": 8,
"smith_cert_min_received_cert_to_issue_cert": 2,
"smith_cert_renewable_period": 50,
"smith_cert_validity_period": 1000,
"smith_membership_period": 1000,
"smith_membership_renewable_period": 20,
"smith_pending_membership_period": 500,
"smiths_wot_first_cert_issuable_on": 20,
"smiths_wot_min_cert_for_membership": 2,
......
......@@ -41,9 +41,13 @@ type AccountInfo = gdev_runtime::runtime_types::frame_system::AccountInfo<
Index,
gdev_runtime::runtime_types::pallet_duniter_account::types::AccountData<Balance>,
>;
type IdtyData = gdev_runtime::runtime_types::common_runtime::entities::IdtyData;
type IdtyIndex = u32;
type IdtyValue =
gdev_runtime::runtime_types::pallet_identity::types::IdtyValue<BlockNumber, AccountId32>;
type IdtyValue = gdev_runtime::runtime_types::pallet_identity::types::IdtyValue<
BlockNumber,
AccountId32,
IdtyData,
>;
use gdev_runtime::runtime_types::pallet_identity::types::IdtyStatus;
struct Storage {
......
......@@ -100,9 +100,7 @@ pub fn development_chain_spec() -> Result<ChainSpec, String> {
genesis_certs_expire_on: 100_000,
genesis_smith_certs_expire_on: 100_000,
genesis_memberships_expire_on: 100_000,
genesis_memberships_renewable_on: 50,
genesis_smith_memberships_expire_on: 100_000,
genesis_smith_memberships_renewable_on: 50,
}),
)
} else {
......@@ -189,9 +187,7 @@ pub fn gen_live_conf() -> Result<ChainSpec, String> {
genesis_certs_expire_on: 100_000,
genesis_smith_certs_expire_on: 100_000,
genesis_memberships_expire_on: 100_000,
genesis_memberships_renewable_on: 50,
genesis_smith_memberships_expire_on: 100_000,
genesis_smith_memberships_renewable_on: 50,
}),
)
}
......@@ -262,10 +258,7 @@ fn gen_genesis_for_local_chain(
let cert_validity_period = get_env_u32("DUNITER_CERT_VALIDITY_PERIOD", 1_000);
let first_ud = 1_000;
let membership_period = get_env_u32("DUNITER_MEMBERSHIP_PERIOD", 1_000);
let membership_renewable_period = get_env_u32("DUNITER_MEMBERSHIP_RENEWABLE_PERIOD", 50);
let smith_cert_validity_period = get_env_u32("DUNITER_SMITH_CERT_VALIDITY_PERIOD", 1_000);
let smith_membership_renewable_period =
get_env_u32("DUNITER_SMITH_MEMBERSHIP_RENEWABLE_PERIOD", 20);
let smith_membership_period = get_env_u32("DUNITER_SMITH_MEMBERSHIP_PERIOD", 1_000);
let ud_creation_period = get_env_u32("DUNITER_UD_CREATION_PERIOD", 10);
let ud_reeval_period = get_env_u32("DUNITER_UD_REEEVAL_PERIOD", 200);
......@@ -309,22 +302,18 @@ fn gen_genesis_for_local_chain(
cert_period: 15,
cert_max_by_issuer: 10,
cert_min_received_cert_to_issue_cert: 2,
cert_renewable_period: 50,
cert_validity_period,
idty_confirm_period: 40,
idty_creation_period: 50,
membership_period,
membership_renewable_period,
pending_membership_period: 500,
ud_creation_period,
ud_reeval_period,
smith_cert_period: 15,
smith_cert_max_by_issuer: 8,
smith_cert_min_received_cert_to_issue_cert: 2,
smith_cert_renewable_period: 50,
smith_cert_validity_period: 1_000,
smith_membership_period,
smith_membership_renewable_period: 50,
smith_pending_membership_period: 500,
smiths_wot_first_cert_issuable_on: 20,
smiths_wot_min_cert_for_membership: 2,
......@@ -386,15 +375,7 @@ fn gen_genesis_for_local_chain(
},
membership: MembershipConfig {
memberships: (1..=initial_identities.len())
.map(|i| {
(
i as u32,
MembershipData {
expire_on: 0,
renewable_on: membership_renewable_period,
},
)
})
.map(|i| (i as u32, MembershipData { expire_on: 0 }))
.collect(),
},
cert: CertConfig {
......@@ -403,15 +384,7 @@ fn gen_genesis_for_local_chain(
},
smiths_membership: SmithsMembershipConfig {
memberships: (1..=initial_smiths_len)
.map(|i| {
(
i as u32,
MembershipData {
expire_on: 0,
renewable_on: smith_membership_renewable_period,
},
)
})
.map(|i| (i as u32, MembershipData { expire_on: 0 }))
.collect(),
},
smiths_cert: SmithsCertConfig {
......
......@@ -45,9 +45,7 @@ pub struct ParamsAppliedAtGenesis {
pub genesis_certs_expire_on: u32,
pub genesis_smith_certs_expire_on: u32,
pub genesis_memberships_expire_on: u32,
pub genesis_memberships_renewable_on: u32,
pub genesis_smith_memberships_expire_on: u32,
pub genesis_smith_memberships_renewable_on: u32,
}
#[derive(Deserialize, Serialize)]
......@@ -96,9 +94,7 @@ where
genesis_certs_expire_on,
genesis_smith_certs_expire_on,
genesis_memberships_expire_on,
genesis_memberships_renewable_on,
genesis_smith_memberships_expire_on,
genesis_smith_memberships_renewable_on,
} = params_applied_at_genesis.unwrap_or_default();
let genesis_timestamp: u64 =
......@@ -203,7 +199,6 @@ where
.map_or(genesis_memberships_expire_on, |expire_on| {
to_bn(genesis_timestamp, expire_on)
}),
renewable_on: genesis_memberships_renewable_on,
},
);
......@@ -303,7 +298,6 @@ where
*idty_index,
MembershipData {
expire_on: genesis_smith_memberships_expire_on,
renewable_on: genesis_smith_memberships_renewable_on,
},
);
}
......
......@@ -223,7 +223,6 @@ fn gen_genesis_for_local_chain(
i as u32,
MembershipData {
expire_on: gtest_runtime::MembershipPeriod::get(),
renewable_on: gtest_runtime::RenewablePeriod::get(),
},
)
})
......@@ -243,7 +242,6 @@ fn gen_genesis_for_local_chain(
i as u32,
MembershipData {
expire_on: gtest_runtime::SmithMembershipPeriod::get(),
renewable_on: gtest_runtime::SmithRenewablePeriod::get(),
},
)
})
......
......@@ -83,9 +83,6 @@ pub mod pallet {
/// Handler for Removed event
type OnRemovedCert: OnRemovedCert<Self::IdtyIndex>;
#[pallet::constant]
/// Duration after which a certification is renewable
type CertRenewablePeriod: Get<Self::BlockNumber>;
#[pallet::constant]
/// Duration of validity of a certification
type ValidityPeriod: Get<Self::BlockNumber>;
}
......@@ -169,15 +166,11 @@ pub mod pallet {
}
}
}
let renewable_on = removable_on.saturating_sub(
T::ValidityPeriod::get().saturating_sub(T::CertRenewablePeriod::get()),
);
<StorageCertsByIssuer<T, I>>::insert(
issuer,
receiver,
CertValue {
renewable_on,
removable_on: *removable_on,
},
);
......@@ -274,8 +267,6 @@ pub mod pallet {
NotEnoughCertReceived,
/// This identity has already issued a certification too recently
NotRespectCertPeriod,
/// This certification has already been issued or renewed recently
NotRespectRenewablePeriod,
/// Receiver not found
ReceiverNotFound,
}
......@@ -302,7 +293,7 @@ pub mod pallet {
let block_number = frame_system::pallet::Pallet::<T>::block_number();
let create = if verify_rules {
if verify_rules {
let issuer_idty_cert_meta = <StorageIdtyCertMeta<T, I>>::get(issuer);
if issuer_idty_cert_meta.received_count == 0 {
return Err(Error::<T, I>::IdtyMustReceiveCertsBeforeCanIssue.into());
......@@ -317,22 +308,9 @@ pub mod pallet {
} else if issuer_idty_cert_meta.issued_count >= T::MaxByIssuer::get() {
return Err(Error::<T, I>::IssuedTooManyCert.into());
}
// Verify rule CertRenewablePeriod
if let Ok(CertValue { renewable_on, .. }) =
<StorageCertsByIssuer<T, I>>::try_get(issuer, receiver)
{
if renewable_on > block_number {
return Err(Error::<T, I>::NotRespectRenewablePeriod.into());
}
false
} else {
true
}
} else {
!StorageCertsByIssuer::<T, I>::contains_key(issuer, receiver)
};
let create = !StorageCertsByIssuer::<T, I>::contains_key(issuer, receiver);
Self::do_add_cert(block_number, create, issuer, receiver)
}
/// Add a new certification or renew an existing one
......@@ -370,18 +348,7 @@ pub mod pallet {
return Err(Error::<T, I>::IssuedTooManyCert.into());
}
// Verify rule CertRenewablePeriod
let create = if let Ok(CertValue { renewable_on, .. }) =
<StorageCertsByIssuer<T, I>>::try_get(issuer, receiver)
{
if renewable_on > block_number {
return Err(Error::<T, I>::NotRespectRenewablePeriod.into());
}
false
} else {
true
};
let create = !StorageCertsByIssuer::<T, I>::contains_key(issuer, receiver);
Self::do_add_cert(block_number, create, issuer, receiver)
}
......@@ -439,7 +406,6 @@ pub mod pallet {
// Write StorageCertsRemovableOn and StorageCertsByIssuer
let cert_value = CertValue {
renewable_on: block_number + T::CertRenewablePeriod::get(),
removable_on: block_number + T::ValidityPeriod::get(),
};
<StorageCertsRemovableOn<T, I>>::append(cert_value.removable_on, (issuer, receiver));
......
......@@ -94,7 +94,6 @@ impl frame_support::traits::EnsureOrigin<(Origin, IdtyIndex, IdtyIndex)> for Ens
parameter_types! {
pub const MaxByIssuer: u32 = 3;
pub const MinReceivedCertToBeAbleToIssueCert: u32 = 2;
pub const RenewablePeriod: BlockNumber = 4;
pub const CertPeriod: u64 = 2;
pub const ValidityPeriod: u64 = 10;
}
......@@ -109,7 +108,6 @@ impl pallet_certification::Config for Test {
type MinReceivedCertToBeAbleToIssueCert = MinReceivedCertToBeAbleToIssueCert;
type OnNewcert = ();
type OnRemovedCert = ();
type CertRenewablePeriod = RenewablePeriod;
type ValidityPeriod = ValidityPeriod;
}
......
......@@ -115,11 +115,6 @@ fn test_genesis_build() {
DefaultCertification::certs_removable_on(3),
Some(vec![(2, 1)]),
);
// Cert 2->0 cannot be renewed before #5
assert_eq!(
DefaultCertification::add_cert(Origin::signed(2), 0),
Err(Error::<Test, _>::NotRespectRenewablePeriod.into())
);
run_to_block(3);
// Cert 2->1 must have expired
......@@ -162,31 +157,3 @@ fn test_cert_period() {
assert_ok!(DefaultCertification::add_cert(Origin::signed(0), 3));
});
}
#[test]
fn test_renewable_period() {
new_test_ext(DefaultCertificationConfig {
apply_cert_period_at_genesis: true,
certs_by_issuer: btreemap![
0 => btreemap![1 => 10],
2 => btreemap![0 => 10],
3 => btreemap![0 => 10],
],
})
.execute_with(|| {
run_to_block(CertPeriod::get());
assert_eq!(
DefaultCertification::add_cert(Origin::signed(0), 1),
Err(Error::<Test, _>::NotRespectRenewablePeriod.into())
);
run_to_block(RenewablePeriod::get());
assert_ok!(DefaultCertification::add_cert(Origin::signed(0), 1));
run_to_block(RenewablePeriod::get() + CertPeriod::get());
assert_eq!(
DefaultCertification::add_cert(Origin::signed(0), 1),
Err(Error::<Test, _>::NotRespectRenewablePeriod.into())
);
run_to_block((2 * RenewablePeriod::get()) + 1);
assert_ok!(DefaultCertification::add_cert(Origin::signed(0), 1));
});
}
......@@ -22,7 +22,6 @@ use scale_info::TypeInfo;
#[derive(Encode, Decode, Clone, Copy, PartialEq, Eq, RuntimeDebug, TypeInfo)]
pub struct CertValue<BlockNumber> {
pub renewable_on: BlockNumber,
pub removable_on: BlockNumber,
}
......
......@@ -40,22 +40,18 @@ pub mod types {
pub cert_period: BlockNumber,
pub cert_max_by_issuer: CertCount,
pub cert_min_received_cert_to_issue_cert: CertCount,
pub cert_renewable_period: BlockNumber,
pub cert_validity_period: BlockNumber,
pub idty_confirm_period: BlockNumber,
pub idty_creation_period: BlockNumber,
pub membership_period: BlockNumber,
pub membership_renewable_period: BlockNumber,
pub pending_membership_period: BlockNumber,
pub ud_creation_period: BlockNumber,
pub ud_reeval_period: BlockNumber,
pub smith_cert_period: BlockNumber,
pub smith_cert_max_by_issuer: CertCount,
pub smith_cert_min_received_cert_to_issue_cert: CertCount,
pub smith_cert_renewable_period: BlockNumber,
pub smith_cert_validity_period: BlockNumber,
pub smith_membership_period: BlockNumber,
pub smith_membership_renewable_period: BlockNumber,
pub smith_pending_membership_period: BlockNumber,
pub smiths_wot_first_cert_issuable_on: BlockNumber,
pub smiths_wot_min_cert_for_membership: CertCount,
......
......@@ -132,7 +132,6 @@ impl pallet_identity::Config for Test {
parameter_types! {
pub const MembershipPeriod: u64 = 8;
pub const PendingMembershipPeriod: u64 = 3;
pub const RenewablePeriod: u64 = 2;
pub const RevocationPeriod: u64 = 4;
}
......@@ -146,7 +145,6 @@ impl pallet_membership::Config<Instance1> for Test {
type MetaData = crate::MembershipMetaData<u64>;
type OnEvent = DuniterWot;
type PendingMembershipPeriod = PendingMembershipPeriod;
type RenewablePeriod = RenewablePeriod;
type RevocationPeriod = RevocationPeriod;
}
......@@ -154,7 +152,6 @@ impl pallet_membership::Config<Instance1> for Test {
parameter_types! {
pub const MaxByIssuer: u8 = 8;
pub const MinReceivedCertToBeAbleToIssueCert: u32 = 2;
pub const CertRenewablePeriod: u64 = 4;
pub const CertPeriod: u64 = 2;
pub const ValidityPeriod: u64 = 20;
}
......@@ -169,7 +166,6 @@ impl pallet_certification::Config<Instance1> for Test {
type MinReceivedCertToBeAbleToIssueCert = MinReceivedCertToBeAbleToIssueCert;
type OnNewcert = DuniterWot;
type OnRemovedCert = DuniterWot;
type CertRenewablePeriod = CertRenewablePeriod;
type ValidityPeriod = ValidityPeriod;
}
......@@ -191,7 +187,6 @@ impl pallet_duniter_wot::Config<Instance2> for Test {
parameter_types! {
pub const SmithsMembershipPeriod: u64 = 20;
pub const SmithsPendingMembershipPeriod: u64 = 3;
pub const SmithsRenewablePeriod: u64 = 2;
pub const SmithsRevocationPeriod: u64 = 4;
}
......@@ -205,7 +200,6 @@ impl pallet_membership::Config<Instance2> for Test {
type MetaData = crate::MembershipMetaData<u64>;
type OnEvent = SmithsSubWot;
type PendingMembershipPeriod = SmithsPendingMembershipPeriod;
type RenewablePeriod = SmithsRenewablePeriod;
type RevocationPeriod = SmithsRevocationPeriod;
}
......@@ -213,7 +207,6 @@ impl pallet_membership::Config<Instance2> for Test {
parameter_types! {
pub const SmithsMaxByIssuer: u8 = 8;
pub const SmithsMinReceivedCertToBeAbleToIssueCert: u32 = 2;
pub const SmithsCertRenewablePeriod: u64 = 4;
pub const SmithsCertPeriod: u64 = 2;
pub const SmithsValidityPeriod: u64 = 10;
}
......@@ -228,7 +221,6 @@ impl pallet_certification::Config<Instance2> for Test {
type MinReceivedCertToBeAbleToIssueCert = SmithsMinReceivedCertToBeAbleToIssueCert;
type OnNewcert = SmithsSubWot;
type OnRemovedCert = SmithsSubWot;
type CertRenewablePeriod = SmithsCertRenewablePeriod;
type ValidityPeriod = SmithsValidityPeriod;
}
......@@ -269,7 +261,6 @@ pub fn new_test_ext(
i as u32,
sp_membership::MembershipData {
expire_on: MembershipPeriod::get(),
renewable_on: RenewablePeriod::get(),
},
)
})
......@@ -292,7 +283,6 @@ pub fn new_test_ext(
i as u32,
sp_membership::MembershipData {
expire_on: SmithsMembershipPeriod::get(),
renewable_on: SmithsRenewablePeriod::get(),
},
)
})
......
......@@ -80,7 +80,6 @@ parameter_types! {
pub const ConfirmPeriod: u64 = 2;
pub const IdtyCreationPeriod: u64 = 3;
pub const MaxInactivityPeriod: u64 = 5;
pub const RenewablePeriod: u64 = 3;
pub const ValidationPeriod: u64 = 2;
}
......
......@@ -78,9 +78,6 @@ pub mod pallet {
/// Maximum period (in number of blocks), where an identity can remain pending subscription.
type PendingMembershipPeriod: Get<Self::BlockNumber>;
#[pallet::constant]
/// Duration after which a membership is renewable
type RenewablePeriod: Get<Self::BlockNumber>;
#[pallet::constant]
/// Minimum duration (in number of blocks between a revocation and a new entry request
type RevocationPeriod: Get<Self::BlockNumber>;
}
......@@ -184,8 +181,6 @@ pub mod pallet {
MembershipAlreadyAcquired,
/// Membership already requested
MembershipAlreadyRequested,
/// Membership not yet renewable
MembershipNotYetRenewable,
/// Membership not found
MembershipNotFound,
/// Origin not allowed to use this identity
......@@ -280,14 +275,10 @@ pub mod pallet {
return Err(Error::<T, I>::IdtyNotAllowedToRenewMembership.into());
}
if let Some(membership_data) = Self::get_membership(&idty_id) {
let block_number = frame_system::pallet::Pallet::<T>::block_number();
if membership_data.renewable_on > block_number {
return Err(Error::<T, I>::MembershipNotYetRenewable.into());
}
} else {
return Err(Error::<T, I>::MembershipNotFound.into());
}
ensure!(
Self::get_membership(&idty_id).is_some(),
Error::<T, I>::MembershipNotFound
);
let _ = Self::do_renew_membership(idty_id);
......@@ -321,15 +312,8 @@ pub mod pallet {
fn do_renew_membership_inner(idty_id: T::IdtyId) -> Weight {
let block_number = frame_system::pallet::Pallet::<T>::block_number();
let expire_on = block_number + T::MembershipPeriod::get();
let renewable_on = block_number + T::RenewablePeriod::get();
Self::insert_membership(
idty_id,
MembershipData {
expire_on,
renewable_on,
},
);
Self::insert_membership(idty_id, MembershipData { expire_on });
MembershipsExpireOn::<T, I>::append(expire_on, idty_id);
0
}
......
......@@ -80,7 +80,6 @@ impl system::Config for Test {
parameter_types! {
pub const MembershipPeriod: BlockNumber = 5;
pub const PendingMembershipPeriod: BlockNumber = 3;
pub const RenewablePeriod: BlockNumber = 2;
pub const RevocationPeriod: BlockNumber = 4;
}
......@@ -94,7 +93,6 @@ impl pallet_membership::Config for Test {
type MetaData = ();
type OnEvent = ();
type PendingMembershipPeriod = PendingMembershipPeriod;
type RenewablePeriod = RenewablePeriod;
type RevocationPeriod = RevocationPeriod;
}
......
......@@ -28,7 +28,6 @@ fn default_gen_conf() -> DefaultMembershipConfig {
memberships: btreemap![
0 => MembershipData {
expire_on: 3,
renewable_on: 2
}
],
}
......@@ -41,27 +40,12 @@ fn test_genesis_build() {
// Verify state
assert_eq!(
DefaultMembership::membership(0),
Some(MembershipData {
expire_on: 3,
renewable_on: 2
})
Some(MembershipData { expire_on: 3 })
);
assert_eq!(DefaultMembership::members_count(), 1);
});
}
#[test]
fn test_membership_not_yet_renewable() {
new_test_ext(default_gen_conf()).execute_with(|| {
run_to_block(1);
// Merbership 0 cannot be renewed before #2
assert_eq!(
DefaultMembership::renew_membership(Origin::signed(0), None),
Err(Error::<Test, _>::MembershipNotYetRenewable.into())
);
});
}
#[test]
fn test_membership_already_acquired() {
new_test_ext(default_gen_conf()).execute_with(|| {
......@@ -190,23 +174,16 @@ fn test_membership_workflow() {
RuntimeEvent::DefaultMembership(Event::MembershipAcquired(0))
);
// Then, idty 0 claim renewal, should fail
run_to_block(3);
assert_eq!(
DefaultMembership::renew_membership(Origin::signed(0), None),
Err(Error::<Test, _>::MembershipNotYetRenewable.into())
);
// Then, idty 0 claim renewal after renewable period, should success
run_to_block(2 + RenewablePeriod::get());
// Then, idty 0 claim renewal, should success
run_to_block(2);
assert_ok!(DefaultMembership::renew_membership(Origin::signed(0), None),);
// Then, idty 0 shoul still member until membership period ended
run_to_block(2 + RenewablePeriod::get() + MembershipPeriod::get() - 1);
run_to_block(2 + MembershipPeriod::get() - 1);
assert!(DefaultMembership::is_member(&0));
// Then, idty 0 shoul expire after membership period
run_to_block(2 + RenewablePeriod::get() + MembershipPeriod::get());
run_to_block(2 + MembershipPeriod::get());
assert!(!DefaultMembership::is_member(&0),);
assert_eq!(
System::events()[0].event,
......
......@@ -46,5 +46,4 @@ pub enum Event<IdtyId, MetaData = ()> {
#[derive(Encode, Decode, Default, Clone, Copy, PartialEq, Eq, RuntimeDebug, TypeInfo)]
pub struct MembershipData<BlockNumber: Decode + Encode + TypeInfo> {
pub expire_on: BlockNumber,
pub renewable_on: BlockNumber,
}
......@@ -137,22 +137,18 @@
"cert_period": 14400,
"cert_max_by_issuer": 100,
"cert_min_received_cert_to_issue_cert": 5,
"cert_renewable_period": 172800,
"cert_validity_period": 2102400,
"idty_confirm_period": 14400,
"idty_creation_period": 14400,
"membership_period": 1051200,
"membership_renewable_period": 172800,
"pending_membership_period": 172800,
"ud_creation_period": 14400,
"ud_reeval_period": 100800,
"smith_cert_period": 14400,
"smith_cert_max_by_issuer": 12,
"smith_cert_min_received_cert_to_issue_cert": 3,
"smith_cert_renewable_period": 172800,
"smith_cert_validity_period": 2102400,
"smith_membership_period": 1051200,
"smith_membership_renewable_period": 172800,
"smith_pending_membership_period": 172800,
"smiths_wot_first_cert_issuable_on": 14400,
"smiths_wot_min_cert_for_membership": 3,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment