CLI: Fix explicitly plumb withdraw_authority through vote-update-commission
This commit is contained in:
parent
e9cbdf711b
commit
3392ecc310
|
@ -395,6 +395,7 @@ pub enum CliCommand {
|
||||||
VoteUpdateCommission {
|
VoteUpdateCommission {
|
||||||
vote_account_pubkey: Pubkey,
|
vote_account_pubkey: Pubkey,
|
||||||
commission: u8,
|
commission: u8,
|
||||||
|
withdraw_authority: SignerIndex,
|
||||||
},
|
},
|
||||||
// Wallet Commands
|
// Wallet Commands
|
||||||
Address,
|
Address,
|
||||||
|
@ -2214,7 +2215,14 @@ pub fn process_command(config: &CliConfig) -> ProcessResult {
|
||||||
CliCommand::VoteUpdateCommission {
|
CliCommand::VoteUpdateCommission {
|
||||||
vote_account_pubkey,
|
vote_account_pubkey,
|
||||||
commission,
|
commission,
|
||||||
} => process_vote_update_commission(&rpc_client, config, &vote_account_pubkey, *commission),
|
withdraw_authority,
|
||||||
|
} => process_vote_update_commission(
|
||||||
|
&rpc_client,
|
||||||
|
config,
|
||||||
|
&vote_account_pubkey,
|
||||||
|
*commission,
|
||||||
|
*withdraw_authority,
|
||||||
|
),
|
||||||
|
|
||||||
// Wallet Commands
|
// Wallet Commands
|
||||||
|
|
||||||
|
|
|
@ -342,7 +342,8 @@ pub fn parse_vote_update_commission(
|
||||||
) -> Result<CliCommandInfo, CliError> {
|
) -> Result<CliCommandInfo, CliError> {
|
||||||
let vote_account_pubkey =
|
let vote_account_pubkey =
|
||||||
pubkey_of_signer(matches, "vote_account_pubkey", wallet_manager)?.unwrap();
|
pubkey_of_signer(matches, "vote_account_pubkey", wallet_manager)?.unwrap();
|
||||||
let (authorized_withdrawer, _) = signer_of(matches, "authorized_withdrawer", wallet_manager)?;
|
let (authorized_withdrawer, authorized_withdrawer_pubkey) =
|
||||||
|
signer_of(matches, "authorized_withdrawer", wallet_manager)?;
|
||||||
let commission = value_t_or_exit!(matches, "commission", u8);
|
let commission = value_t_or_exit!(matches, "commission", u8);
|
||||||
|
|
||||||
let payer_provided = None;
|
let payer_provided = None;
|
||||||
|
@ -357,6 +358,7 @@ pub fn parse_vote_update_commission(
|
||||||
command: CliCommand::VoteUpdateCommission {
|
command: CliCommand::VoteUpdateCommission {
|
||||||
vote_account_pubkey,
|
vote_account_pubkey,
|
||||||
commission,
|
commission,
|
||||||
|
withdraw_authority: signer_info.index_of(authorized_withdrawer_pubkey).unwrap(),
|
||||||
},
|
},
|
||||||
signers: signer_info.signers,
|
signers: signer_info.signers,
|
||||||
})
|
})
|
||||||
|
@ -603,8 +605,9 @@ pub fn process_vote_update_commission(
|
||||||
config: &CliConfig,
|
config: &CliConfig,
|
||||||
vote_account_pubkey: &Pubkey,
|
vote_account_pubkey: &Pubkey,
|
||||||
commission: u8,
|
commission: u8,
|
||||||
|
withdraw_authority: SignerIndex,
|
||||||
) -> ProcessResult {
|
) -> ProcessResult {
|
||||||
let authorized_withdrawer = config.signers[1];
|
let authorized_withdrawer = config.signers[withdraw_authority];
|
||||||
let (recent_blockhash, fee_calculator, _) = rpc_client
|
let (recent_blockhash, fee_calculator, _) = rpc_client
|
||||||
.get_recent_blockhash_with_commitment(config.commitment)?
|
.get_recent_blockhash_with_commitment(config.commitment)?
|
||||||
.value;
|
.value;
|
||||||
|
@ -990,6 +993,7 @@ mod tests {
|
||||||
command: CliCommand::VoteUpdateCommission {
|
command: CliCommand::VoteUpdateCommission {
|
||||||
vote_account_pubkey: pubkey,
|
vote_account_pubkey: pubkey,
|
||||||
commission: 42,
|
commission: 42,
|
||||||
|
withdraw_authority: 1,
|
||||||
},
|
},
|
||||||
signers: vec![
|
signers: vec![
|
||||||
read_keypair_file(&default_keypair_file).unwrap().into(),
|
read_keypair_file(&default_keypair_file).unwrap().into(),
|
||||||
|
|
Loading…
Reference in New Issue