2021-12-03 18:05:38 +00:00
|
|
|
//! Moonbeam utilities
|
|
|
|
|
|
|
|
use std::collections::BTreeMap;
|
|
|
|
|
|
|
|
use k256::SecretKey;
|
|
|
|
|
|
|
|
/// Returns the private developer keys https://docs.moonbeam.network/snippets/code/setting-up-node/dev-accounts/
|
|
|
|
pub fn dev_keys() -> Vec<SecretKey> {
|
|
|
|
MoonbeamDev::default().into_keys().collect()
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Holds private developer keys with their names
|
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub struct MoonbeamDev {
|
|
|
|
keys: BTreeMap<&'static str, SecretKey>,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl MoonbeamDev {
|
|
|
|
pub fn keys(&self) -> impl Iterator<Item = &SecretKey> {
|
|
|
|
self.keys.values()
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn into_keys(self) -> impl Iterator<Item = SecretKey> {
|
|
|
|
self.keys.into_values()
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Get a key by then, like `Alith`
|
|
|
|
pub fn get(&self, name: impl AsRef<str>) -> Option<&SecretKey> {
|
|
|
|
self.keys.get(name.as_ref())
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn alith(&self) -> &SecretKey {
|
|
|
|
self.get("Alith").unwrap()
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn baltathar(&self) -> &SecretKey {
|
|
|
|
self.get("Baltathar").unwrap()
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn charleth(&self) -> &SecretKey {
|
|
|
|
self.get("Charleth").unwrap()
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn ethan(&self) -> &SecretKey {
|
|
|
|
self.get("Ethan").unwrap()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-20 22:41:57 +00:00
|
|
|
fn to_secret_key(s: &str) -> SecretKey {
|
|
|
|
SecretKey::from_be_bytes(&hex::decode(s).unwrap()).unwrap()
|
|
|
|
}
|
|
|
|
|
2021-12-03 18:05:38 +00:00
|
|
|
impl Default for MoonbeamDev {
|
|
|
|
fn default() -> Self {
|
|
|
|
Self {
|
|
|
|
keys: BTreeMap::from([
|
|
|
|
(
|
|
|
|
"Alith",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Baltathar",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"8075991ce870b93a8870eca0c0f91913d12f47948ca0fd25b49c6fa7cdbeee8b",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Charleth",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"0b6e18cafb6ed99687ec547bd28139cafdd2bffe70e6b688025de6b445aa5c5b",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Dorothy",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"39539ab1876910bbf3a223d84a29e28f1cb4e2e456503e7e91ed39b2e7223d68",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Faith",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"b9d2ea9a615f3165812e8d44de0d24da9bbd164b65c4f0573e1ce2c8dbd9c8df",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Goliath",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"96b8a38e12e1a31dee1eab2fffdf9d9990045f5b37e44d8cc27766ef294acf18",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Heath",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"0d6dcaaef49272a5411896be8ad16c01c35d6f8c18873387b71fbc734759b0ab",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Ida",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"4c42532034540267bf568198ccec4cb822a025da542861fcb146a5fab6433ff8",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"Judith",
|
2021-12-20 22:41:57 +00:00
|
|
|
to_secret_key(
|
|
|
|
"94c49300a58d576011096bcb006aa06f5a91b34b4383891e8029c21dc39fbb8b",
|
|
|
|
),
|
2021-12-03 18:05:38 +00:00
|
|
|
),
|
|
|
|
]),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|