Skip to content

Conversation

@chungquantin
Copy link
Contributor

@chungquantin chungquantin commented Mar 21, 2025

This PR implements first command on-runtime-upgrade in try-runtime feature #496.

➜ pop test on-runtime-upgrade --help
Execute the migrations of the given runtime

Usage: pop test on-runtime-upgrade [OPTIONS] [PATH] [COMMAND]

Commands:
  snap  Use a state snapshot as the source of runtime state
  live  Use a live chain as the source of runtime state
  help  Print this message or the help of the given subcommand(s)

With pop-cli, user don't need to provide arguments like runtime or subcommand snap / live but instead will be prompted via interactive UI.

How to test the PR?

Testing Runtime Upgrades

The command feature requires a runtime binary to be built with --try-runtime feature. You can use the command pop build --try-runtime (implemented in #476).

Screenshot 2025-03-28 at 12 29 49

As runtime is optional, user will be prompted whether they want to run the command to test migrations on top of a given runtime or not. If not provided, use the code of the remote node, or the snapshot.

Test with live state

I tested the live state migration with a local solochain-node-template built with try-runtime feature. You can run the below command to test the feature:

pop test on-runtime-upgrade --disable-spec-version-check --blocktime=6000 live --uri=127.0.0.1:9944
Screenshot 2025-03-28 at 12 34 49

Outcome:

Screenshot 2025-03-28 at 12 40 23

Test with snapshot file

I already provided a snapshot file in tests/snapshots/base_parchain.snap (which is used in the tests as well). You can use the file to test with the below command (Need to replace with your runtime binary).

pop test on-runtime-upgrade --runtime=./target/release/wbuild/solochain-template-runtime/solochain_template_runtime.wasm --blocktime=6000 --checks=all --profile=release -n --disable-spec-version-check snap --path=../pop-cli/tests/snapshots/base_parachain.snap
Screenshot 2025-03-28 at 12 42 03

@chungquantin chungquantin self-assigned this Mar 24, 2025
@chungquantin chungquantin force-pushed the chungquantin/feat-pop_test_on_runtime_upgrade branch 2 times, most recently from b544690 to 277019e Compare March 25, 2025 15:49
@chungquantin chungquantin changed the base branch from chungquantin/feat-build_try_runtime to chungquantin/refactor-runtime_feature March 26, 2025 09:03
@chungquantin chungquantin force-pushed the chungquantin/feat-pop_test_on_runtime_upgrade branch 2 times, most recently from 168d64d to 556e121 Compare March 27, 2025 03:29
@chungquantin chungquantin force-pushed the chungquantin/refactor-runtime_feature branch from 9d3e0fb to 645303e Compare March 27, 2025 03:36
@chungquantin chungquantin force-pushed the chungquantin/feat-pop_test_on_runtime_upgrade branch from 556e121 to 4ff81c5 Compare March 27, 2025 03:36
@chungquantin chungquantin mentioned this pull request Mar 28, 2025
5 tasks
@chungquantin chungquantin changed the base branch from chungquantin/refactor-runtime_feature to chugnquantin/feat-try_runtime_command March 28, 2025 04:31
@chungquantin chungquantin force-pushed the chungquantin/feat-pop_test_on_runtime_upgrade branch 2 times, most recently from 0c4212a to 67db16d Compare March 28, 2025 05:45
@chungquantin chungquantin added the ready-for-final-review The PR is ready for final review label Mar 28, 2025
@chungquantin chungquantin force-pushed the chungquantin/feat-pop_test_on_runtime_upgrade branch 2 times, most recently from 8fa5496 to a77aaa1 Compare March 28, 2025 06:44
@Daanvdplas Daanvdplas requested a review from Copilot March 28, 2025 08:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements the on-runtime-upgrade command for try-runtime testing, enhancing the interactive user experience for migration testing. Key changes include the addition of new try-runtime modules and binary sourcing in the parachain crate, integration of the new command into pop-cli commands and tests, and updates to Cargo.toml for required dependencies.

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
crates/pop-parachains/src/try_runtime/mod.rs Introduces runtime migration commands, state sourcing definitions, and associated helper functions.
crates/pop-parachains/src/try_runtime/binary.rs Provides binary sourcing for the new try-runtime-cli with integrated GitHub release support and tests.
crates/pop-parachains/src/lib.rs Exports try-runtime functionalities to be used in pop-cli.
crates/pop-parachains/src/errors.rs Adds a new error variant for try-runtime failures.
crates/pop-parachains/Cargo.toml Adds dependency for frame-try-runtime.
crates/pop-cli/src/common/try_runtime.rs Implements try-runtime CLI support, shared parameters collection, and utility functions.
crates/pop-cli/src/common/mod.rs Registers the new try-runtime module.
crates/pop-cli/src/common/bench.rs Minor update to error propagation in binary sourcing for benching.
crates/pop-cli/src/commands/test/mod.rs Integrates the new OnRuntimeUpgrade testing command.
crates/pop-cli/src/commands/mod.rs Integrates the new test command into the commands dispatcher.
crates/pop-cli/Cargo.toml and Cargo.toml Updates dependencies for try-runtime integration.
Comments suppressed due to low confidence (2)

crates/pop-cli/src/commands/test/mod.rs:23

  • The removal of the 'global = true' attribute from the positional 'PATH' argument might affect argument propagation across subcommands; please confirm that this change is intentional.
#[arg(value_name = "PATH", index = 1, conflicts_with = "path")]

crates/pop-parachains/src/try_runtime/binary.rs:90

  • [nitpick] The test in this section relies on the output of target(), which could vary across environments; consider using a fixed value or mocking target() to improve test stability.
archive: format!("try-runtime-cli-{}", target()?),

@codecov
Copy link

codecov bot commented Mar 28, 2025

Codecov Report

Attention: Patch coverage is 89.98331% with 120 lines in your changes missing coverage. Please review.

Project coverage is 77.13%. Comparing base (33c91d7) to head (fdfe272).
Report is 1 commits behind head on chugnquantin/feat-try_runtime_command.

Files with missing lines Patch % Lines
...es/pop-cli/src/commands/test/on_runtime_upgrade.rs 89.83% 32 Missing and 50 partials ⚠️
crates/pop-cli/src/common/runtime.rs 11.11% 7 Missing and 1 partial ⚠️
crates/pop-parachains/src/try_runtime/binary.rs 83.33% 0 Missing and 8 partials ⚠️
crates/pop-cli/src/common/try_runtime.rs 96.83% 3 Missing and 4 partials ⚠️
crates/pop-parachains/src/try_runtime/mod.rs 89.36% 4 Missing and 1 partial ⚠️
...op-parachains/src/try_runtime/shared_parameters.rs 76.47% 4 Missing ⚠️
crates/pop-parachains/src/try_runtime/state.rs 0.00% 4 Missing ⚠️
crates/pop-cli/src/commands/mod.rs 0.00% 1 Missing ⚠️
crates/pop-parachains/src/try_runtime/parse.rs 97.61% 0 Missing and 1 partial ⚠️
@@                            Coverage Diff                            @@
##           chugnquantin/feat-try_runtime_command     #480      +/-   ##
=========================================================================
+ Coverage                                  76.87%   77.13%   +0.26%     
=========================================================================
  Files                                         85       90       +5     
  Lines                                      19811    19660     -151     
  Branches                                   19811    19660     -151     
=========================================================================
- Hits                                       15229    15165      -64     
+ Misses                                      2601     2546      -55     
+ Partials                                    1981     1949      -32     
Files with missing lines Coverage Δ
crates/pop-cli/src/commands/bench/overhead.rs 85.26% <100.00%> (+0.04%) ⬆️
crates/pop-cli/src/commands/bench/pallet.rs 79.45% <100.00%> (+0.01%) ⬆️
crates/pop-cli/src/commands/test/mod.rs 71.73% <ø> (ø)
crates/pop-parachains/src/errors.rs 100.00% <ø> (ø)
crates/pop-cli/src/commands/mod.rs 24.24% <0.00%> (ø)
crates/pop-parachains/src/try_runtime/parse.rs 97.61% <97.61%> (ø)
...op-parachains/src/try_runtime/shared_parameters.rs 76.47% <76.47%> (ø)
crates/pop-parachains/src/try_runtime/state.rs 0.00% <0.00%> (ø)
crates/pop-parachains/src/try_runtime/mod.rs 89.36% <89.36%> (ø)
crates/pop-cli/src/common/try_runtime.rs 96.83% <96.83%> (ø)
... and 3 more

... and 18 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chungquantin chungquantin force-pushed the chungquantin/feat-pop_test_on_runtime_upgrade branch from 21f16d9 to 0e660d8 Compare March 28, 2025 10:30
Copy link
Collaborator

@Daanvdplas Daanvdplas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great start, lets make this so good that people want to use this over chopsticks!!!

In terms of terminology we will have to choose a fix for runtime migrations because that is I think incorrect.

  • My output when I built pop runtime:
    Screenshot 2025-03-28 at 15 38 51

I think we can improve this somehow to improve user experience, e.g. some new lines or something.

  • I don't know why but when I tried to use the feature in the mainnet folder of pop-node I got this error after it had compiled the runtime for me:
    Screenshot 2025-03-28 at 15 56 52

Trying on pop testnet: Screenshot 2025-03-28 at 16 11 05

Seems that the error output is off (this is with an non existing wasm binary hallo.wasm):
Screenshot 2025-03-28 at 16 12 11

The fact that we don't have test coverage for errors is something that we need to pay attention to, clear and correct error messages is very important for cli's

It is also not working using the node:
Screenshot 2025-03-28 at 16 22 29


/// The chain blocktime in milliseconds.
#[arg(long)]
pub blocktime: Option<u64>,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should have a default value here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a default value if blocktime is not provided on the interactive prompt so I don't think it need to provide the default value here.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree, I don't want to have to click enter each time it is obvious I want a 6s blocktime.

Most probably 95% of the users will use the CLI pop test onruntimeupgrade feature for parachains which all have a 6s blocktime. There should be a way for them to not have to specify using the flag, or having to click enter in the interactive UI

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just revisited this and I think you're right! Parachains use 6s blocktime most of the time so it would be great to remove the step. I just resolve it in fdfe272#diff-38c5eb984e987befd98227f41a6ae4c19e1aa4eb5c974736b267c5f4caa8ae17R95

no_build: bool,
/// Automatically source the needed binary required without prompting for confirmation.
#[clap(short = 'y', long)]
skip_confirm: bool,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense that when this is selected we use a default for the blocktime and profile?

If I want to quickly use a command I think I often don't want to provide input or a flag for the release or blocktime.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm for blocktime it changes depending on the network so I don't know if setting it default to (maybe 6 second) is valuable here, we already have default value and user can simply enter without changing it to use the default value.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chungquantin
Copy link
Contributor Author

chungquantin commented Mar 29, 2025

@Daanvdplas Seems like most errors you encountered was due to the --blocktime was misaligned in the command arguments. I already fix the issue, below are the outcome so you can base on that to reproduce:

In terms of terminology we will have to choose a fix for runtime migrations because that is I think incorrect.

Resolved by removing all "runtime migrations".

I don't know why but when I tried to use the feature in the mainnet folder of pop-node I got this error after it had compiled the runtime for me:

For now, you need to run the command at the root of the project, even build does not work with runtime completely (#504). This is a bug of pop build so I'll fix it in a separate PR. You can see below is my outcome when running the command for pop-mainnet at the root directory of a project.

Screenshot 2025-03-29 at 11 59 40

I think we can improve this somehow to improve user experience, e.g. some new lines or something.

Screenshot 2025-03-29 at 11 17 47

Add a success prompt in between.

Seems that the error output is off (this is with an non existing wasm binary hallo.wasm):

Screenshot 2025-03-29 at 11 55 46

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chungquantin chungquantin requested a review from Daanvdplas March 30, 2025 09:20
Copy link
Collaborator

@AlexD10S AlexD10S left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job!! The test coverage is very thorough.
Everything looks solid overall, but I still need to do a bit more testing, I’ve run into a few errors while trying out the functionality.
I’ve left some comments about that, along with a few nitpicks.

args,
&CUSTOM_ARGS,
)?;
spinner.clear();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn’t complete a successful flow, but calling spinner.stop with a message feels more appropriate here. Is there a specific reason for using clear() instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chungquantin chungquantin requested a review from AlexD10S March 31, 2025 09:14
Copy link
Collaborator

@AlexD10S AlexD10S left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for incorporating all my feedback!
The automatic build and the prompt to disable spec version checks significantly improve the developer experience, especially by helping less experienced users avoid common errors.

@chungquantin chungquantin merged commit 6decd03 into chugnquantin/feat-try_runtime_command Mar 31, 2025
15 checks passed
@chungquantin chungquantin deleted the chungquantin/feat-pop_test_on_runtime_upgrade branch March 31, 2025 13:34
AlexD10S referenced this pull request Apr 2, 2025
* chore: rebase

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: rebase

* chore: rebase

* chore: rebase

* chore: revert cargo.lock and add more ignore

* chore: update cargo-deny-action@v2

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* chore: rebase

* chore: revert not relevant changes

* fix: expect_select missing filter_mode

* feat: pallet benchmarking interactive UI (#420)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* feat: list benchmark pallets & extrinsics

* feat: list pallets and extrinsics

* feat: refactor pallet mod and add parameter menu

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* refactor: separate pallet logic from entry file

* chore: add and hide global genesis_builder

* fix: clippy warnings and benchmark tests

* refactor: flatten PalletCmd to add extra arguments

* feat: select and update parameter menu

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* chore: rebase

* chore: rebase

* refactor: code order

* chore: rebase

* chore: reformat

* chore: reformat

* chore: reformat

* refactor: test files

* chore: rebase

* chore: reformat

* chore: reformat

* chore: clippy warning

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: clippy warning

* feat: enter runtime path manually

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* fix: rebase

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* feat: update menu to confirm the boolean option

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: rebase

* feat: add print command method

* feat: add excluded pallets and print command

* refactor: move methods to pop-parachains

* refactor: get runtime arguments & genesis disabled

* chore: fix tests and new tests for runtime input

* chore: add tests for search pallets & extrinsics

* chore: add tests for select pallet & extrinsics

* chore: remove fuzzy search crate and fix stdout err

* chore: remove guard drop

* chore: clippy warnings

* fix: stdio override

* refactor: load pallets from subwasm

* chore: revert changes made to load pallets

This reverts commit faf3ce5889bffc547e840b692be64e96b6da67da.

* chore: remove stdio-overide crate and add alternatives

* chore: add print to debug CI

* feat: add code to source omni bencher (#428)

* feat: add code to source omni bencher

* chore: add tests for sourcing binaries

* feat: download omni-bencher binary if not exist

* chore: remove println!

* chore: fix tests

* refactor: PalletCmd to BenchmarkPallet

* feat: select single pallet

* chore: test ensure pallet registry

* feat: add output file

* chore: resolve clippy warnings

* refactor: shared methods with other commands

* chore: clippy warning of direct ToString impl

* chore: add public module document

* chore: clippy warning of `current_preset`

* chore: set `RUST_LOG` to original value

* refactor: display with `--skip` argument

* chore: remove `which` crate and implement with cmd

* fix: test of display()

* refactor: get_mock_runtime

* chore: test for inputting output file

* chore: test for list, fix binary run

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: rebase

* chore: update cargo.lock

* feat: add the filter mode to cli

* chore: rebase

* chore: revert cargo.lock and add more ignore

* chore: update cargo-deny-action@v2

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* chore: rebase

* chore: clippy warning

* chore: revert not relevant changes

* chore: rebase to add filter mode

* feat: update parachain templates (#297)

* feat: include new parachain template and remove old one for Parity

* fix: tests

* fix: order in test

* fix: export PATH

* chore: bump zombienet-sdk version

* fix: remove parity evm

* fix: missing changes

* fix: parse collator and parachain-template-node without path for spawn

* chore: remove set PATH

* refactor: functionality and test

* refactor: prefix for external templates

* fix: deprecate old command for generating parity contracts template

* test: update configure_works test to test new functionality

* test: fix unit tests templates

* fix: show deprecation message and fixes

* docs: improve comments

* refactor: nitpicks in parachain description

* fix: logic for substrate-contracts-node without path in config file

* feat: support v3.0.0 of OpenZeppelin templates

* docs: improve template docs and comments

* test: improve comments for clarity

* fix: support different profiles when path is not specified

* refactor: code improvements

* refactor: improve import

* fix: remove onboard.rs empty file (#433)

* chore: update cargo-deny-action@v2 (#439)

* chore: update cargo-deny-action@v2

* chore: revert cargo.lock and add more ignore

* fix: docker missing toolchain

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: rebase

* chore: update cargo.lock

* feat: add the filter mode to cli

* chore: rebase

* chore: revert cargo.lock and add more ignore

* chore: update cargo-deny-action@v2

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* chore: rebase

* chore: clippy warning

* chore: revert not relevant changes

---------

Co-authored-by: Alex Bean <alexfraga10@gmail.com>

* chore: update cargo-deny-action@v2 (#439)

* chore: update cargo-deny-action@v2

* chore: revert cargo.lock and add more ignore

* fix: docker missing toolchain

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: rebase

* chore: revert cargo.lock and add more ignore

* chore: update cargo-deny-action@v2

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* chore: rebase

* chore: revert not relevant changes

* fix: expect_select missing filter_mode

* refactor: fuzzy search pallets and extrinsics with `filter_mode` (#442)

* refactor: use filter_mode to fuzzy search pallets

* chore: update cargo-deny-action@v2

* chore: rebase

* chore: revert not relevant changes

* chore: delete conflicting file

* feat: add confirm input to extrinsics selection

* chore: test for `get_relative_or_absolute_path`

* refactor: remove methods only used once

* refactor: get arguments `ok_or_else`

* refactor: `TryFrom<String>` for genesis builder

* chore: comments

* chore: return error if  is not provided

* fix: unit tests adapt to new changes

* chore: ensure runtime binary exists test

* chore: clippy warning

* chore: apply suggestions & test for menu

* chore: remove weights.rs

* chore: fix test to log single line command

---------

Co-authored-by: Alex Bean <alexfraga10@gmail.com>

* chore: reformat

* chore: remove conflict file bench.rs

* chore: import display_message from common

* chore: update Cargo.lock

* fix: resolve cargo deny and build script to fix the CI (#456)

* chore: update deny.toml

* feat: `pop build --benchmark` (#453)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* feat: list benchmark pallets & extrinsics

* feat: list pallets and extrinsics

* feat: refactor pallet mod and add parameter menu

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* refactor: separate pallet logic from entry file

* chore: add and hide global genesis_builder

* fix: clippy warnings and benchmark tests

* refactor: flatten PalletCmd to add extra arguments

* feat: select and update parameter menu

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* chore: rebase

* chore: rebase

* refactor: code order

* chore: rebase

* chore: reformat

* chore: reformat

* chore: reformat

* refactor: test files

* chore: rebase

* chore: reformat

* chore: reformat

* chore: clippy warning

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: clippy warning

* feat: enter runtime path manually

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* fix: rebase

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* feat: update menu to confirm the boolean option

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: rebase

* feat: add print command method

* feat: add excluded pallets and print command

* refactor: move methods to pop-parachains

* refactor: get runtime arguments & genesis disabled

* chore: fix tests and new tests for runtime input

* chore: add tests for search pallets & extrinsics

* chore: add tests for select pallet & extrinsics

* chore: remove fuzzy search crate and fix stdout err

* chore: remove guard drop

* chore: clippy warnings

* fix: stdio override

* refactor: load pallets from subwasm

* chore: revert changes made to load pallets

This reverts commit faf3ce5889bffc547e840b692be64e96b6da67da.

* chore: remove stdio-overide crate and add alternatives

* chore: add print to debug CI

* feat: add code to source omni bencher (#428)

* feat: add code to source omni bencher

* chore: add tests for sourcing binaries

* feat: download omni-bencher binary if not exist

* chore: remove println!

* chore: fix tests

* refactor: PalletCmd to BenchmarkPallet

* feat: select single pallet

* chore: test ensure pallet registry

* feat: add output file

* chore: resolve clippy warnings

* refactor: shared methods with other commands

* chore: clippy warning of direct ToString impl

* chore: add public module document

* chore: clippy warning of `current_preset`

* chore: set `RUST_LOG` to original value

* refactor: display with `--skip` argument

* chore: remove `which` crate and implement with cmd

* fix: test of display()

* refactor: get_mock_runtime

* chore: test for inputting output file

* chore: test for list, fix binary run

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* chore: rebase

* chore: reformat

* chore: reformat

* chore: rebase

* chore: rebase

* chore: update cargo.lock

* feat: add the filter mode to cli

* chore: rebase

* chore: revert cargo.lock and add more ignore

* chore: update cargo-deny-action@v2

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* chore: rebase

* chore: clippy warning

* chore: revert not relevant changes

* chore: rebase to add filter mode

* feat: update parachain templates (#297)

* feat: include new parachain template and remove old one for Parity

* fix: tests

* fix: order in test

* fix: export PATH

* chore: bump zombienet-sdk version

* fix: remove parity evm

* fix: missing changes

* fix: parse collator and parachain-template-node without path for spawn

* chore: remove set PATH

* refactor: functionality and test

* refactor: prefix for external templates

* fix: deprecate old command for generating parity contracts template

* test: update configure_works test to test new functionality

* test: fix unit tests templates

* fix: show deprecation message and fixes

* docs: improve comments

* refactor: nitpicks in parachain description

* fix: logic for substrate-contracts-node without path in config file

* feat: support v3.0.0 of OpenZeppelin templates

* docs: improve template docs and comments

* test: improve comments for clarity

* fix: support different profiles when path is not specified

* refactor: code improvements

* refactor: improve import

* fix: remove onboard.rs empty file (#433)

* chore: update cargo-deny-action@v2 (#439)

* chore: update cargo-deny-action@v2

* chore: revert cargo.lock and add more ignore

* fix: docker missing toolchain

* chore: revert relay.rs changes

* chore: remove vulnerabilities by upgrade zombienet

* feat: `pop bench pallet` logic implementation (#407)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: revert mod.rs

* feat: add bench subcommand

* chore: revert mod.rs

* chore: revert changes

* feat: benchmark existing runtime binary and select policy, presets (#411)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: select genesis builder

* refactor: test helpers

* chore: remove output display

* chore: update parse genesis builder comment

* fix: locate runtime and help command

* chore: clippy warning

* chore: display error message on binary check

* fix: comment

* feat: add genesis preset check (#422)

* feat: add genesis preset check

* feat: update_genesis_preset

* refactor: constant name & add tests for preset

* refactor: get_runtime_path

* refactor: code order

* refactor: test files

* chore: clippy warning

* refactor: list presets instead of manual input

* feat: default to `none` if no presets found

* refactor: build project test instead of runtime

* refactor: separate pallet logic from entry file (#421)

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* fix: runtime path test

* refactor: feature gating for benchmarking feature

* chore: remove unused argument

* fix: comment

* chore: rename `bench` file

* chore: rename `bench` file

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* feat: list and select runtimes

* chore: remove unused code

* feat: auto detect wasm blob and build runtime

* feat: build runtime wasm blob

* refactor: build binary path method

* chore: removed duplicate code

* chore: remove spinner

* chore: clippy warning

* chore: clippy warning

* refactor: parachain feature in bench command

* chore: reorder imports

* feat: add bench subcommand

* feat: integrates frame-benchmarking-cli

* refactor: PalletCmd run with spec

* feat: set RUST_LOG=info for benchmarking display

* feat: add CLI messages and tests

* feat: add benchmark runtime wasm test

* chore: fix comment

* fix: operator cannot be applied to type

* chore: display error and refactor test file

* chore: rename `bench` file

* chore: clippy warning

* refactor: parachain feature in bench command

* feat: add bench subcommand

* feat: integrates frame-bench…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-final-review The PR is ready for final review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants