-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[suggestion]: Disallow invalid transactions in genesis block #3075
Comments
The point here is, why do we tolerate invalid transactions in the genesis block? IMHO genesis block should be rejected entirely if it contains even one invalid transaction. I would like to hear others opinion on this matter. Can you come up with a reason where it's expected to find invalid transaction in the genesis block? |
I can't find reason for such behavior especially when in almost all cases our genesis block has exactly 1 transaction. |
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
I think we can close this since it was verified by @timofeevmd. |
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
- `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com>
- `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com>
- `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com>
- `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com>
* [refactor]: refactor cli(s) - `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chore Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: fix & test config - `iroha_config`: use `PathBuf` when appropriate - `iroha_config`: fix `Path` behaviour - `iroha_config`: finally, make `disable_panic_terminal_colors` truly optional (#3506) - `iroha`: resolve all relative paths in config file - `iroha`: improve config error messages - `iroha`: add config integration tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: test & refactor - `iroha_client_cli`: adopt `--config` from `iroha` - `iroha_client_cli`: refactor `--metadata` arg - `iroha`: extend tests - update test code overall Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: clippy, tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: use `serde_as_str` for paths Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: re-generate peer config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: remove deprecated option from test config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update README Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: remove obsolete comment Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: update `iroha_swarm` Now it relies on that `genesis.file` is set in the config file Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: `kagami config peer` + `--genesis-file-in-config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [feat]: use `PATH` as value name Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: align `StatusFailure` message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: adopt suggestion in `iroha_client_cli` #4153 (comment) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [build]: exclude `genesis.file` from default config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: refine genesis config parse error Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix & refactor `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix CANNOT_BE_EMPTY message It is updated with a new version of clap Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: return `disable_panic_terminal_colors: null` to test config It is needed so that only `iroha_test_config.json` without defaults layer is valid (will fix on config refactoring) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: handle configuration properly in `iroha_swarm` - set `GENESIS_FILE` in env, since `config.json` doesn't have it - strictly specify `config.json` and `genesis.json` files Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * Update client_cli/src/main.rs Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [refactor]: eliminate extra `iroha_config` dependency Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove dead code Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: use `serde_json::json!` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove `disable_panic_terminal_colors` parameter Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: update genesis & its testing - remove `cfg(test)` behaviour from `GenesisNetwork::new()` - refactor `impl TestGenesis for Genesis` - remove extra `bool` + `Option` invariant - allow creating genesis with additional ISIs - remove `test-utils` feature & `GenesisNetwork::transactions_mut()` - update related tests - update error message on signing failure Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove extension check from `Path::default()` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update genesis topology messages Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Popen`'s `env` instead of global `os.environ` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: typo Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Partial`/`Full` terminology Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: inherit env from OS Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: link issue #4161 Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: format Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: panic on default path extension Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update err message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update docs of `read_config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> --------- Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com>
…r-iroha#4136: refactor CLIs (hyperledger-iroha#4153) * [refactor]: refactor cli(s) - `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chore Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: fix & test config - `iroha_config`: use `PathBuf` when appropriate - `iroha_config`: fix `Path` behaviour - `iroha_config`: finally, make `disable_panic_terminal_colors` truly optional (hyperledger-iroha#3506) - `iroha`: resolve all relative paths in config file - `iroha`: improve config error messages - `iroha`: add config integration tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: test & refactor - `iroha_client_cli`: adopt `--config` from `iroha` - `iroha_client_cli`: refactor `--metadata` arg - `iroha`: extend tests - update test code overall Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: clippy, tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: use `serde_as_str` for paths Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: re-generate peer config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: remove deprecated option from test config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update README Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: remove obsolete comment Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: update `iroha_swarm` Now it relies on that `genesis.file` is set in the config file Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: `kagami config peer` + `--genesis-file-in-config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [feat]: use `PATH` as value name Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: align `StatusFailure` message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: adopt suggestion in `iroha_client_cli` hyperledger-iroha#4153 (comment) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [build]: exclude `genesis.file` from default config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: refine genesis config parse error Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix & refactor `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix CANNOT_BE_EMPTY message It is updated with a new version of clap Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: return `disable_panic_terminal_colors: null` to test config It is needed so that only `iroha_test_config.json` without defaults layer is valid (will fix on config refactoring) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: handle configuration properly in `iroha_swarm` - set `GENESIS_FILE` in env, since `config.json` doesn't have it - strictly specify `config.json` and `genesis.json` files Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * Update client_cli/src/main.rs Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [refactor]: eliminate extra `iroha_config` dependency Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove dead code Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: use `serde_json::json!` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove `disable_panic_terminal_colors` parameter Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: update genesis & its testing - remove `cfg(test)` behaviour from `GenesisNetwork::new()` - refactor `impl TestGenesis for Genesis` - remove extra `bool` + `Option` invariant - allow creating genesis with additional ISIs - remove `test-utils` feature & `GenesisNetwork::transactions_mut()` - update related tests - update error message on signing failure Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove extension check from `Path::default()` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update genesis topology messages Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Popen`'s `env` instead of global `os.environ` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: typo Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Partial`/`Full` terminology Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: inherit env from OS Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: link issue hyperledger-iroha#4161 Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: format Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: panic on default path extension Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update err message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update docs of `read_config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> --------- Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com>
…r-iroha#4136: refactor CLIs (hyperledger-iroha#4153) * [refactor]: refactor cli(s) - `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chore Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: fix & test config - `iroha_config`: use `PathBuf` when appropriate - `iroha_config`: fix `Path` behaviour - `iroha_config`: finally, make `disable_panic_terminal_colors` truly optional (hyperledger-iroha#3506) - `iroha`: resolve all relative paths in config file - `iroha`: improve config error messages - `iroha`: add config integration tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: test & refactor - `iroha_client_cli`: adopt `--config` from `iroha` - `iroha_client_cli`: refactor `--metadata` arg - `iroha`: extend tests - update test code overall Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: clippy, tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: use `serde_as_str` for paths Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: re-generate peer config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: remove deprecated option from test config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update README Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: remove obsolete comment Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: update `iroha_swarm` Now it relies on that `genesis.file` is set in the config file Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: `kagami config peer` + `--genesis-file-in-config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [feat]: use `PATH` as value name Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: align `StatusFailure` message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: adopt suggestion in `iroha_client_cli` hyperledger-iroha#4153 (comment) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [build]: exclude `genesis.file` from default config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: refine genesis config parse error Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix & refactor `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix CANNOT_BE_EMPTY message It is updated with a new version of clap Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: return `disable_panic_terminal_colors: null` to test config It is needed so that only `iroha_test_config.json` without defaults layer is valid (will fix on config refactoring) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: handle configuration properly in `iroha_swarm` - set `GENESIS_FILE` in env, since `config.json` doesn't have it - strictly specify `config.json` and `genesis.json` files Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * Update client_cli/src/main.rs Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [refactor]: eliminate extra `iroha_config` dependency Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove dead code Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: use `serde_json::json!` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove `disable_panic_terminal_colors` parameter Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: update genesis & its testing - remove `cfg(test)` behaviour from `GenesisNetwork::new()` - refactor `impl TestGenesis for Genesis` - remove extra `bool` + `Option` invariant - allow creating genesis with additional ISIs - remove `test-utils` feature & `GenesisNetwork::transactions_mut()` - update related tests - update error message on signing failure Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove extension check from `Path::default()` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update genesis topology messages Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Popen`'s `env` instead of global `os.environ` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: typo Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Partial`/`Full` terminology Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: inherit env from OS Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: link issue hyperledger-iroha#4161 Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: format Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: panic on default path extension Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update err message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update docs of `read_config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> --------- Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: Asem-Abdelhady <asemshawkey@gmail.com>
…r-iroha#4136: refactor CLIs (hyperledger-iroha#4153) * [refactor]: refactor cli(s) - `iroha`: use `clap` `v4` - `iroha`: update CLI (`--config`, `--terminal-colors`) - `iroha`: handle user-provided config file strictly - `iroha`: parse ENV config after file config - `iroha_config`: add `genesis.file`, remove `account_*` prefix - `iroha_config`: move some genesis config validation logic from `iroha` - `iroha_client_cli`: upgrade `clap` to `v4` - `iroha_genesis`: remove side effects (bail, logs) - `iroha_genesis`: clarify validation logic (hyperledger-iroha#3075) - `iroha_genesis`: remove `pub` to guard invariant of `GenesisNetwork` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chore Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: fix & test config - `iroha_config`: use `PathBuf` when appropriate - `iroha_config`: fix `Path` behaviour - `iroha_config`: finally, make `disable_panic_terminal_colors` truly optional (hyperledger-iroha#3506) - `iroha`: resolve all relative paths in config file - `iroha`: improve config error messages - `iroha`: add config integration tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: test & refactor - `iroha_client_cli`: adopt `--config` from `iroha` - `iroha_client_cli`: refactor `--metadata` arg - `iroha`: extend tests - update test code overall Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: clippy, tests Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: use `serde_as_str` for paths Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: re-generate peer config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: remove deprecated option from test config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update README Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [chore]: remove obsolete comment Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: update `iroha_swarm` Now it relies on that `genesis.file` is set in the config file Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: `kagami config peer` + `--genesis-file-in-config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [feat]: use `PATH` as value name Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: align `StatusFailure` message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: adopt suggestion in `iroha_client_cli` hyperledger-iroha#4153 (comment) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [build]: exclude `genesis.file` from default config Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: refine genesis config parse error Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix & refactor `test_env.py` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: fix CANNOT_BE_EMPTY message It is updated with a new version of clap Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: return `disable_panic_terminal_colors: null` to test config It is needed so that only `iroha_test_config.json` without defaults layer is valid (will fix on config refactoring) Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: handle configuration properly in `iroha_swarm` - set `GENESIS_FILE` in env, since `config.json` doesn't have it - strictly specify `config.json` and `genesis.json` files Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * Update client_cli/src/main.rs Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> * [refactor]: eliminate extra `iroha_config` dependency Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove dead code Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: use `serde_json::json!` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove `disable_panic_terminal_colors` parameter Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: update genesis & its testing - remove `cfg(test)` behaviour from `GenesisNetwork::new()` - refactor `impl TestGenesis for Genesis` - remove extra `bool` + `Option` invariant - allow creating genesis with additional ISIs - remove `test-utils` feature & `GenesisNetwork::transactions_mut()` - update related tests - update error message on signing failure Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: remove extension check from `Path::default()` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update genesis topology messages Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Popen`'s `env` instead of global `os.environ` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: typo Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: use `Partial`/`Full` terminology Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: inherit env from OS Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: link issue hyperledger-iroha#4161 Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [fix]: format Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [feat]: panic on default path extension Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [test]: update err message Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> * [docs]: update docs of `read_config` Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> --------- Signed-off-by: Dmitry Balashov <43530070+0x009922@users.noreply.github.com> Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> Co-authored-by: Ekaterina Mekhnetsova <mekkatya@gmail.com> Co-authored-by: ⭐️NINIKA⭐️ <DCNick3@users.noreply.github.com>
Originally posted by @mversic in #3074 (comment)
The text was updated successfully, but these errors were encountered: