Skip to content

Conversation

@AlexD10S
Copy link
Collaborator

@AlexD10S AlexD10S commented Feb 12, 2025

This is the first step in a larger PR: PR #404. It consolidates the existing logic for deploying a parachain into a relay chain when a user executes pop up in a parachain project.

Changes included:

  • Added generate_genesis_artifacts function in specs to build and return paths for the genesis and WASM files.
  • Updated submit_extrinsic_with_wallet to return events.
  • Parsed the Reserved event in the Registrar pallet to retrieve the parachain ID after reservation.
  • Integrated the entire process: reserving the paraID, generating specifications, and registering the parachain in the pop up command.

How to test it
Start the Paseo parachain locally by running:

pop up parachain -f ./tests/networks/paseo.toml

Run pop up in your parachain folder or specify the folder with the path flag

pop up --path ../test-chain --relay-url ws://127.0.0.1:49155

Note: The account used for signing must have sufficient funds to cover both the reservation and signing process.

Notes:

  • I tried to have a more generic event parsing approach but couldn't find a viable solution. Instead, I followed the approach used in cargo-contracts: Reference. If we need to parse more events in the future, we can manually add them.
  • To sign this logic is using the wallet signing approach (--use-wallet). If useful, I can add options for --suri and specifying a private key via the command line, but not sure if makes sense.

[sc-2756]

@AlexD10S AlexD10S force-pushed the feat/pop-up-for-parachain branch from 6c5a488 to ba6e253 Compare February 14, 2025 11:51
@AlexD10S AlexD10S force-pushed the feat/deploy-parachain branch from 511e547 to 945a8ac Compare February 14, 2025 12:22
@AlexD10S AlexD10S mentioned this pull request Feb 15, 2025
5 tasks
@AlexD10S AlexD10S force-pushed the feat/deploy-parachain branch 2 times, most recently from df55096 to 0a64db8 Compare February 17, 2025 16:34
@AlexD10S AlexD10S force-pushed the feat/pop-up-for-parachain branch 2 times, most recently from b55ddaa to d360dba Compare February 17, 2025 17:33
spinner.start("Generating chain specification...");

// Generate chain spec.
generate_plain_chain_spec(&binary_path, output_file, default_bootnode, chain)?;
Copy link
Collaborator Author

@AlexD10S AlexD10S Feb 17, 2025

Choose a reason for hiding this comment

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

Refactored the logic for generating the chain spec and raw chain spec into the generate_chain_spec function.

@AlexD10S AlexD10S marked this pull request as ready for review February 17, 2025 22:24
@codecov
Copy link

codecov bot commented Feb 17, 2025

Codecov Report

Attention: Patch coverage is 59.53757% with 140 lines in your changes missing coverage. Please review.

Project coverage is 75.32%. Comparing base (0f53ec6) to head (3ed1d83).

Files with missing lines Patch % Lines
crates/pop-cli/src/commands/up/rollup.rs 66.23% 41 Missing and 38 partials ⚠️
crates/pop-cli/src/commands/call/chain.rs 58.13% 12 Missing and 6 partials ⚠️
crates/pop-cli/src/common/wallet.rs 0.00% 17 Missing ⚠️
crates/pop-cli/src/commands/build/spec.rs 7.14% 13 Missing ⚠️
crates/pop-cli/src/common/chain.rs 75.00% 0 Missing and 6 partials ⚠️
crates/pop-cli/src/commands/up/mod.rs 70.00% 0 Missing and 3 partials ⚠️
crates/pop-parachains/src/call/mod.rs 0.00% 3 Missing ⚠️
crates/pop-parachains/src/relay.rs 0.00% 1 Missing ⚠️
@@                    Coverage Diff                    @@
##           feat/deploy-parachain     #410      +/-   ##
=========================================================
- Coverage                  75.46%   75.32%   -0.15%     
=========================================================
  Files                         64       66       +2     
  Lines                      14133    14398     +265     
  Branches                   14133    14398     +265     
