Fix the --key generation (#475)

This commit is contained in:
Gav Wood
2018-08-01 12:00:39 +01:00
committed by GitHub
parent 6c72983e75
commit f46c770225
2 changed files with 20 additions and 9 deletions
+13 -2
View File
@@ -156,8 +156,19 @@ impl Store {
// TODO: Remove this
pub fn generate_from_seed(&mut self, seed: &str) -> Result<Pair> {
let mut s: [u8; 32] = [' ' as u8; 32];
let len = ::std::cmp::min(32, seed.len());
&mut s[..len].copy_from_slice(&seed.as_bytes()[..len]);
let was_hex = if seed.len() == 66 && &seed[0..2] == "0x" {
if let Ok(d) = hex::decode(&seed[2..]) {
s.copy_from_slice(&d);
true
} else { false }
} else { false };
if !was_hex {
let len = ::std::cmp::min(32, seed.len());
&mut s[..len].copy_from_slice(&seed.as_bytes()[..len]);
}
let pair = Pair::from_seed(&s);
self.additional.insert(pair.public(), s);
Ok(pair)
+7 -7
View File
@@ -208,7 +208,7 @@ impl<Components> Service<Components>
chain,
author,
rpc_config.clone(),
)
)
};
(
maybe_start_server(config.rpc_http, |address| rpc::start_http(address, handler()))?,
@@ -227,12 +227,12 @@ impl<Components> Service<Components>
url: url,
on_connect: Box::new(move || {
telemetry!("system.connected";
"name" => name.clone(),
"implementation" => impl_name.clone(),
"version" => version.clone(),
"config" => "",
"chain" => chain_name.clone(),
);
"name" => name.clone(),
"implementation" => impl_name.clone(),
"version" => version.clone(),
"config" => "",
"chain" => chain_name.clone(),
);
}),
}))
},