Skip to content
Snippets Groups Projects

gtest genesis parsing

Merged Hugo Trentesaux requested to merge hugo-dev into master
2 files
+ 11
12
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -176,7 +176,7 @@ pub fn build_genesis(
// IDENTITIES //
for (name, identity) in &genesis_data.identities {
// identity name
if !validate_idty_name(&name) {
if !validate_idty_name(name) {
return Err(format!("Identity name '{}' is invalid", &name));
}
@@ -239,10 +239,8 @@ pub fn build_genesis(
value: common_runtime::IdtyValue {
data: IdtyData::new(),
next_creatable_identity_on: identity.next_cert_issuable_on,
old_owner_key: match identity.old_owner_key.clone() {
Some(address) => Some((address, 0)), // FIXME old owner key expiration
None => None,
},
// FIXME old owner key expiration
old_owner_key: identity.old_owner_key.clone().map(|address| (address, 0)),
// old_owner_key: None,
owner_key: identity.owner_key.clone(),
// TODO remove the removable_on field of identity
@@ -279,11 +277,11 @@ pub fn build_genesis(
}
// CERTIFICATIONS //
for (_, identity) in &genesis_data.identities {
for identity in genesis_data.identities.values() {
let mut certs = BTreeMap::new();
for (issuer, expire_on) in &identity.certs_received {
if let Some(issuer) = &genesis_data.identities.get(issuer) {
certs.insert(issuer.index, Some(expire_on.clone()));
certs.insert(issuer.index, Some(*expire_on));
counter_cert += 1;
} else {
log::error!("Identity '{}' does not exist", issuer);
@@ -355,7 +353,7 @@ pub fn build_genesis(
for (idty_index, receiver_certs) in &certs_by_receiver {
if receiver_certs.len() < MIN_CERT as usize {
let name = identity_index.get(idty_index).unwrap();
let identity = genesis_data.identities.get(name.clone()).unwrap();
let identity = genesis_data.identities.get(&(*name).clone()).unwrap();
if identity.membership_expire_on != 0 {
log::warn!(
"[{}] has received only {}/{} certifications",
@@ -431,14 +429,14 @@ pub fn build_genesis(
);
assert_eq!(
accounts.len(),
identity_index.len() + &genesis_data.wallets.len()
identity_index.len() + genesis_data.wallets.len()
);
// no inactive tech comm
for tech_com_member in &genesis_data.technical_committee {
assert!(!inactive_identities.values().any(|&v| v == tech_com_member));
}
// no inactive smith
for (smith, _) in &genesis_data.smiths {
for smith in genesis_data.smiths.keys() {
assert!(!inactive_identities.values().any(|&v| v == smith));
}
Loading