Skip to content

Conversation

@AlexD10S
Copy link
Collaborator

@AlexD10S AlexD10S commented Sep 28, 2025

This PR upgrades pop-cli to use the latest ink! v6.0.0-beta.
To install it:

cargo install --git https://github.com/r0gue-io/pop-cli.git --branch  v6.0.0-alpha.4 --locked
  • Remove the feature flag polkavm-contracts and wasm-contracts to provides support for a single contract type v6 which closes Make polkavm the default #607

  • While updating to the latest ink! version, I also had to update the Polkadot SDK dependencies to resolve compatibility issues and fix several Clippy warnings introduced by these updates, which adds some noise to the PR.

  • This PR allow introduces a new --metadata flag to the pop build command, allowing users to specify the contract metadata: ink! or solidity. (Initially done in feat: add metadata specification flag to pop build for polkavm contracts #567)

To test
In the Cargo.toml of your contract include:

[package.metadata.ink-lang]
abi="sol"

Then, build the contract with the desired metadata format:

pop build --release --metadata solidity

Closes #549

@codecov
Copy link

codecov bot commented Sep 28, 2025

Codecov Report

❌ Patch coverage is 45.45455% with 54 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.00%. Comparing base (b065712) to head (7a77728).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
crates/pop-contracts/src/up.rs 0.00% 14 Missing ⚠️
crates/pop-cli/src/commands/call/contract.rs 40.00% 9 Missing ⚠️
crates/pop-cli/src/commands/call/chain.rs 22.22% 6 Missing and 1 partial ⚠️
crates/pop-contracts/src/build.rs 0.00% 3 Missing and 1 partial ⚠️
crates/pop-cli/src/commands/up/contract.rs 0.00% 3 Missing ⚠️
crates/pop-chains/src/bench/mod.rs 0.00% 0 Missing and 2 partials ⚠️
crates/pop-cli/src/commands/build/contract.rs 0.00% 2 Missing ⚠️
crates/pop-chains/src/build/mod.rs 0.00% 1 Missing ⚠️
crates/pop-chains/src/call/mod.rs 0.00% 1 Missing ⚠️
crates/pop-chains/src/relay.rs 0.00% 1 Missing ⚠️
... and 10 more
@@            Coverage Diff             @@
##             main     #645      +/-   ##
==========================================
- Coverage   77.08%   77.00%   -0.08%     
==========================================
  Files         109      110       +1     
  Lines       24785    24811      +26     
  Branches    24785    24811      +26     
==========================================
+ Hits        19105    19106       +1     
- Misses       3671     3694      +23     
- Partials     2009     2011       +2     
Files with missing lines Coverage Δ
crates/pop-chains/src/bench/binary.rs 85.10% <100.00%> (ø)
crates/pop-cli/src/commands/call/mod.rs 85.54% <ø> (ø)
crates/pop-cli/src/commands/mod.rs 68.00% <ø> (ø)
crates/pop-cli/src/commands/new/mod.rs 77.61% <ø> (ø)
crates/pop-cli/src/commands/up/mod.rs 71.42% <ø> (ø)
crates/pop-cli/src/common/binary.rs 72.65% <ø> (ø)
crates/pop-cli/src/common/contracts.rs 75.41% <ø> (-7.92%) ⬇️
crates/pop-cli/src/common/mod.rs 100.00% <ø> (ø)
crates/pop-cli/src/main.rs 88.57% <100.00%> (ø)
crates/pop-common/src/lib.rs 83.82% <ø> (ø)
... and 25 more

... and 2 files with indirect coverage changes

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

@AlexD10S AlexD10S changed the title feat: using ink! v6.0.0 alpha.4 feat: using ink! v6.0.0-beta Oct 30, 2025
@AlexD10S AlexD10S requested a review from Copilot October 30, 2025 20:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR consolidates ink! contract support by removing the v5/v6 feature flags and standardizing on ink! v6.0.0-beta. The changes update dependencies, remove conditional compilation, and simplify the codebase by eliminating version-specific code paths.

Key changes:

  • Consolidates from separate v5 and v6 features to a single contract feature
  • Updates all dependencies to newer versions (subxt 0.44.0, ink 6.0.0-beta, sp-core 38.0.0, etc.)
  • Removes conditional compilation with #[cfg(feature = "v5/v6")] throughout the codebase

Reviewed Changes

Copilot reviewed 46 out of 48 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Cargo.toml Updates dependencies to newer versions, consolidates contract-related dependencies
crates/pop-cli/Cargo.toml Simplifies features by removing v5/v6 distinctions, consolidates to single contract feature
crates/pop-contracts/Cargo.toml Removes optional dependencies, makes contract dependencies required
crates/pop-contracts/src/*.rs Removes conditional compilation and version-specific code paths
crates/pop-cli/src/commands/*.rs Updates feature flags from polkavm-contracts/wasm-contracts to contract
Testing files Updates test contract artifacts to v6 format

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@AlexD10S AlexD10S marked this pull request as ready for review October 31, 2025 08:01
Copy link
Collaborator

@tsenovilla tsenovilla left a comment

Choose a reason for hiding this comment

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

This is great!

Too many changes but mostly related to the flags removal :)

Copy link
Collaborator

@moliholy moliholy left a comment

Choose a reason for hiding this comment

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

All good! Thanks a lot for getting rid of so many feature flags and greatly simplifying the codebase! 🙏

@AlexD10S AlexD10S merged commit 35e6ec9 into main Oct 31, 2025
19 checks passed
@AlexD10S AlexD10S deleted the v6.0.0-alpha.4 branch October 31, 2025 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

4 participants