Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit 55ba65c

Browse files
committed
feat: register identities in GenesisBuild
1 parent 3a6de3a commit 55ba65c

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

bin/node/testing/src/genesis.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
use crate::keyring::*;
2222
use kitchensink_runtime::{
2323
constants::currency::*, wasm_binary_unwrap, AccountId, AssetsConfig, BabeConfig,
24-
BalancesConfig, GluttonConfig, GrandpaConfig, IndicesConfig, RuntimeGenesisConfig,
25-
SessionConfig, SocietyConfig, StakerStatus, StakingConfig, SystemConfig,
24+
BalancesConfig, GluttonConfig, GrandpaConfig, IdentityConfig, IndicesConfig,
25+
RuntimeGenesisConfig, SessionConfig, SocietyConfig, StakerStatus, StakingConfig, SystemConfig,
2626
BABE_GENESIS_EPOCH_CONFIG,
2727
};
2828
use sp_keyring::{Ed25519Keyring, Sr25519Keyring};
@@ -52,7 +52,9 @@ pub fn config_endowed(code: Option<&[u8]>, extra_endowed: Vec<AccountId>) -> Run
5252
code: code.map(|x| x.to_vec()).unwrap_or_else(|| wasm_binary_unwrap().to_vec()),
5353
..Default::default()
5454
},
55-
identity: Default::default(),
55+
identity: IdentityConfig {
56+
identities: vec![(alice(), "Alice".to_string()), (bob(), "Bob".to_string())],
57+
},
5658
indices: IndicesConfig { indices: vec![] },
5759
balances: BalancesConfig { balances: endowed },
5860
session: SessionConfig {

frame/identity/src/lib.rs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ mod types;
7979
pub mod weights;
8080

8181
use frame_support::traits::{BalanceStatus, Currency, OnUnbalanced, ReservableCurrency};
82+
use scale_info::prelude::string::String;
8283
use sp_runtime::traits::{AppendZerosInput, Hash, Saturating, StaticLookup, Zero};
8384
use sp_std::prelude::*;
8485
pub use weights::WeightInfo;
@@ -203,7 +204,7 @@ pub mod pallet {
203204

204205
#[pallet::genesis_config]
205206
pub struct GenesisConfig<T: Config> {
206-
pub identities: Vec<T::AccountId>,
207+
pub identities: Vec<(T::AccountId, String)>,
207208
}
208209

209210
#[cfg(feature = "std")]
@@ -216,7 +217,26 @@ pub mod pallet {
216217
#[pallet::genesis_build]
217218
impl<T: Config> GenesisBuild<T> for GenesisConfig<T> {
218219
fn build(&self) {
219-
// todo: insert genesis accounts
220+
for (account, name) in &self.identities {
221+
<IdentityOf<T>>::insert(
222+
account,
223+
Registration {
224+
info: IdentityInfo {
225+
display: Data::Raw(BoundedVec::try_from(name.encode()).unwrap()),
226+
twitter: Data::None,
227+
riot: Data::None,
228+
email: Data::None,
229+
pgp_fingerprint: None,
230+
image: Data::None,
231+
legal: Data::None,
232+
web: Data::None,
233+
additional: BoundedVec::default(),
234+
},
235+
judgements: BoundedVec::default(),
236+
deposit: Zero::zero(),
237+
},
238+
);
239+
}
220240
}
221241
}
222242

0 commit comments

Comments
 (0)