diff --git a/cli/src/vote.rs b/cli/src/vote.rs index 1dd1dbb142..b29cfd7ac3 100644 --- a/cli/src/vote.rs +++ b/cli/src/vote.rs @@ -683,7 +683,15 @@ pub fn process_vote_authorize( ) })? .1; - check_current_authority(current_authorized_voter, &authorized.pubkey())? + check_current_authority(current_authorized_voter, &authorized.pubkey())?; + if let Some(signer) = new_authorized_signer { + if signer.is_interactive() { + return Err(CliError::BadParameter(format!( + "invalid new authorized vote signer {:?}. Interactive vote signers not supported", + new_authorized_pubkey + )).into()); + } + } } VoteAuthorize::Withdrawer => { check_current_authority(&vote_state.authorized_withdrawer, &authorized.pubkey())? diff --git a/docs/src/running-validator/vote-accounts.md b/docs/src/running-validator/vote-accounts.md index 7af56cc71d..35f0f48ed4 100644 --- a/docs/src/running-validator/vote-accounts.md +++ b/docs/src/running-validator/vote-accounts.md @@ -19,9 +19,9 @@ of the account. - To change the [validator identity](#validator-identity), use [vote-update-validator](../cli/usage.md#solana-vote-update-validator). - To change the [vote authority](#vote-authority), use - [vote-authorize-voter](../cli/usage.md#solana-vote-authorize-voter). + [vote-authorize-voter-checked](../cli/usage.md#solana-vote-authorize-voter-checked). - To change the [authorized withdrawer](#authorized-withdrawer), use - [vote-authorize-withdrawer](../cli/usage.md#solana-vote-authorize-withdrawer). + [vote-authorize-withdrawer-checked](../cli/usage.md#solana-vote-authorize-withdrawer-checked). - To change the [commission](#commission), use [vote-update-commission](../cli/usage.md#solana-vote-update-commission). @@ -84,10 +84,10 @@ different accounts. The vote authority can be set when the vote account is created. If it is not provided, the default behavior is to assign it the same as the validator identity. The vote authority can be changed later with the -[vote-authorize-voter](../cli/usage.md#solana-vote-authorize-voter) command. +[vote-authorize-voter-checked](../cli/usage.md#solana-vote-authorize-voter-checked) command. The vote authority can be changed at most once per epoch. If the authority is -changed with [vote-authorize-voter](../cli/usage.md#solana-vote-authorize-voter), +changed with [vote-authorize-voter-checked](../cli/usage.md#solana-vote-authorize-voter-checked), this will not take effect until the beginning of the next epoch. To support a smooth transition of the vote signing, `solana-validator` allows the `--authorized-voter` argument to be specified @@ -117,7 +117,7 @@ not be set to a keypair that is the same as either the validator identity keypair or the vote authority keypair. The authorized withdrawer can be changed later with the -[vote-authorize-withdrawer](../cli/usage.md#solana-vote-authorize-withdrawer) +[vote-authorize-withdrawer-checked](../cli/usage.md#solana-vote-authorize-withdrawer-checked) command. ### Commission