-
Notifications
You must be signed in to change notification settings - Fork 40
feat: register parachain #404
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
Conversation
511e547 to
945a8ac
Compare
df55096 to
0a64db8
Compare
evilrobot-01
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comments only as still a draft. Suggestions around rollup are simply based on the fact that we have to start somewhere. I think any new code should use rollup. We can then create a separate PR to add aliases etc and then simply rebase this PR as/when.
Also surprised you are using strings over enums - that should be addressed imo.
A few other general observations:
- Not sure we need
networkif we are specifying-f? Counter argument is if we are usingnetworkthen we dont need to specify-f, it could just bepop u n ./network.toml. Or if we rename-fto-n, thenpop up -n ./network.toml cargo run -- up --helpshows a 'smart contract deployment options' section but nothing for rollups?- we could still have the subcommands (contract, rollup, network), just optional. These can just be command aliases that map into the existing functions for
pop up. Help text could be taken from the subcommand when generating the main help for pop up. I cant say what the technical complexities might be tho. pop up --path ../test-chain --relay-url ws://127.0.0.1:49155in the readme doesnt work- readme should be updated to rollup
In my opinion, this approach makes it much clearer for the user: We follow the same pattern with |
4f594c4 to
75896e8
Compare
13bb837 to
3542b59
Compare
* feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: improve readability with chain::configure * refactor: improve message and clean code
* test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * feat: container_engine to detect container to use * feat: generate_deterministic_runtime logic * feat: srtool logic * feat: build deterministic runtime in build spec command * feat: update_runtime_code * test: include tests for updateing code * refactor: clean unnecesary code * test: in container_engine * refactor: docker warning in container_engine * chore: improve screen messaging * refactor: use profile picked by the user * refactor: docs in ContainerEngine and clean prints * fix: generate_deterministic_runtime parameter * refactor: rename, improve messages and clean empty lines * feat: extract package name automatically from runtime dir * docs: change broken link * refactor: update srtool_lib crate and remove unnecesary code * docs: include srtool in Acknowledgements * refactor: remove unnecesary Error * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * chore: always prompt the user to build runtime deterministacally and improve message * docs: improve and add missing comments * refactor: clean code to prompt for the package and runtime dir * docs: improve warning message * refactor: rename variables and structs * fix: throw error message when build deterministic runtime fail * feat: include skip_deterministic_build flag to avoid prompting the user * docs: improve comments
* test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * feat: construct_proxy_extrinsic * feat: prompt for proxy address in the UI * docs: improve flag description and display command to be executed * docs: improve prompt to the user message for proxy * feat: replace index.html with costs for calls with proxy in ui * refactor: remove display command information (separate PR) * test: fix resolve_proxy_address_works * refactor: rename and more clear messages for the user to prompt proxied account * chore: update index.html with latest changes * test: fix format * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: clean code to avoid unnecesary clone * feat: wrap Id by default in the proxy address and improve comment * refactor: remove ProxyConfig and use Proxy * refactor: resolve_proxied_address * fix: change visibility for prompt_for_param * refactor: more clarity in code variables and comments * refactor: custom message to prompt for proxy address * refactor: support only Account Id type for proxied_address * test: remove unnecesary async in resolve_proxied_address_works
d497a63 to
556b053
Compare
* chore: hide srtool logs * chore: include runtime file in the Generated files message
chungquantin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work, Alex! I tested all functionalities of this PR and it works well. Just one feedback that the experience with building deterministic runtime is not clear to the user. Even though there is a spinner, it's hard to see. I would recommend informing the user that the step might take around 10-15 minutes so they are aware of it.
✅ Reserve a parachain ID with pop up --path . --relay-chain-url ws://127.0.0.1:50295
✅ Deploy a parachain and can find the parathread on PJS
Events are printed beautifully!
chungquantin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Registered with proxy and build deterministic runtime works perfectly as well. One final question, if my runtime is built deterministically with same configurations before, will it build the runtime again? Because when I run the command again after the built finish, it still take around 10-15 minutes to build the runtime. Could we no reuse the built runtime binary?
It needs to be rebuilt as there may be changes, similar to when we build the node. However, I believe the second run takes less time. |
Can we add an option to ask user if they want to rebuild their runtime? Or we can follow similar approach to the benchmarking feature that if binary exists, we don't build it. User can build manually if needed. |
Interesting. It doesn’t make sense to ask for it after prompting 'Would you like to build the runtime deterministically?'. However, it might be a good idea to detect if the chain spec file exists after the prompt 'Name or path for the plain chain spec file:' and then ask the user if they want to rebuild it. In #459 we implemented the logic to prevent unnecessary chain spec rebuilds. |
* test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: logic for parachain registration (#410) * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: improve readability with chain::configure * refactor: improve message and clean code * feat: build deterministic runtime (#425) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * feat: container_engine to detect container to use * feat: generate_deterministic_runtime logic * feat: srtool logic * feat: build deterministic runtime in build spec command * feat: update_runtime_code * test: include tests for updateing code * refactor: clean unnecesary code * test: in container_engine * refactor: docker warning in container_engine * chore: improve screen messaging * refactor: use profile picked by the user * refactor: docs in ContainerEngine and clean prints * fix: generate_deterministic_runtime parameter * refactor: rename, improve messages and clean empty lines * feat: extract package name automatically from runtime dir * docs: change broken link * refactor: update srtool_lib crate and remove unnecesary code * docs: include srtool in Acknowledgements * refactor: remove unnecesary Error * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * chore: always prompt the user to build runtime deterministacally and improve message * docs: improve and add missing comments * refactor: clean code to prompt for the package and runtime dir * docs: improve warning message * refactor: rename variables and structs * fix: throw error message when build deterministic runtime fail * feat: include skip_deterministic_build flag to avoid prompting the user * docs: improve comments * feat: use a proxy for the registration (#427) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * feat: construct_proxy_extrinsic * feat: prompt for proxy address in the UI * docs: improve flag description and display command to be executed * docs: improve prompt to the user message for proxy * feat: replace index.html with costs for calls with proxy in ui * refactor: remove display command information (separate PR) * test: fix resolve_proxy_address_works * refactor: rename and more clear messages for the user to prompt proxied account * chore: update index.html with latest changes * test: fix format * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: clean code to avoid unnecesary clone * feat: wrap Id by default in the proxy address and improve comment * refactor: remove ProxyConfig and use Proxy * refactor: resolve_proxied_address * fix: change visibility for prompt_for_param * refactor: more clarity in code variables and comments * refactor: custom message to prompt for proxy address * refactor: support only Account Id type for proxied_address * test: remove unnecesary async in resolve_proxied_address_works * fix: clippy warnings * chore: improve deterministic runtime flow (#460) * chore: hide srtool logs * chore: include runtime file in the Generated files message * chore: update with latest index.html * refactor: small improvements * refactor: improve the building runtime message
* test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: logic for parachain registration (#410) * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: improve readability with chain::configure * refactor: improve message and clean code * feat: build deterministic runtime (#425) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * feat: container_engine to detect container to use * feat: generate_deterministic_runtime logic * feat: srtool logic * feat: build deterministic runtime in build spec command * feat: update_runtime_code * test: include tests for updateing code * refactor: clean unnecesary code * test: in container_engine * refactor: docker warning in container_engine * chore: improve screen messaging * refactor: use profile picked by the user * refactor: docs in ContainerEngine and clean prints * fix: generate_deterministic_runtime parameter * refactor: rename, improve messages and clean empty lines * feat: extract package name automatically from runtime dir * docs: change broken link * refactor: update srtool_lib crate and remove unnecesary code * docs: include srtool in Acknowledgements * refactor: remove unnecesary Error * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * chore: always prompt the user to build runtime deterministacally and improve message * docs: improve and add missing comments * refactor: clean code to prompt for the package and runtime dir * docs: improve warning message * refactor: rename variables and structs * fix: throw error message when build deterministic runtime fail * feat: include skip_deterministic_build flag to avoid prompting the user * docs: improve comments * feat: use a proxy for the registration (#427) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * feat: construct_proxy_extrinsic * feat: prompt for proxy address in the UI * docs: improve flag description and display command to be executed * docs: improve prompt to the user message for proxy * feat: replace index.html with costs for calls with proxy in ui * refactor: remove display command information (separate PR) * test: fix resolve_proxy_address_works * refactor: rename and more clear messages for the user to prompt proxied account * chore: update index.html with latest changes * test: fix format * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: clean code to avoid unnecesary clone * feat: wrap Id by default in the proxy address and improve comment * refactor: remove ProxyConfig and use Proxy * refactor: resolve_proxied_address * fix: change visibility for prompt_for_param * refactor: more clarity in code variables and comments * refactor: custom message to prompt for proxy address * refactor: support only Account Id type for proxied_address * test: remove unnecesary async in resolve_proxied_address_works * fix: clippy warnings * chore: improve deterministic runtime flow (#460) * chore: hide srtool logs * chore: include runtime file in the Generated files message * chore: update with latest index.html * refactor: small improvements * refactor: improve the building runtime message
* refactor: check binary and prompt * feat: add binary generator * 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 * fix: hardcoded test failing in the CI (#448) * fix: remove hardcoded node name in test * fix: bump versions in Cargo.lock to fix deny * chore: ignore unmantained vulnerability * fix: cargo deny unmaintained crate --------- Co-authored-by: chungquantin <[email protected]> * feat: add the filter mode and password to `Cli` (#435) * 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: add password to the Cli (#449) * chore: add password input in cli module * chore: format --------- Co-authored-by: Alex Bean <[email protected]> * chore: resolve unmaintained crate & clippy warnings (#454) * chore: resolve clippy warnings * fix: unmantained crate * chore: hard-coded the version of pop-node binary * chore: fix pop-node CI issue * feat: register parachain (#404) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: logic for parachain registration (#410) * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: improve readability with chain::configure * refactor: improve message and clean code * feat: build deterministic runtime (#425) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * feat: container_engine to detect container to use * feat: generate_deterministic_runtime logic * feat: srtool logic * feat: build deterministic runtime in build spec command * feat: update_runtime_code * test: include tests for updateing code * refactor: clean unnecesary code * test: in container_engine * refactor: docker warning in container_engine * chore: improve screen messaging * refactor: use profile picked by the user * refactor: docs in ContainerEngine and clean prints * fix: generate_deterministic_runtime parameter * refactor: rename, improve messages and clean empty lines * feat: extract package name automatically from runtime dir * docs: change broken link * refactor: update srtool_lib crate and remove unnecesary code * docs: include srtool in Acknowledgements * refactor: remove unnecesary Error * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * chore: always prompt the user to build runtime deterministacally and improve message * docs: improve and add missing comments * refactor: clean code to prompt for the package and runtime dir * docs: improve warning message * refactor: rename variables and structs * fix: throw error message when build deterministic runtime fail * feat: include skip_deterministic_build flag to avoid prompting the user * docs: improve comments * feat: use a proxy for the registration (#427) * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * feat: construct_proxy_extrinsic * feat: prompt for proxy address in the UI * docs: improve flag description and display command to be executed * docs: improve prompt to the user message for proxy * feat: replace index.html with costs for calls with proxy in ui * refactor: remove display command information (separate PR) * test: fix resolve_proxy_address_works * refactor: rename and more clear messages for the user to prompt proxied account * chore: update index.html with latest changes * test: fix format * test: detects_project_type_correctly * feat: parachain deployment in pop up * fix: parachain feature * docs: improve comments * feat: replace index.html with summary costs in ui (#430) * refactor: rename parachain to rollup * docs: improve deprecation message * refactor: rename parachain to rollup in up help * feat: deploy a parachain commands * feat: build specs in pop up * feat: logic to interact with a chain * feat: register parachain * refactor: clean code and improve docs * test: unit tests for pop up methods * refactor: small fixes with visibility and removing logs * feat: return events in submit_signed_extrinsic * feat: get para_id from event * test: fix detects_parachain_correctly * refactor: improve docs and code * test: fix change_working_directory_works * fix: clippy warnings * refactor: move submit_extrinsic_with_wallet in a common file * refactor: remove unnecesary code * refactor: UpChainCommand structure * test: adjust tests to refactored struct * refactor: renaming prepare_register_parachain_call_data and prepare_rerve_parachain_call_data * refactor: move events module * fix: submit_extrinsic_with_wallet under parachain feature * refactor: remove unnecesary code * test: increase coverage with reserve_parachain_id_fails_wrong_chain and resolve_genesis_files_fails_wrong_path * refactor: remove unnecesary clones * refactor: minor improvements * test: refactor tests and include comments * refactor: map errors in submit_extrinsic_with_wallet * test: fix prepare_register_parachain_call_data_works * refactor: move configure_chain into a common folder * refactor: function visibility * fix: error message and include test for it * refactor: build specs removing repetitive code * refactor: use prepare_extrinsic from Call module to prepare a call * docs: improve comments and messages * refactor: rename variables and structs * refactor: relay_chain_url * refactor: rename prepare_reserve_call_data and prepare_register_call_data * test: remove unnecesary test * refactor: remove events module * refactor: rename parachain to rollup * chore: improve succesful message * chore: change intro title to use rollup * docs: comments for Reserved event * refactor: clean code to avoid unnecesary clone * feat: wrap Id by default in the proxy address and improve comment * refactor: remove ProxyConfig and use Proxy * refactor: resolve_proxied_address * fix: change visibility for prompt_for_param * refactor: more clarity in code variables and comments * refactor: custom message to prompt for proxy address * refactor: support only Account Id type for proxied_address * test: remove unnecesary async in resolve_proxied_address_works * fix: clippy warnings * chore: improve deterministic runtime flow (#460) * chore: hide srtool logs * chore: include runtime file in the Generated files message * chore: update with latest index.html * refactor: small improvements * refactor: improve the building runtime message * fix: display events when wallet-signing (#463) * feat: enable `pop test` without project type specification (#466) * refactor: test_project to support testing any rust project * test: unit tests in test mod * docs: fix pop_contracts test docs * docs: fix comment in TestCommand error * refactor: improve docs and visibility * chore: add doc for macro and test for contracts * fix: executable permission --------- Co-authored-by: Alex Bean <[email protected]>
This PR updates pop-cli to support one-command, production-ready parachain deployments.
How to test it
Start the Paseo parachain locally by running:
Run pop up in your parachain folder or specify the folder with the
pathflagFor more information run: