|
@@ -275,6 +275,9 @@ pub enum Command {
|
|
program_id: Pubkey,
|
|
program_id: Pubkey,
|
|
/// Filepath to the new program binary.
|
|
/// Filepath to the new program binary.
|
|
program_filepath: String,
|
|
program_filepath: String,
|
|
|
|
+ /// Arguments to pass to the underlying `solana program deploy` command.
|
|
|
|
+ #[clap(required = false, last = true)]
|
|
|
|
+ solana_args: Vec<String>,
|
|
},
|
|
},
|
|
#[cfg(feature = "dev")]
|
|
#[cfg(feature = "dev")]
|
|
/// Runs an airdrop loop, continuously funding the configured wallet.
|
|
/// Runs an airdrop loop, continuously funding the configured wallet.
|
|
@@ -781,7 +784,13 @@ fn process_command(opts: Opts) -> Result<()> {
|
|
Command::Upgrade {
|
|
Command::Upgrade {
|
|
program_id,
|
|
program_id,
|
|
program_filepath,
|
|
program_filepath,
|
|
- } => upgrade(&opts.cfg_override, program_id, program_filepath),
|
|
|
|
|
|
+ solana_args,
|
|
|
|
+ } => upgrade(
|
|
|
|
+ &opts.cfg_override,
|
|
|
|
+ program_id,
|
|
|
|
+ program_filepath,
|
|
|
|
+ solana_args,
|
|
|
|
+ ),
|
|
Command::Idl { subcmd } => idl(&opts.cfg_override, subcmd),
|
|
Command::Idl { subcmd } => idl(&opts.cfg_override, subcmd),
|
|
Command::Migrate => migrate(&opts.cfg_override),
|
|
Command::Migrate => migrate(&opts.cfg_override),
|
|
Command::Test {
|
|
Command::Test {
|
|
@@ -3698,6 +3707,7 @@ fn upgrade(
|
|
cfg_override: &ConfigOverride,
|
|
cfg_override: &ConfigOverride,
|
|
program_id: Pubkey,
|
|
program_id: Pubkey,
|
|
program_filepath: String,
|
|
program_filepath: String,
|
|
|
|
+ solana_args: Vec<String>,
|
|
) -> Result<()> {
|
|
) -> Result<()> {
|
|
let path: PathBuf = program_filepath.parse().unwrap();
|
|
let path: PathBuf = program_filepath.parse().unwrap();
|
|
let program_filepath = path.canonicalize()?.display().to_string();
|
|
let program_filepath = path.canonicalize()?.display().to_string();
|
|
@@ -3714,6 +3724,7 @@ fn upgrade(
|
|
.arg("--program-id")
|
|
.arg("--program-id")
|
|
.arg(strip_workspace_prefix(program_id.to_string()))
|
|
.arg(strip_workspace_prefix(program_id.to_string()))
|
|
.arg(strip_workspace_prefix(program_filepath))
|
|
.arg(strip_workspace_prefix(program_filepath))
|
|
|
|
+ .args(&solana_args)
|
|
.stdout(Stdio::inherit())
|
|
.stdout(Stdio::inherit())
|
|
.stderr(Stdio::inherit())
|
|
.stderr(Stdio::inherit())
|
|
.output()
|
|
.output()
|