From 7b3c7a075a5f7858c248a24203847341288dcd14 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 2 Feb 2021 22:49:09 +0000 Subject: [PATCH] Allow passing buffer by keypair to cli program deploy (#15010) (#15016) (cherry picked from commit 7831428e8252ef2d60ffcfc2af2c99671f793e8d) Co-authored-by: Jack May --- cli/src/program.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cli/src/program.rs b/cli/src/program.rs index 9212c1b077..e7a81b76ba 100644 --- a/cli/src/program.rs +++ b/cli/src/program.rs @@ -583,12 +583,13 @@ fn process_program_deploy( allow_excessive_balance: bool, ) -> ProcessResult { let (words, mnemonic, buffer_keypair) = create_ephemeral_keypair()?; - let (buffer_signer, buffer_pubkey) = if let Some(i) = buffer_signer_index { - (Some(config.signers[i]), config.signers[i].pubkey()) + let (buffer_provided, buffer_signer, buffer_pubkey) = if let Some(i) = buffer_signer_index { + (true, Some(config.signers[i]), config.signers[i].pubkey()) } else if let Some(pubkey) = buffer_pubkey { - (None, pubkey) + (true, None, pubkey) } else { ( + false, Some(&buffer_keypair as &dyn Signer), buffer_keypair.pubkey(), ) @@ -656,7 +657,7 @@ fn process_program_deploy( true }; - let (program_data, buffer_data_len) = if buffer_signer.is_none() { + let (program_data, buffer_data_len) = if buffer_provided { // Check supplied buffer account if let Some(account) = rpc_client .get_account_with_commitment(&buffer_pubkey, config.commitment)? @@ -671,7 +672,7 @@ fn process_program_deploy( } (vec![], account.data.len()) } else { - return Err("Specified buffer not found, was it already consumed?".into()); + return Err("Buffer account not found, was it already consumed?".into()); } } else if let Some(program_location) = program_location { let program_data = read_and_verify_elf(&program_location)?;