Skip to content
Snippets Groups Projects
Commit 2ed9ca97 authored by Cédric Moreau's avatar Cédric Moreau
Browse files

fix(#162): also make Genesis identity expire at the time expected by G1

parent 39209d04
No related branches found
No related tags found
1 merge request!233Resolve "Give IdtyStatus directly in genesis"
Pipeline #35681 passed
...@@ -338,6 +338,7 @@ fn genesis_data_to_gdev_genesis_conf( ...@@ -338,6 +338,7 @@ fn genesis_data_to_gdev_genesis_conf(
name, name,
owner_key, owner_key,
status, status,
expires_on,
revokes_on, revokes_on,
}| GenesisIdty { }| GenesisIdty {
index: idty_index, index: idty_index,
...@@ -351,7 +352,8 @@ fn genesis_data_to_gdev_genesis_conf( ...@@ -351,7 +352,8 @@ fn genesis_data_to_gdev_genesis_conf(
IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => { IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => {
panic!("Unconfirmed or Unvalidated identity in genesis") panic!("Unconfirmed or Unvalidated identity in genesis")
} }
IdtyStatus::Member | IdtyStatus::Revoked => 0, IdtyStatus::Member => expires_on.expect("must have expires_on set"),
IdtyStatus::Revoked => 0,
IdtyStatus::NotMember => { IdtyStatus::NotMember => {
revokes_on.expect("must have revokes_on set") revokes_on.expect("must have revokes_on set")
} }
......
...@@ -93,6 +93,7 @@ pub struct GenesisIdentity { ...@@ -93,6 +93,7 @@ pub struct GenesisIdentity {
pub name: String, pub name: String,
pub owner_key: AccountId, pub owner_key: AccountId,
pub status: IdtyStatus, pub status: IdtyStatus,
pub expires_on: Option<u32>,
pub revokes_on: Option<u32>, pub revokes_on: Option<u32>,
} }
...@@ -1473,6 +1474,11 @@ fn feed_identities( ...@@ -1473,6 +1474,11 @@ fn feed_identities(
owner_key: identity.owner_key.clone(), owner_key: identity.owner_key.clone(),
// but expired identities will just have their pseudonym reserved in the storage // but expired identities will just have their pseudonym reserved in the storage
status, status,
expires_on: if status == IdtyStatus::Member {
Some(identity.membership_expire_on)
} else {
None
},
revokes_on: if status == IdtyStatus::NotMember { revokes_on: if status == IdtyStatus::NotMember {
Some(identity.membership_revokes_on) Some(identity.membership_revokes_on)
} else { } else {
...@@ -1727,6 +1733,7 @@ where ...@@ -1727,6 +1733,7 @@ where
name: String::from_utf8(name.0.clone()).unwrap(), name: String::from_utf8(name.0.clone()).unwrap(),
owner_key: owner_key.clone(), owner_key: owner_key.clone(),
status: IdtyStatus::Member, status: IdtyStatus::Member,
expires_on: Some(common_parameters.membership_membership_period),
revokes_on: None, revokes_on: None,
}) })
.collect(); .collect();
......
...@@ -286,6 +286,7 @@ fn genesis_data_to_gtest_genesis_conf( ...@@ -286,6 +286,7 @@ fn genesis_data_to_gtest_genesis_conf(
name, name,
owner_key, owner_key,
status, status,
expires_on,
revokes_on, revokes_on,
}| GenesisIdty { }| GenesisIdty {
index: idty_index, index: idty_index,
...@@ -299,7 +300,8 @@ fn genesis_data_to_gtest_genesis_conf( ...@@ -299,7 +300,8 @@ fn genesis_data_to_gtest_genesis_conf(
IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => { IdtyStatus::Unconfirmed | IdtyStatus::Unvalidated => {
panic!("Unconfirmed or Unvalidated identity in genesis") panic!("Unconfirmed or Unvalidated identity in genesis")
} }
IdtyStatus::Member | IdtyStatus::Revoked => 0, IdtyStatus::Member => expires_on.expect("must have expires_on set"),
IdtyStatus::Revoked => 0,
IdtyStatus::NotMember => { IdtyStatus::NotMember => {
revokes_on.expect("must have revokes_on set") revokes_on.expect("must have revokes_on set")
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment