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

Commit

Permalink
Require crypto scheme for insert-key (#9909)
Browse files Browse the repository at this point in the history
* Require crypto scheme for `insert-key`

We should not "guess" the scheme as this can depend on the
implementation of the runtime etc.

* FMT
  • Loading branch information
bkchr authored Oct 4, 2021
1 parent ddc2c6e commit 1d356ce
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions client/cli/src/commands/insert_key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
//! Implementation of the `insert` subcommand

use crate::{
utils, with_crypto_scheme, CryptoSchemeFlag, Error, KeystoreParams, SharedParams, SubstrateCli,
utils, with_crypto_scheme, CryptoScheme, Error, KeystoreParams, SharedParams, SubstrateCli,
};
use sc_keystore::LocalKeystore;
use sc_service::config::{BasePath, KeystoreConfig};
Expand Down Expand Up @@ -49,9 +49,14 @@ pub struct InsertKeyCmd {
#[structopt(flatten)]
pub keystore_params: KeystoreParams,

#[allow(missing_docs)]
#[structopt(flatten)]
pub crypto_scheme: CryptoSchemeFlag,
/// The cryptography scheme that should be used to generate the key out of the given URI.
#[structopt(
long,
value_name = "SCHEME",
possible_values = &CryptoScheme::variants(),
case_insensitive = true,
)]
pub scheme: CryptoScheme,
}

impl InsertKeyCmd {
Expand All @@ -68,10 +73,7 @@ impl InsertKeyCmd {

let (keystore, public) = match self.keystore_params.keystore_config(&config_dir)? {
(_, KeystoreConfig::Path { path, password }) => {
let public = with_crypto_scheme!(
self.crypto_scheme.scheme,
to_vec(&suri, password.clone())
)?;
let public = with_crypto_scheme!(self.scheme, to_vec(&suri, password.clone()))?;
let keystore: SyncCryptoStorePtr = Arc::new(LocalKeystore::open(path, password)?);
(keystore, public)
},
Expand Down Expand Up @@ -161,6 +163,7 @@ mod tests {
"test",
"--suri",
&uri,
"--scheme=sr25519",
]);
assert!(inspect.run(&Cli).is_ok());

Expand Down

0 comments on commit 1d356ce

Please sign in to comment.