Skip to content

pallet-revive: minor cleanups and fixes#11054

Merged
pgherveou merged 20 commits intomasterfrom
pg/revive-cleanup
Feb 13, 2026
Merged

pallet-revive: minor cleanups and fixes#11054
pgherveou merged 20 commits intomasterfrom
pg/revive-cleanup

Conversation

@pgherveou
Copy link
Copy Markdown
Contributor

@pgherveou pgherveou commented Feb 12, 2026

Summary

Preparatory cleanup PR extracted from the EIP-7702 branch to simplify review.

  • Counter.sol uint64: Change uint256 to uint64 in Counter/NestedCounter fixtures, to avoid U256 conversion in tests.
  • Debug log: Add debug log for eth_transact substrate tx hash
  • RLP fix: Fix Transaction7702Signed decoder field order (removed incorrect gas_price field at index 4, aligned with encoder)

@pgherveou pgherveou requested a review from a team as a code owner February 12, 2026 08:30
@pgherveou
Copy link
Copy Markdown
Contributor Author

/cmd prdoc --audience runtime_dev --bump patch

2 similar comments
@pgherveou
Copy link
Copy Markdown
Contributor Author

/cmd prdoc --audience runtime_dev --bump patch

@pgherveou
Copy link
Copy Markdown
Contributor Author

/cmd prdoc --audience runtime_dev --bump patch

@github-actions
Copy link
Copy Markdown
Contributor

Command "prdoc --audience runtime_dev --bump patch" has failed ❌! See logs here

@github-actions
Copy link
Copy Markdown
Contributor

Command "prdoc --audience runtime_dev --bump patch" has failed ❌! See logs here

@pgherveou pgherveou added the T7-smart_contracts This PR/Issue is related to smart contracts. label Feb 13, 2026
Change Counter.sol and NestedCounter.sol fields from uint256 to uint64.
This changes the Solidity storage packing layout (uint64 + address fit
in a single slot). Update prestate_diff_mode_tracing_works test
accordingly.
Remove the k256 dependency from pallet-revive. Migrate benchmark
signing helpers (create_test_signer, create_signed_transaction,
setup_finalize_block_benchmark) to use sp_core::ecdsa::Pair instead
of k256::ecdsa::SigningKey.
Fix indentation of closure body in call.rs and remove stray blank
line in lib.rs.
Remove incorrect gas_price field from the decoder (index 4) which was
not present in the encoder, and shift subsequent field indices down.
Add ..Default::default() for any remaining fields. This aligns the
decoder with the encoder and the EIP-7702 specification.
Upgrade pallet-revive and pallet-revive-eth-rpc to edition = "2024".

Key changes:
- Remove unnecessary `ref` in match patterns (match ergonomics v2)
- Use if-let chains to flatten nested conditionals
- Reformat imports per Rust 2024 style (cargo +nightly fmt)
@pgherveou
Copy link
Copy Markdown
Contributor Author

oups claude forced push for me, fixed my config so it merge and update next time

@pgherveou pgherveou enabled auto-merge February 13, 2026 09:01
@pgherveou
Copy link
Copy Markdown
Contributor Author

/cmd prdoc --audience runtime_dev --bump patch

@0xRVE
Copy link
Copy Markdown
Contributor

0xRVE commented Feb 13, 2026

In the future could you split this up into two PRs:

  1. real code changes
  2. formatting changes

Comment thread substrate/frame/revive/src/evm/api/rlp_codec.rs
Comment thread substrate/frame/revive/src/evm/api/rpc_types_gen.rs
Comment thread substrate/frame/revive/src/evm/api/rlp_codec.rs Outdated
target: LOG_TARGET,
"eth_transact substrate tx hash: 0x{}",
sp_core::hexdisplay::HexDisplay::from(&sp_core::hashing::blake2_256(&self.encode())),
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think this can be quite spammy so maybe should be trace in stead of debug?

Comment thread substrate/frame/revive/src/tests/sol/host.rs
Comment thread substrate/frame/revive/src/exec.rs
@pgherveou pgherveou requested review from a team as code owners February 13, 2026 11:40
Comment thread substrate/frame/revive/src/evm/runtime.rs Outdated
…10.9

The Cargo.lock had a mass dependency update that bumped curl-sys (needs
OpenSSL 3.0+), slotmap (deprecated HopSlotMap), assert_cmd (deprecated
cargo_bin), and schemars (dual versions breaking staging-xcm JsonSchema).
Reset to master's lockfile with only necessary changes.

Also bump parity-publish from 0.10.6 to 0.10.9 in all CI workflows.
The old version embeds Cargo 1.83.0 which doesn't support edition 2024,
while 0.10.9 uses Cargo 0.94.0 (Rust 1.87+) which does.
parity-publish 0.10.9 requires Rust 1.90+, but CI uses Rust 1.88.0.
Revert to 0.10.6 which is compatible with Rust 1.88.

Fixes failing check-publish, check-publish-compile, and check-semver jobs.
The pallet-revive and pallet-revive-eth-rpc crates use edition = "2024"
which requires the unstable edition2024 cargo feature.

Add cargo-features = ["edition2024"] to enable this feature.
The removal of the incorrect gas_price field from Transaction7702Unsigned
is technically a breaking API change, but it's a bug fix for a non-functional
field that was incorrectly present in the decoder. Override semver validation
for this pre-1.0 crate.
Edition 2024 became stable in Rust 1.85.0, and the CI uses Rust 1.88.0,
so the cargo-features declaration is no longer needed.
This reverts the previous commit. The cargo-features declaration is still
needed because Cargo 1.83.0 (used in CI) requires it for edition 2024.
@pgherveou pgherveou added this pull request to the merge queue Feb 13, 2026
Merged via the queue into master with commit 6ed9519 Feb 13, 2026
257 of 259 checks passed
@pgherveou pgherveou deleted the pg/revive-cleanup branch February 13, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T7-smart_contracts This PR/Issue is related to smart contracts.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants