From dbce5de0688318a4a099120b41ff9d83cda6db11 Mon Sep 17 00:00:00 2001 From: Paul Bellamy Date: Thu, 9 Feb 2023 20:40:44 +0000 Subject: [PATCH] Squashed commit of the following: commit 8dfb7f36f424077a20480fe52642a37851999e69 Author: Willem Wyndham Date: Tue Feb 7 14:33:08 2023 -0500 chore(cli): clippy (#398) * chore(cli): clippy * chore: convert to binary expression --------- Co-authored-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> commit 518cafca3ee015bc876ff6cf1ebf04f8a2c1d9bf Author: Willem Wyndham Date: Tue Feb 7 10:12:25 2023 -0500 feat: Config command (#275) * feat: initial steps towards config * feat: create Secret type and use rpassword to read secret inputs * feat: validate secret key * fix: clippy * feat: initial config resolution * feat: add toml support * feat: add `rm` and `ls` * feat: add `args-file` option to `invoke` Currently only tests raw string * chore: fmt * fix: deploy test contract once and invoke twice * fix: test and arg type * feat: add slip10 * feat: add `identity generate` command * chore: rename location to args * start the addition of the network command (#1) * Update cmd/soroban-cli/src/config/network/mod.rs Co-authored-by: Chad Ostrowski <221614+chadoh@users.noreply.github.com> * chore: make Wasm type for tests * feat: config Args and incorporate into other commands * fix: pass tests * chore: replace wrap args with config::args * feat: add wasm::Args * chore: use secret::Args and add `as` Note that since as is a keyword you need to add `r#` as a prefix to tell the parser. * chore: remove unneeded file * chore: update strkey to newest version * fix: secret key args * feat: add test secret key test file * chore: config --> config_locator * chore: rename location --> config_locator Add needed descriptions * fix: network_path needs network_dir * fix: make --identity a flag, not subcommand * feat: simplify config consumption First of all, no longer allow setting `--config-dir`. Only allow using the workspace config (the default) or the global config by passing `--global` when adding new configs. Then, when _consuming_ configs in commands like `invoke`, `read`, etc (that is, in all parts of the CLI that are not nested under `config`), don't allow specifying `--global`. In addition to being hard to interpret (what does it mean to invoke _globally_?), this specificity introduced potential for user error: if I add a global identity called "ahalabs", and I call `invoke` with `--identity ahalabs` but forget to also include `--global`, I would have gotten errors. Instead, the new code always uses the same behavior when _reading_ configs: 1. Check local config files for an identity/network with the given name 2. If not found, check global config files for that name This introduces the possibility that a user may add both a local and a global config with the same name, and could become confused that the global is not being used. To help prevent such confusion, this also adds some `println` statements to tell the CLI user which config is being used, and to warn when adding one with a duplicate name. * fix: clippy and merge errors * feat: incorporate config args to simplify commands * feat!: remove defaults for now This isn't implemented and currently doesn't make sense for networks anyway. Also could be a footgun to users accidentally using a default identity. * feat: use XDG's `.config/soroban` for global config * chore: refactor/cleanup * feat: remove unneeded collision checks since lookup starts local * chore: add tests Still need to finish global tests * chore: clippy * feat: XDG_CONFIG_HOME env allows a global custom location for config * fix: make secret-key take a CLI arg for now * chore: remove seed_phrase arguments and logic for now * fix: sort ls output * chore: address some initial feedback * chore: improve clarity * chore(tests): new Sandbox instance; multiple cmds to share temp dir * feat: add support for seed phrases * feat: add generate command * chore: update to released version of rs-sep5 --------- Co-authored-by: Jonathon Hammond Co-authored-by: Chad Ostrowski <221614+chadoh@users.noreply.github.com> Co-authored-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> --- Cargo.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 76b7cdcdc..651cba7cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,6 +39,10 @@ version = "0.0.7" version = "0.0.2" +[workspace.dependencies.sep5] +version = "0.0.2" + + # [patch."https://github.com/stellar/rs-soroban-env"] # soroban-env-host = { path = "../rs-soroban-env/soroban-env-host/" } # [patch."https://github.com/stellar/rs-soroban-sdk"]