=========================================================
+ Hits                       10666    10845     +179     
- Misses                      2100     2148      +48     
- Partials                    1367     1405      +38     
Files with missing lines Coverage Δ
crates/pop-parachains/src/relay.rs 82.60% <0.00%> (-0.91%) ⬇️
crates/pop-cli/src/commands/up/mod.rs 78.00% <70.00%> (+0.34%) ⬆️
crates/pop-parachains/src/call/mod.rs 58.68% <0.00%> (+0.34%) ⬆️
crates/pop-cli/src/common/chain.rs 75.00% <75.00%> (ø)
crates/pop-cli/src/commands/build/spec.rs 73.42% <7.14%> (-0.39%) ⬇️
crates/pop-cli/src/common/wallet.rs 8.33% <0.00%> (-4.57%) ⬇️
crates/pop-cli/src/commands/call/chain.rs 76.47% <58.13%> (+1.83%) ⬆️
crates/pop-cli/src/commands/up/rollup.rs 66.23% <66.23%> (ø)

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.

Good start, I couldn't find any clear write up that explains how we are going to implement the pdp integration so I'm not sure what the requirements are apart from how it must work high level. Would be nice to write this up and link in the PR description which will make reviewing this PR and the upcoming ones easier.


/// Reserves a parachain ID by submitting an extrinsic.
async fn reserve_para_id(chain: &Chain, cli: &mut impl Cli) -> Result<u32> {
let call_data = prepare_reserve_para_id_extrinsic(chain)?;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why are we not reusing prepare_extrinsic btw?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It adds unnecessary lines since prepare_extrinsic is more specific to the Chain code. The logic for constructing the extrinsic already exists in the shared construct_extrinsic function, which can be used instead.

}

// Sign and submit an extrinsic using wallet integration.
async fn submit_extrinsic_with_wallet(
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

For context: Moved into common/wallet

Copy link
Contributor

@chungquantin chungquantin left a comment

Choose a reason for hiding this comment

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

The PR looks great! I’ve left some comments with suggestions for improvements.

One thing I noticed while testing the command locally: it was a bit challenging to check my wallet balance and the required cost for reserving the parachain. I only discovered the "insufficient funds" error after going through the entire signing process—connecting my wallet, signing the transaction, and then returning to the terminal.

It would improve the user experience if the command could provide a balance check and estimated cost upfront, preventing unnecessary steps if funds are insufficient. Not sure if this is out of scope for the CLI. But at least, we could improve this on the signing portal by displaying the wallet balance after user connect.

@AlexD10S
Copy link
Collaborator Author

The PR looks great! I’ve left some comments with suggestions for improvements.

One thing I noticed while testing the command locally: it was a bit challenging to check my wallet balance and the required cost for reserving the parachain. I only discovered the "insufficient funds" error after going through the entire signing process—connecting my wallet, signing the transaction, and then returning to the terminal.

It would improve the user experience if the command could provide a balance check and estimated cost upfront, preventing unnecessary steps if funds are insufficient. Not sure if this is out of scope for the CLI. But at least, we could improve this on the signing portal by displaying the wallet balance after user connect.

Good point, I love it! I think it's a great addition to enhance the DevEx.
I’d prefer to handle this in a separate PR since most of the changes are UI changes in the wallet signing portal (pop-wallet-signing-portal). However, I'll include it as part of the task in the main feature PR: #404

let prompt_to_repeat_call = self.requires_user_input();
// Configure the chain.
let chain = self.configure_chain(&mut cli).await?;
let chain = configure_chain(
Copy link
Collaborator Author

@AlexD10S AlexD10S Feb 24, 2025

Choose a reason for hiding this comment

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

Moved configure_chain to a common module (crates/pop-cli/src/common/chain.rs) for better reusability. The logic is now shared in pop up

Copy link
Contributor

@chungquantin chungquantin left a comment

Choose a reason for hiding this comment

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

➜ pop up --path ../base-parachain --relay-url ws://127.0.0.1:53039
┌   Pop CLI : Deploy a chain
│
⚙  Reserving a parachain ID
│
◇  Wallet signing portal started at http://127.0.0.1:9090.
│
◆  Signed payload received.
│
◇  Extrinsic submitted with hash: 0xbabc5903affc0d753f4a00e0c9f27eb29883882c5286f3a4ecb72464ba8b9be0
│
◆  Successfully reserved parachain ID: 2000
│
⚙  Generating the chain spec for your parachain
│
◇  Provide the chain specification to use (e.g. dev, local, custom or a path to an existing file)
│  dev
│
◇  Name or path for the plain chain spec file:
│  ./chain-spec.json
│
◇  Choose the chain type:
│  Development
│
◇  Choose the relay your chain will be connecting to:
│  Paseo Local
│
◇  Choose the build profile of the binary that should be used:
│  Release
│
◇  Enter the protocol ID that will identify your network:
│  my-protocol
│
◇  Genesis artifacts generated successfully.
│
⚙  Registering a parachain ID
│
◇  Wallet signing portal started at http://127.0.0.1:9090.
│
◆  Signed payload received.
│
└  Extrinsic submission error: Rpc(ClientError(Call(ErrorObject { code: ServerError(1010), message: "Invalid Transaction", data: Some(RawValue("Inability to pay some fees (e.g. account balance too low)")) })))

The code looks great. I have one last concern. I tried with base-parachain (which I already generated the chain spec with pop build spec) and when running the command, it popped up the signing portal as expected. However, after I signed and submit, it generates the chain spec again and asking me to sign to register the parachain. But in this case, I don't have sufficient fund so it fails.

  • ✅ Sufficient fund to reserve the parachain ID
  • ❌ Insufficient fund to register the parachain ID

If I run the command again, it asks me to reserve the parachain ID again even though I already reserved the parachain ID. Wonder if it is possible to consider one of the below approaches:

  • Approach 1: Wrap these extrinsics with pallet-utility batch method to make the devex better.
  • Approach 2: Avoid reserving the ID again if it is already reserved. And if I don't have sufficient fund for the later stage (registering the ID), I have an option to continue register instead of having to go through the whole process again.
Screenshot 2025-02-25 at 23 47 57

And I noticed that new genesis state and code is generated on every up command run. I think the devex will be improved significantly if we can detect if there are existing generated files and list them out to select by the user. If no existing files found, we continue with the current flow.

@AlexD10S
Copy link
Collaborator Author

The code looks great. I have one last concern. I tried with base-parachain (which I already generated the chain spec with pop build spec) and when running the command, it popped up the signing portal as expected. However, after I signed and submit, it generates the chain spec again and asking me to sign to register the parachain. But in this case, I don't have sufficient fund so it fails.

  • ✅ Sufficient fund to reserve the parachain ID
  • ❌ Insufficient fund to register the parachain ID

If I run the command again, it asks me to reserve the parachain ID again even though I already reserved the parachain ID. Wonder if it is possible to consider one of the below approaches:

  • Approach 1: Wrap these extrinsics with pallet-utility batch method to make the devex better.
  • Approach 2: Avoid reserving the ID again if it is already reserved. And if I don't have sufficient fund for the later stage (registering the ID), I have an option to continue register instead of having to go through the whole process again.

The option you mentioned already exists, if you specify the --id flag, pop-cli will skip the reserve call. The same applies to generating the genesis state and code: if these are specified in the command line (--genesis-state and --genesis-code), pop-cli won't generate them again.

If you run pop up --help, you'll see the following chain deployment options:

Chain deployment options:
  -i, --id <ID>
          Parachain ID to use. If not specified, a new ID will be reserved

  -G, --genesis-state <GENESIS_STATE>
          Path to the genesis state file. If not specified, it will be generated

  -C, --genesis-code <GENESIS_CODE>
          Path to the genesis code file.  If not specified, it will be generated

Let me know if you have any suggestions on how to make this explanation clearer!

Regarding Approach 1, unfortunately, it’s not possible. After reserving the parachain ID, we need to parse the events to retrieve the parachain ID before proceeding with the parachain registration call. This means the process has to be done in two steps.

@chungquantin chungquantin self-requested a review February 26, 2025 23:49
Copy link
Contributor

@chungquantin chungquantin left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@evilrobot-01 evilrobot-01 left a comment

Choose a reason for hiding this comment

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

General observations/questions:

  • When running pop up --path ../test-chain --relay-url ws://127.0.0.1:49155 should it confirm? Or will it only start once the --relay-url is provided? Consider that someone might just type pop up in the current directory to see the help. A UX improvement might be to show options when using pop up and a rollup is detected, such as a cliclack menu of options, but that might just be something for the future.
  • The current CLI UX is a bit 'cold'. Perhaps a description of what it is doing would be more welcoming and give better guidance to the user. Just prompting for a signature seems a bit dodgy, we should be providing some indication of what is happening and what will be need to be signed - e.g. 'you will be prompted to sign a transaction to reserve a rollup id on the specified relay chain via its Registrar::reserve function'
  • Can we output a link to the PJS portal for the specified relay url as a convenience to the user, like we do when launching a network. The idea here is simply to provide a mechansim so they can see there transaction being executed on the specified relay: "https://polkadot.js.org/apps/?rpc={relay-url}#/explorer"

My general advice would be to always start with naming things more generally and only refactor to something more specific when additional clarity is required. Naming everything very specifically can be unnecessary, requires extra characters and can bring pain when things change. Software evolves, the more precise things are named the more changes are required. Not everything can be foreseen, but starting with more generalised terms can reduce the overhead required in adapting. Also be aware of context and scope.

@@ -1,3 +1,4 @@
// SPDX-License-Identifier: GPL-3.0

pub mod events;
Copy link
Contributor

Choose a reason for hiding this comment

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

Adding this here as cant leave a comment on onboard.rs below. Can this be removed properly so it doesnt appear in the resulting commit?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

#[cfg(feature = "parachain")]
mod network;
#[cfg(feature = "parachain")]
mod parachain;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
mod parachain;
mod rollup;

Copy link
Collaborator Author

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.

Not a fan of this change


#[command(flatten)]
#[cfg(feature = "parachain")]
pub(crate) parachain: parachain::UpChainCommand,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
pub(crate) parachain: parachain::UpChainCommand,
pub(crate) rollup: rollup::UpChainCommand,

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

#[cfg(feature = "parachain")]
if pop_parachains::is_supported(project_path.as_deref())? {
cli.warning("Parachain deployment is currently not implemented.")?;
let mut cmd = args.parachain;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
let mut cmd = args.parachain;
let mut cmd = args.rollup;

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

use std::path::{Path, PathBuf};
use url::Url;

const DEFAULT_URL: &str = "wss://paseo.rpc.amforc.com/";
Copy link
Contributor

Choose a reason for hiding this comment

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

Could be any array of RPCs. Consider that always using the same one can lead to breakages, either due to the RPC being down or it banning the caller due to excessive calls.

Ideally it should be using smoldot tbh.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Not sure about the best approach here. The goal is to provide a default value when prompting the user for the relay chain node URL, but it may not be worth it. In multiple tests, I used the default value only once.
The user probably knows where they want to deploy the chain. Would it be better to remove the default value?

/// # Arguments
/// * `events` - The extrinsic events from a transaction.
pub fn extract_para_id_from_event(events: &ExtrinsicEvents<SubstrateConfig>) -> Result<u32, Error> {
let reserved_event = events.find_first::<Reserved>()?;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
let reserved_event = events.find_first::<Reserved>()?;
events.find_first<T>().ok_or(Error::EventNotFound(T::EVENT.to_string()))

Based on this simplification, the whole function now seems pretty unnecessary as the caller can just do events.find_first<Reserved>()?.ok_or(Error::EventNotFound(T::EVENT.to_string())) instead of calling this function.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Nice! de2b019

///
/// # Arguments
/// * `events` - The extrinsic events from a transaction.
pub fn extract_para_id_from_event(events: &ExtrinsicEvents<SubstrateConfig>) -> Result<u32, Error> {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
pub fn extract_para_id_from_event(events: &ExtrinsicEvents<SubstrateConfig>) -> Result<u32, Error> {
pub fn extract_from_event<T: Event>(events: &ExtrinsicEvents<SubstrateConfig>) -> Result<T, Error> {

trait Event : StaticEvent {
 const EVENT: &'static str;
}

impl Event for Reserved;

let id = relay::events::extract_from_event<Reserved>(events)?.para_id;

Copy link
Contributor

Choose a reason for hiding this comment

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

Slight refactoring and you have a reusable function for any event.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

outdated based on above comment, solved in de2b019

Ok("spec")
}

/// Generates plain and raw chain specification files, and returns the path to the latter.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
/// Generates plain and raw chain specification files, and returns the path to the latter.
/// Generates plain and raw chain specification files, returning the path to the latter.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

pub(crate) fn generate_genesis_artifacts(
self,
cli: &mut impl cli::traits::Cli,
) -> anyhow::Result<(PathBuf, PathBuf)> {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
) -> anyhow::Result<(PathBuf, PathBuf)> {
) -> anyhow::Result<(CodePathBuf, StatePathBuf)> {

Type aliases could improve readability. Not essential tho.

type CodePathBuf = PathBuf;
type StatePathBuf = PathBuf;

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Nice! Used it to improve readability

.map_err(anyhow::Error::from)
}

/// Generates chain specification files and returns the file paths for the generated genesis
Copy link
Contributor

Choose a reason for hiding this comment

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

Comment is wrong order of items in tuple, aliases can improve this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Outdated based on Daan's suggested refactor da5f6d2

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.

Definitely an improvement!

I still think the structure can be simplified and we can and reuse functionality that already exists.

Then we can clearly separate new functionality and write proper unit tests for it.

Haven't tried the flow yet, will do next time.

}

#[tokio::test]
async fn reserve_parachain_id_fails_wrong_chain() -> Result<()> {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why are we not testing reserve_para_id directly? This is basically an integration test as it uses execute

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It's not a big improvement, but this approach has a bit more coverage.

Copy link
Collaborator

Choose a reason for hiding this comment

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

But are we testing the functionality properly? Perhaps we are testing more in general, but are we testing cli input or the underlying functionality of the tool. The latter is done by testing these functions individually, in stead of increasing the coverage due to (assuming) mostly cli input

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, this test specifically ensures that if the chain is incorrect, we handle it properly by displaying an appropriate message to the user. I split the reserve logic into two smaller functions, reserve and prepare_reserve_call_data, to ensure we can test the correctness of the call data. However, we haven't found a way to mock submit_extrinsic in a unit test, making it difficult to test the successful flow of this use case. See the coverage https://app.codecov.io/gh/r0gue-io/pop-cli/blob/feat%2Fpop-up-for-parachain/crates%2Fpop-cli%2Fsrc%2Fcommands%2Fup%2Frollup.rs#L143:


// Sign and submit an extrinsic using wallet integration, then returns the resulting events.
#[cfg(feature = "parachain")]
pub(crate) async fn submit_extrinsic_with_wallet(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Possible to add a unit test here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

In this PR, I only moved this function here. This logic was originally introduced in the wallet signing feature, but we found it very difficult to mock and unit test. I'm always happy to improve test coverage if you have any suggestions.

@AlexD10S AlexD10S force-pushed the feat/pop-up-for-parachain branch from 550102a to 7d3028f Compare March 3, 2025 10:08
@Daanvdplas
Copy link
Collaborator

Daanvdplas commented Mar 4, 2025

With another refactor done I don't think this is an improvement anymore: #410 (comment)

@AlexD10S
Copy link
Collaborator Author

AlexD10S commented Mar 4, 2025

With another refactor done I don't think this is an improvement anymore: #410 (comment)

That’s what I was thinking, but you made a good point, keeping the code in one place and reusing it improves maintainability, if we need to change or extend the logic for a call, we only have to do it in one place.

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.

Everything works! Screenshot 2025-03-05 at 08 28 40

Curious if we can remove the cli's output: ⚙ Encoded call data: 0x4605

Left some other comments but I don't want to block you any longer.

One comment I want your opinion about too: #410 (comment)

// Represents the configuration for rollup registration.
pub(crate) struct Registration {
id: u32,
genesis_state: PathBuf,
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can use those types you created here maybe

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, good point: d7175ff

match self.id {
Some(id) => Ok(id),
None => {
cli.info(format!("Reserving an ID. You will need to sign a transaction to reserve an ID on {} using the `Registrar::reserve` function.", chain.url))?;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
cli.info(format!("Reserving an ID. You will need to sign a transaction to reserve an ID on {} using the `Registrar::reserve` function.", chain.url))?;
cli.info(format!("You will need to sign a transaction to reserve an ID on {}, using the `Registrar::reserve` function.", chain.url))?;

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

impl Registration {
// Registers by submitting an extrinsic.
async fn register(&self, cli: &mut impl Cli) -> Result<()> {
cli.info(format!("Registering. You will need to sign a transaction on {} using the `Registrar::register` function.", self.chain.url))?;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
cli.info(format!("Registering. You will need to sign a transaction on {} using the `Registrar::register` function.", self.chain.url))?;
cli.info(format!("You will need to sign a transaction to register on {}, using the `Registrar::register` function.", self.chain.url))?;

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I like it, improved in d7175ff

async fn register(&self, cli: &mut impl Cli) -> Result<()> {
cli.info(format!("Registering. You will need to sign a transaction on {} using the `Registrar::register` function.", self.chain.url))?;
let call_data = self.prepare_register_call_data(cli)?;
submit_extrinsic(&self.chain.client, &self.chain.url, call_data, cli).await?;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Consistency:

Suggested change
submit_extrinsic(&self.chain.client, &self.chain.url, call_data, cli).await?;
submit_extrinsic(&self.chain.client, &self.chain.url, call_data, cli).await.map_err(|e| anyhow::anyhow!("Registration failed: {}", e))?;
cli.success(format!("Successfully registered))?;

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

};
match config.register(cli).await {
Ok(_) => cli.success(format!(
"Deployment successfully {}",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
"Deployment successfully {}",
"Rollup successfully deployed: {}",

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Since there was still some debate about the term to use, I minimized the use of the word 'only,' keeping it only where necessary. It can be skipped here and be more general

@Daanvdplas
Copy link
Collaborator

That’s what I was thinking, but you made a good point, keeping the code in one place and reusing it improves maintainability, if we need to change or extend the logic for a call, we only have to do it in one place.

construct_extrinsic is also a function that already exists no?

@AlexD10S AlexD10S merged commit 4f594c4 into feat/deploy-parachain Mar 5, 2025
10 of 13 checks passed
@AlexD10S AlexD10S deleted the feat/pop-up-for-parachain branch March 5, 2025 21:45
AlexD10S added a commit that referenced this pull request Mar 5, 2025
* 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
AlexD10S added a commit that referenced this pull request Mar 10, 2025
* 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
AlexD10S added a commit that referenced this pull request Mar 11, 2025
* 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
AlexD10S added a commit that referenced this pull request Mar 17, 2025
* 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
chungquantin pushed a commit that referenced this pull request Mar 19, 2025
* 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
chungquantin pushed a commit that referenced this pull request Mar 24, 2025
* 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
AlexD10S added a commit that referenced this pull request Mar 25, 2025
* 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 <56880684+chungquantin@users.noreply.github.com>

* 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 <alexfraga10@gmail.com>

* 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 <alexfraga10@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants