Enable remote-wallet signing in solana-keygen (#8267)

* Add fallible methods to KeypairUtil

* Add RemoteKeypair struct and impl KeypairUtil

* Implement RemoteKeypair in keygen; also add parse_keypair_path for cleanup
This commit is contained in:
Tyera Eulberg
2020-02-13 14:08:35 -07:00
committed by GitHub
parent ab475e4849
commit 2374cf09e2
8 changed files with 150 additions and 85 deletions

View File

@ -12,6 +12,25 @@ use std::{
process::exit,
};
pub enum KeypairUrl {
Ask,
Filepath(String),
Usb(String),
Stdin,
}
pub fn parse_keypair_path(path: &str) -> KeypairUrl {
if path == "-" {
KeypairUrl::Stdin
} else if path == ASK_KEYWORD {
KeypairUrl::Ask
} else if path.starts_with("usb://") {
KeypairUrl::Usb(path.split_at(6).1.to_string())
} else {
KeypairUrl::Filepath(path.to_string())
}
}
// Keyword used to indicate that the user should be asked for a keypair seed phrase
pub const ASK_KEYWORD: &str = "ASK";