polkadot_subsystem_bench/
keyring.rs1use polkadot_primitives::ValidatorId;
18use sc_keystore::LocalKeystore;
19use sp_application_crypto::AppCrypto;
20use sp_core::sr25519::Public;
21use sp_keystore::Keystore;
22use std::sync::Arc;
23
24#[derive(Clone)]
26pub struct Keyring {
27 keystore: Arc<LocalKeystore>,
28}
29
30impl Default for Keyring {
31 fn default() -> Self {
32 Self { keystore: Arc::new(LocalKeystore::in_memory()) }
33 }
34}
35
36impl Keyring {
37 pub fn sr25519_new(&self, seed: &str) -> Public {
38 self.keystore
39 .sr25519_generate_new(ValidatorId::ID, Some(seed))
40 .expect("Insert key into keystore")
41 }
42
43 pub fn keystore(&self) -> Arc<dyn Keystore> {
44 self.keystore.clone()
45 }
46
47 pub fn local_keystore(&self) -> Arc<LocalKeystore> {
48 self.keystore.clone()
49 }
50
51 pub fn keystore_ref(&self) -> &LocalKeystore {
52 self.keystore.as_ref()
53 }
54}