|
@@ -246,6 +246,9 @@ pub enum Command {
|
|
|
/// Keypair of the program (filepath) (requires program-name)
|
|
|
#[clap(long, requires = "program_name")]
|
|
|
program_keypair: Option<String>,
|
|
|
+ /// If true, deploy from path target/verifiable
|
|
|
+ #[clap(short, long)]
|
|
|
+ verifiable: bool,
|
|
|
},
|
|
|
/// Runs the deploy migration script.
|
|
|
Migrate,
|
|
@@ -691,7 +694,13 @@ fn process_command(opts: Opts) -> Result<()> {
|
|
|
Command::Deploy {
|
|
|
program_name,
|
|
|
program_keypair,
|
|
|
- } => deploy(&opts.cfg_override, program_name, program_keypair),
|
|
|
+ verifiable,
|
|
|
+ } => deploy(
|
|
|
+ &opts.cfg_override,
|
|
|
+ program_name,
|
|
|
+ program_keypair,
|
|
|
+ verifiable,
|
|
|
+ ),
|
|
|
Command::Expand {
|
|
|
program_name,
|
|
|
cargo_args,
|
|
@@ -3042,7 +3051,7 @@ fn test(
|
|
|
// In either case, skip the deploy if the user specifies.
|
|
|
let is_localnet = cfg.provider.cluster == Cluster::Localnet;
|
|
|
if (!is_localnet || skip_local_validator) && !skip_deploy {
|
|
|
- deploy(cfg_override, None, None)?;
|
|
|
+ deploy(cfg_override, None, None, false)?;
|
|
|
}
|
|
|
let mut is_first_suite = true;
|
|
|
if cfg.scripts.get("test").is_some() {
|
|
@@ -3204,7 +3213,8 @@ fn validator_flags(
|
|
|
|
|
|
let mut flags = Vec::new();
|
|
|
for mut program in cfg.read_all_programs()? {
|
|
|
- let binary_path = program.binary_path().display().to_string();
|
|
|
+ let verifiable = false;
|
|
|
+ let binary_path = program.binary_path(verifiable).display().to_string();
|
|
|
|
|
|
// Use the [programs.cluster] override and fallback to the keypair
|
|
|
// files if no override is given.
|
|
@@ -3574,6 +3584,7 @@ fn deploy(
|
|
|
cfg_override: &ConfigOverride,
|
|
|
program_name: Option<String>,
|
|
|
program_keypair: Option<String>,
|
|
|
+ verifiable: bool,
|
|
|
) -> Result<()> {
|
|
|
// Execute the code within the workspace
|
|
|
with_workspace(cfg_override, |cfg| {
|
|
@@ -3585,7 +3596,7 @@ fn deploy(
|
|
|
println!("Upgrade authority: {}", keypair);
|
|
|
|
|
|
for mut program in cfg.get_programs(program_name)? {
|
|
|
- let binary_path = program.binary_path().display().to_string();
|
|
|
+ let binary_path = program.binary_path(verifiable).display().to_string();
|
|
|
|
|
|
println!("Deploying program {:?}...", program.lib_name);
|
|
|
println!("Program path: {}...", binary_path);
|