From a550d822029a9192d8a0209757f245394e281f9a Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 28 Sep 2020 23:32:50 +0000 Subject: [PATCH] Enable commitment arg on solana deploy (#12532) (#12534) (cherry picked from commit 35208c5ee70c044ba5f5e200b86cc82f8e41450c) Co-authored-by: Tyera Eulberg --- clap-utils/src/commitment.rs | 2 +- cli/src/cli.rs | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/clap-utils/src/commitment.rs b/clap-utils/src/commitment.rs index d9332fc00e..f27c3c874b 100644 --- a/clap-utils/src/commitment.rs +++ b/clap-utils/src/commitment.rs @@ -15,7 +15,7 @@ pub fn commitment_arg_with_default<'a, 'b>(default_value: &'static str) -> Arg<' Arg::with_name(COMMITMENT_ARG.name) .long(COMMITMENT_ARG.long) .takes_value(true) - .possible_values(&["recent", "single", "root", "max"]) + .possible_values(&["recent", "single", "singleGossip", "root", "max"]) .default_value(default_value) .value_name("COMMITMENT_LEVEL") .help(COMMITMENT_ARG.help) diff --git a/cli/src/cli.rs b/cli/src/cli.rs index 8eb0d57944..91e8d1cab3 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -1124,6 +1124,7 @@ fn send_and_confirm_transactions_with_spinner( rpc_client: &RpcClient, mut transactions: Vec, signer_keys: &T, + commitment: CommitmentConfig, ) -> Result<(), Box> { let progress_bar = new_spinner_progress_bar(); let mut send_retries = 5; @@ -1145,7 +1146,7 @@ fn send_and_confirm_transactions_with_spinner( .send_transaction_with_config( &transaction, RpcSendTransactionConfig { - skip_preflight: true, + preflight_commitment: Some(commitment.commitment), ..RpcSendTransactionConfig::default() }, ) @@ -1307,9 +1308,15 @@ fn process_deploy( } trace!("Writing program data"); - send_and_confirm_transactions_with_spinner(&rpc_client, write_transactions, &signers).map_err( - |_| CliError::DynamicProgramError("Data writes to program account failed".to_string()), - )?; + send_and_confirm_transactions_with_spinner( + &rpc_client, + write_transactions, + &signers, + config.commitment, + ) + .map_err(|_| { + CliError::DynamicProgramError("Data writes to program account failed".to_string()) + })?; let (blockhash, _, _) = rpc_client .get_recent_blockhash_with_commitment(config.commitment)? @@ -2521,7 +2528,8 @@ pub fn app<'ab, 'v>(name: &str, about: &'ab str, version: &'v str) -> App<'ab, ' .takes_value(false) .hidden(true) // Don't document this argument to discourage its use .help("Use the deprecated BPF loader") - ), + ) + .arg(commitment_arg_with_default("max")), ) .subcommand( SubCommand::with_name("pay")