@ -1639,13 +1639,16 @@ fn is_pubkey(string: String) -> Result<(), String> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return an error if a pubkey cannot be parsed.
|
||||||
|
fn is_keypair(string: String) -> Result<(), String> {
|
||||||
|
read_keypair(&string)
|
||||||
|
.map(|_| ())
|
||||||
|
.map_err(|err| format!("{:?}", err))
|
||||||
|
}
|
||||||
|
|
||||||
// Return an error if string cannot be parsed as pubkey string or keypair file location
|
// Return an error if string cannot be parsed as pubkey string or keypair file location
|
||||||
fn is_pubkey_or_keypair(string: String) -> Result<(), String> {
|
fn is_pubkey_or_keypair(string: String) -> Result<(), String> {
|
||||||
is_pubkey(string.clone()).or_else(|_| {
|
is_pubkey(string.clone()).or_else(|_| is_keypair(string))
|
||||||
read_keypair(&string)
|
|
||||||
.map(|_| ())
|
|
||||||
.map_err(|err| format!("{:?}", err))
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, 'v> {
|
pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, 'v> {
|
||||||
@ -1722,6 +1725,7 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
|||||||
.value_name("CURRENT VOTER KEYPAIR FILE")
|
.value_name("CURRENT VOTER KEYPAIR FILE")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
|
.validator(is_keypair)
|
||||||
.help("Keypair file for the currently authorized vote signer"),
|
.help("Keypair file for the currently authorized vote signer"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
@ -1821,6 +1825,7 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
|||||||
.value_name("STAKE ACCOUNT KEYPAIR FILE")
|
.value_name("STAKE ACCOUNT KEYPAIR FILE")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
|
.validator(is_keypair)
|
||||||
.help("Keypair file for the new stake account"),
|
.help("Keypair file for the new stake account"),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
@ -1871,6 +1876,7 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, '
|
|||||||
.value_name("STAKE ACCOUNT KEYPAIR FILE")
|
.value_name("STAKE ACCOUNT KEYPAIR FILE")
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(true)
|
.required(true)
|
||||||
|
.validator(is_keypair)
|
||||||
.help("Keypair file for the stake account, for signing the withdraw transaction."),
|
.help("Keypair file for the stake account, for signing the withdraw transaction."),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
|
Reference in New Issue
Block a user