From 2a381814a3def2c8669c3bcdf2ad625ed9d527cb Mon Sep 17 00:00:00 2001 From: librelois <c@elo.tf> Date: Mon, 11 Apr 2022 20:55:54 +0200 Subject: [PATCH] feat(chain-spec): handle simple wallets --- node/src/chain_spec/gen_genesis_data.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/node/src/chain_spec/gen_genesis_data.rs b/node/src/chain_spec/gen_genesis_data.rs index 492402a34..f799b081f 100644 --- a/node/src/chain_spec/gen_genesis_data.rs +++ b/node/src/chain_spec/gen_genesis_data.rs @@ -57,6 +57,8 @@ struct GenesisConfig<Parameters> { #[serde(rename = "smiths")] smith_identities: BTreeMap<String, SmithData>, sudo_key: Option<AccountId>, + #[serde(default)] + wallets: BTreeMap<AccountId, u64>, } #[derive(Clone, Deserialize, Serialize)] @@ -133,6 +135,7 @@ where parameters, identities, smith_identities, + wallets, } = genesis_config; // MONEY ANDÂ WOT // @@ -145,6 +148,24 @@ where let mut memberships = BTreeMap::new(); //let mut total_dust = 0; let mut ud_accounts = BTreeMap::new(); + + // SIMPLE WALLETS // + + let mut wallet_index: u32 = 0; + for (pubkey, balance) in wallets { + wallet_index += 1; + accounts.insert( + pubkey.clone(), + GenesisAccountData { + random_id: H256(blake2_256(&(wallet_index, &pubkey).encode())), + balance, + is_identity: false, + }, + ); + } + + // IDENTITIES // + for (idty_name, identity) in &identities { if !validate_idty_name(idty_name) { return Err(format!("Identity name '{}' is invalid", &idty_name)); -- GitLab