Skip to content

Commit

Permalink
Add sim-only deprecation notice (#1634)
Browse files Browse the repository at this point in the history
* Add sim-only deprecation notice

* Update display order

* After-merge fixes

---------

Co-authored-by: Willem Wyndham <[email protected]>
  • Loading branch information
Ifropc and willemneal authored Oct 10, 2024
1 parent e8aba25 commit 9880ad6
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 17 deletions.
28 changes: 14 additions & 14 deletions FULL_HELP_DOCS.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ Deploy builtin Soroban Asset Contract
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout



Expand Down Expand Up @@ -371,7 +371,7 @@ If no keys are specified the contract itself is extended.
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout



Expand Down Expand Up @@ -399,7 +399,7 @@ Deploy a wasm contract
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `-i`, `--ignore-checks` — Whether to ignore safety checks when deploying contracts

Default value: `false`
Expand Down Expand Up @@ -675,7 +675,7 @@ Install a WASM file to the ledger without creating a contract instance
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--wasm <WASM>` — Path to wasm binary
* `-i`, `--ignore-checks` — Whether to ignore safety checks when deploying contracts

Expand Down Expand Up @@ -714,7 +714,7 @@ stellar contract invoke ... -- --help
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--send <SEND>` — Whether or not to send a transaction

Default value: `default`
Expand Down Expand Up @@ -826,7 +826,7 @@ If no keys are specificed the contract itself is restored.
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout



Expand Down Expand Up @@ -1394,7 +1394,7 @@ Transfers the XLM balance of an account to another account and removes the sourc
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand All @@ -1420,7 +1420,7 @@ Bumps forward the sequence number of the source account to the given sequence nu
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand All @@ -1446,7 +1446,7 @@ Creates, updates, or deletes a trustline Learn more about trustlines https://dev
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand Down Expand Up @@ -1475,7 +1475,7 @@ Creates and funds a new account with the specified starting balance
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand Down Expand Up @@ -1504,7 +1504,7 @@ Sets, modifies, or deletes a data entry (name/value pair) that is attached to an
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand All @@ -1531,7 +1531,7 @@ Sends an amount in a specific asset to a destination account
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand Down Expand Up @@ -1561,7 +1561,7 @@ Set option for an account such as flags, inflation destination, signers, home do
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand Down Expand Up @@ -1602,7 +1602,7 @@ Allows issuing account to configure authorization and trustline flags to an asse
* `--cost` — Output the cost execution to stderr
* `--instructions <INSTRUCTIONS>` — Number of instructions to simulate
* `--build-only` — Build the transaction and only write the base64 xdr to stdout
* `--sim-only`Simulate the transaction and only write the base64 xdr to stdout
* `--sim-only`(Deprecated) simulate the transaction and only write the base64 xdr to stdout
* `--rpc-url <RPC_URL>` — RPC server endpoint
* `--network-passphrase <NETWORK_PASSPHRASE>` — Network passphrase to sign the transaction sent to the rpc server
* `--network <NETWORK>` — Name of network to use from config
Expand Down
16 changes: 13 additions & 3 deletions cmd/soroban-cli/src/fee.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ use clap::arg;
use crate::assembled::Assembled;
use crate::xdr;

use crate::commands::HEADING_RPC;
use crate::{commands::HEADING_RPC, deprecated_arg};

const DEPRECATION_MESSAGE: &str = "--sim-only is deprecated and will be removed \
in the future versions of CLI. The same functionality is offered by `tx simulate` command. To \
replicate the behaviour, run `stellar <command> --build only | stellar tx simulate`";

#[derive(Debug, clap::Args, Clone)]
#[group(skip)]
Expand All @@ -20,8 +24,14 @@ pub struct Args {
/// Build the transaction and only write the base64 xdr to stdout
#[arg(long, help_heading = HEADING_RPC)]
pub build_only: bool,
/// Simulate the transaction and only write the base64 xdr to stdout
#[arg(long, help_heading = HEADING_RPC, conflicts_with = "build_only")]
/// (Deprecated) simulate the transaction and only write the base64 xdr to stdout
#[arg(
long,
help_heading = HEADING_RPC,
conflicts_with = "build_only",
display_order = 100,
value_parser = deprecated_arg!(bool, DEPRECATION_MESSAGE))
]
pub sim_only: bool,
}

Expand Down
18 changes: 18 additions & 0 deletions cmd/soroban-cli/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,24 @@ pub mod http {
}
}

pub mod args {
/// Mark argument as deprecated with warning to be printed when it's used.
#[macro_export]
macro_rules! deprecated_arg {
(bool, $message: expr) => {
<_ as clap::builder::TypedValueParser>::map(
clap::builder::BoolValueParser::new(),
|x| {
if (x) {
$crate::print::Print::new(false).warnln($message);
}
x
},
)
};
}
}

pub mod rpc {
use crate::xdr;
use soroban_rpc::{Client, Error};
Expand Down

0 comments on commit 9880ad6

Please sign in to comment.