Skip to content

Release v0.6.1#1444

Merged
Chralt98 merged 7 commits intomainfrom
release-v0.6.1
Aug 26, 2025
Merged

Release v0.6.1#1444
Chralt98 merged 7 commits intomainfrom
release-v0.6.1

Conversation

@Chralt98
Copy link
Copy Markdown
Member

@Chralt98 Chralt98 commented Jul 21, 2025

What does it do?

It updates the spec_version for battery station and zeitgeist main-net to 61, the transaction version to 34. It updates the weights using the benchmarks. It updates the crate versions to v0.6.1.

What important points should reviewers know?

Is there something left for follow-up PRs?

What alternative implementations were considered?

Are there relevant PRs or issues?

References

Summary by CodeRabbit

  • New Features

    • Updated benchmarking data for transaction weights, resulting in more accurate and parameter-sensitive resource usage estimates for numerous pallets and extrinsics.
    • Enhanced weight formulas now reflect input parameters more precisely, improving transaction fee calculation and block resource allocation.
  • Bug Fixes

    • Increased timeout for a specific integration test to improve reliability.
  • Chores

    • Upgraded CI workflows to use newer runner images and cache action versions.
    • Incremented package version numbers across all crates to 0.6.1.
    • Updated runtime specification and transaction versions.
  • Refactor

    • Revised function signatures in weight calculation traits to use input parameters explicitly, enabling more granular and accurate weight computations.

@Chralt98 Chralt98 self-assigned this Jul 21, 2025
@Chralt98 Chralt98 added the s:in-progress The pull requests is currently being worked on label Jul 21, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jul 21, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This update comprehensively refreshes benchmarking weight files across all runtime pallets and modules using new Substrate Benchmark CLI results, reflecting increased execution times and parameterized scaling. It also upgrades workflow dependencies, increments crate versions, and updates runtime version constants. Several weight function signatures now explicitly utilize their input parameters for more precise weight calculations.

Changes

Files/Paths Change Summary
.github/workflows/*.yml Updated CI workflows: switched Swatinem/rust-cache to v2, changed runners to Ubuntu 22.04 for some jobs.
**/Cargo.toml Bumped version numbers for all crates and sub-crates from 0.6.0/0.5.5/0.0.0 to 0.6.1.
runtime/battery-station/src/lib.rs, runtime/zeitgeist/src/lib.rs Incremented runtime spec_version (60→61) and transaction_version (33→34).
integration-tests/tests/rt-upgrade-zeitgeist-chopsticks/test-zeitgeist-chopsticks-runtime-upgrade.ts Increased timeout for a test case from 60s to 120s.
runtime/common/src/weights/*.rs, zrml/*/src/weights.rs Regenerated all pallet and module weight files with new benchmarking data: increased base weights, updated per-parameter multipliers, revised proof sizes, and database operation counts. Many functions now use input parameters explicitly in weight calculations.
(notably: pallet_identity, pallet_collective, pallet_democracy, pallet_preimage, pallet_membership, pallet_proxy, pallet_scheduler, pallet_vesting, pallet_treasury, pallet_parachain_staking, zrml_*::weights.rs) Significant updates to function signatures: unused parameters now used, linear scaling added, and weight formulas recalibrated for all major runtime and custom pallets.
runtime/common/src/weights/pallet_balances.rs Updated weight for upgrade_accounts to use a linear formula based on input u.
zrml/neo-swaps/src/weights.rs, zrml/combinatorial-tokens/src/weights.rs, zrml/court/src/weights.rs, zrml/prediction-markets/src/weights.rs, etc. Updated weight formulas to use parameters explicitly, revised database read/write scaling, and increased execution times based on new benchmarks.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Extrinsic
    participant WeightFunction
    participant BenchmarkData

    User->>Extrinsic: Submit extrinsic with parameters
    Extrinsic->>WeightFunction: Call weight function with parameters
    WeightFunction->>BenchmarkData: Use updated constants and scaling
    WeightFunction-->>Extrinsic: Return calculated weight
    Extrinsic-->>User: Process with new weight
Loading

Estimated code review effort

5 (>120 minutes)

Possibly related PRs

Suggested labels

s:accepted

Poem

A bunny hopped through fields of code,
Updating weights with every load.
Benchmarks fresh, the numbers grew—
Each pallet now reflects what's true!
With versions bumped and tests in tow,
This rabbit's work will help things flow.
🐇✨


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@Chralt98 Chralt98 added s:review-needed The pull request requires reviews and removed s:in-progress The pull requests is currently being worked on labels Jul 21, 2025
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (10)
zrml/futarchy/fuzz/Cargo.toml (1)

23-24: Inherit version from the workspace instead of hard-coding

Because the crate is publish = false, keeping the version in sync brings no semantic benefit and is easy to forget next bump. Let Cargo use the workspace version automatically:

-version = "0.6.1"
+version.workspace = true
zrml/prediction-markets/fuzz/Cargo.toml (1)

20-21: Use version.workspace = true for easier future bumps

Same rationale as the futarchy fuzz crate—inherit the workspace version to remove manual upkeep:

-version = "0.6.1"
+version.workspace = true
zrml/neo-swaps/fuzz/Cargo.toml (1)

35-36: Avoid manual version drift

Consider delegating the version to the workspace:

-version = "0.6.1"
+version.workspace = true
zrml/combinatorial-tokens/fuzz/Cargo.toml (1)

35-36: Optional: inherit version from workspace

Reduces copy-paste errors on future releases:

-version = "0.6.1"
+version.workspace = true
zrml/futarchy/Cargo.toml (1)

65-66: Remember to propagate the 0.6.1 bump to release artefacts (changelog / tag).

version = "0.6.1" looks good, but please double-check the workspace‐level CHANGELOG and make sure the release tag will be created so downstream users can fetch the new crate from crates.io.

zrml/swaps/Cargo.toml (1)

68-69: Ensure workspace root and CI publish script pick up 0.6.1.

The crate version has been updated, but the workspace root Cargo.toml (and any automated publish workflow) must reference the same version to avoid a publish failure.

zrml/orderbook/Cargo.toml (1)

60-61: Version bump acknowledged – consider regenerating docs.rs badge.

After releasing 0.6.1, refresh README badges or docs links that still point to 0.6.0 so users land on the correct documentation.

primitives/Cargo.toml (1)

43-44: Primitives crate version updated – scan for hard-coded semver strings.

Occasionally tests or scripts embed the previous version string. A quick grep for "0.6.0" (outside weight files) will prevent stray mismatches.

.github/workflows/coverage.yml (1)

41-41: Cache action updated, consider aligning other actions

Great to see Swatinem/rust-cache@v2. While touching this workflow, also bump actions/checkout@v2 (line 23) to v3 for the latest performance & bug-fixes:

-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
.github/workflows/benchmark.yml (1)

42-44: Upgrade to Swatinem/rust-cache@v2—confirm compatibility & pin a minor/patch version

v2 of the action revamped cache-key computation and default cargo target-dir handling.
Please double-check that:

  1. The job still restores the expected cache layer (look for unexpected full builds).
  2. No CARGO_TARGET_DIR overrides conflict with the new default.
  3. You pin to a concrete release (v2.x.y) to avoid silent breaking changes in future minor bumps.

Example:

-uses: Swatinem/rust-cache@v2
+uses: Swatinem/rust-cache@v2.7.0
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 57001b9 and 46b716e.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (72)
  • .github/workflows/benchmark.yml (1 hunks)
  • .github/workflows/coverage.yml (1 hunks)
  • .github/workflows/docker-hub-parachain.yml (1 hunks)
  • .github/workflows/integration-tests.yml (9 hunks)
  • .github/workflows/rust.yml (4 hunks)
  • integration-tests/tests/rt-upgrade-zeitgeist-chopsticks/test-zeitgeist-chopsticks-runtime-upgrade.ts (1 hunks)
  • macros/Cargo.toml (1 hunks)
  • node/Cargo.toml (1 hunks)
  • primitives/Cargo.toml (1 hunks)
  • runtime/battery-station/Cargo.toml (1 hunks)
  • runtime/battery-station/src/lib.rs (1 hunks)
  • runtime/common/Cargo.toml (1 hunks)
  • runtime/common/src/weights/cumulus_pallet_parachain_system.rs (2 hunks)
  • runtime/common/src/weights/cumulus_pallet_xcmp_queue.rs (7 hunks)
  • runtime/common/src/weights/frame_system.rs (7 hunks)
  • runtime/common/src/weights/orml_currencies.rs (6 hunks)
  • runtime/common/src/weights/orml_tokens.rs (6 hunks)
  • runtime/common/src/weights/pallet_author_inherent.rs (2 hunks)
  • runtime/common/src/weights/pallet_author_mapping.rs (6 hunks)
  • runtime/common/src/weights/pallet_author_slot_filter.rs (2 hunks)
  • runtime/common/src/weights/pallet_balances.rs (8 hunks)
  • runtime/common/src/weights/pallet_bounties.rs (12 hunks)
  • runtime/common/src/weights/pallet_collective.rs (9 hunks)
  • runtime/common/src/weights/pallet_democracy.rs (26 hunks)
  • runtime/common/src/weights/pallet_identity.rs (17 hunks)
  • runtime/common/src/weights/pallet_membership.rs (8 hunks)
  • runtime/common/src/weights/pallet_message_queue.rs (11 hunks)
  • runtime/common/src/weights/pallet_multisig.rs (4 hunks)
  • runtime/common/src/weights/pallet_parachain_staking.rs (31 hunks)
  • runtime/common/src/weights/pallet_preimage.rs (13 hunks)
  • runtime/common/src/weights/pallet_proxy.rs (6 hunks)
  • runtime/common/src/weights/pallet_scheduler.rs (10 hunks)
  • runtime/common/src/weights/pallet_timestamp.rs (2 hunks)
  • runtime/common/src/weights/pallet_treasury.rs (8 hunks)
  • runtime/common/src/weights/pallet_utility.rs (2 hunks)
  • runtime/common/src/weights/pallet_vesting.rs (10 hunks)
  • runtime/zeitgeist/Cargo.toml (1 hunks)
  • runtime/zeitgeist/src/lib.rs (1 hunks)
  • zrml/authorized/Cargo.toml (1 hunks)
  • zrml/authorized/src/weights.rs (3 hunks)
  • zrml/combinatorial-tokens/Cargo.toml (1 hunks)
  • zrml/combinatorial-tokens/fuzz/Cargo.toml (1 hunks)
  • zrml/combinatorial-tokens/src/weights.rs (9 hunks)
  • zrml/court/Cargo.toml (1 hunks)
  • zrml/court/src/weights.rs (19 hunks)
  • zrml/futarchy/Cargo.toml (1 hunks)
  • zrml/futarchy/fuzz/Cargo.toml (1 hunks)
  • zrml/futarchy/src/weights.rs (4 hunks)
  • zrml/global-disputes/Cargo.toml (1 hunks)
  • zrml/global-disputes/src/weights.rs (9 hunks)
  • zrml/hybrid-router/Cargo.toml (1 hunks)
  • zrml/hybrid-router/src/weights.rs (3 hunks)
  • zrml/market-commons/Cargo.toml (1 hunks)
  • zrml/neo-swaps/Cargo.toml (1 hunks)
  • zrml/neo-swaps/fuzz/Cargo.toml (1 hunks)
  • zrml/neo-swaps/src/weights.rs (11 hunks)
  • zrml/orderbook/Cargo.toml (1 hunks)
  • zrml/orderbook/fuzz/Cargo.toml (1 hunks)
  • zrml/orderbook/src/weights.rs (4 hunks)
  • zrml/parimutuel/Cargo.toml (1 hunks)
  • zrml/parimutuel/src/weights.rs (4 hunks)
  • zrml/prediction-markets/Cargo.toml (1 hunks)
  • zrml/prediction-markets/fuzz/Cargo.toml (1 hunks)
  • zrml/prediction-markets/runtime-api/Cargo.toml (1 hunks)
  • zrml/prediction-markets/src/weights.rs (36 hunks)
  • zrml/styx/Cargo.toml (1 hunks)
  • zrml/styx/src/weights.rs (3 hunks)
  • zrml/swaps/Cargo.toml (1 hunks)
  • zrml/swaps/fuzz/Cargo.toml (1 hunks)
  • zrml/swaps/rpc/Cargo.toml (1 hunks)
  • zrml/swaps/runtime-api/Cargo.toml (1 hunks)
  • zrml/swaps/src/weights.rs (10 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (2)
runtime/common/src/weights/pallet_collective.rs (1)
zrml/court/src/weights.rs (2)
  • vote (59-59)
  • vote (175-185)
zrml/court/src/weights.rs (5)
zrml/court/src/lib.rs (18)
  • join_court (536-547)
  • prepare_exit_court (623-647)
  • vote (722-766)
  • denounce_vote (789-854)
  • reveal_vote (873-938)
  • T (1379-1379)
  • T (1481-1481)
  • T (1840-1840)
  • T (2462-2462)
  • T (2481-2481)
  • T (2500-2500)
  • reassign_court_stakes (1051-1157)
  • set_inflation (1172-1185)
  • handle_inflation (1363-1471)
  • select_participants (1908-1941)
  • on_resolution (2360-2385)
  • exchange (2387-2429)
  • clear (2575-2593)
runtime/common/src/weights/pallet_collective.rs (1)
  • vote (156-167)
runtime/common/src/weights/pallet_parachain_staking.rs (1)
  • set_inflation (70-78)
zrml/authorized/src/lib.rs (3)
  • on_resolution (265-278)
  • exchange (280-294)
  • clear (343-354)
zrml/prediction-markets/src/lib.rs (1)
  • on_resolution (2678-2712)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Summary
🔇 Additional comments (95)
zrml/swaps/rpc/Cargo.toml (1)

14-15: LGTM – version bump looks correct

The RPC crate is publishable, so an explicit version bump is appropriate and aligns with the rest of the workspace.

zrml/styx/src/weights.rs (3)

21-26: Metadata bump looks sane.

Benchmark CLI version, date, steps & host details updated only – no functional impact.
Nothing to action here.


65-73: Cross(): weight numbers updated – please double-check DB IO counts.

reads(2) / writes(1) were kept unchanged while the minimum exec time jumped ~50 %. If the extrinsic logic evolved in parallel with the re-benchmarking, verify that the number of state accesses is still accurate; an under-count would under-price the call.


76-82: set_burn_amount(): nothing to flag.

Minor weight increase only; IO counts unchanged and still correct for a single storage write.

zrml/parimutuel/src/weights.rs (4)

21-26: Benchmark metadata refresh acknowledged.

No concerns with version/host/steps changes themselves.


70-78: buy() weight +60 % — check block-weight ceilings.

New base weight ≈ 119 M. Ensure the maximum weight of a filled block (including proof sizes) still fits within the configured BlockWeights::get().max_block for the runtime; otherwise the extrinsic could become un-dispatchable.


87-95: Similar ceiling concern for claim_rewards().

Weight now ≈ 121 M. Validate against the same runtime limit as above.


104-112: claim_refunds() weight spike.

New weight ≈ 112 M plus 6 kB proof size. Perform the same runtime-limit sanity check.

macros/Cargo.toml (1)

9-9: Version bump to 0.6.1 approved.

Ensure the workspace resolver propagates this to crates that depend on zeitgeist-macros; otherwise all good.

zrml/orderbook/fuzz/Cargo.toml (1)

19-19: Fuzz crate version aligned with workspace – LGTM.

zrml/styx/Cargo.toml (1)

40-40: Crate version bump consistent – no issues.

runtime/zeitgeist/Cargo.toml (1)

440-441: Runtime crate bumped to 0.6.1 – confirm spec_version/transaction_version match.

The crate version now aligns with the runtime constants, but please verify runtime/zeitgeist/src/lib.rs indeed sets spec_version = 61 and transaction_version = 34 to keep on-chain upgrades smooth.

zrml/court/Cargo.toml (2)

52-52: Version bump to 0.6.1 looks good
No functional or metadata issues spotted in this file.


52-52: All workspace crates are on version 0.6.1
No remaining version = "0.6.0" entries were found across any Cargo.toml files.

zrml/parimutuel/Cargo.toml (1)

49-49: Parimutuel crate version bump acknowledged
Change aligns with the workspace release train.

zrml/swaps/runtime-api/Cargo.toml (1)

21-21: Runtime-API crate updated to 0.6.1 – LGTM
No further action required.

zrml/authorized/Cargo.toml (1)

42-42: Authorized crate version bump verified
Consistent with the rest of the workspace.

zrml/hybrid-router/Cargo.toml (1)

100-100: Hybrid-router crate now at 0.6.1 – looks correct
Nothing else to flag.

zrml/global-disputes/Cargo.toml (1)

50-50: Workspace consistency verified

  • The root Cargo.toml’s [workspace.package] section does not declare a version, so there’s nothing to bump.
  • No member Cargo.toml pins zrml-global-disputes = { version = "0.6.0", … } (all references use workspace = true).

Everything is in order for the 0.6.1 bump.

zrml/prediction-markets/runtime-api/Cargo.toml (1)

18-18: Version updated – verify API compatibility

The runtime-API crate moves to 0.6.1. That’s fine, but any downstream crate using a ^0.6 constraint will now resolve to 0.6.1 automatically. If you rely on semver-breaking behaviour, bump the dependency explicitly to avoid unexpected lockfile drift.

.github/workflows/docker-hub-parachain.yml (1)

11-11: Runner upgrade LGTM

Switching the Hadolint job to ubuntu-22.04 is safe and aligns with the current ubuntu-latest image. No further action required.

runtime/battery-station/Cargo.toml (1)

448-448: Crate version bumped – ensure runtime constants match

The crate is now 0.6.1. Confirm that runtime/battery-station/src/lib.rs’s RuntimeVersion block already sets:

spec_version: 61,
transaction_version: 34,

to keep the on-chain upgrade atomic.

node/Cargo.toml (1)

190-194: Version bump looks good

zeitgeist-node is now 0.6.1. No other metadata touched—GTG.
Ensure downstream crates that depend on =0.6.0 are updated, otherwise Cargo may pull two versions.

zrml/neo-swaps/Cargo.toml (1)

108-113: Consistent crate version bump acknowledged

Version aligned to 0.6.1, matching the workspace release. Nothing else changed.

zrml/market-commons/Cargo.toml (1)

33-38: Version updated—no issues

Simple metadata update to 0.6.1. All good.

runtime/common/Cargo.toml (1)

87-92: Runtime common crate bumped to 0.6.1

Change is isolated to package version; dependencies & features untouched. Looks fine.

.github/workflows/integration-tests.yml (2)

15-15: LGTM! Ubuntu runner upgrade improves security and performance.

Upgrading from Ubuntu 20.04 to 22.04 LTS across all jobs is a good practice for better security, performance, and longer support lifecycle.

Also applies to: 51-51, 108-108, 164-164, 219-219


75-75: LGTM! Rust cache action upgrade improves CI performance.

Upgrading from Swatinem/rust-cache@v1 to v2 provides better caching performance and reliability for Rust builds.

Also applies to: 132-132, 188-188, 243-243

integration-tests/tests/rt-upgrade-zeitgeist-chopsticks/test-zeitgeist-chopsticks-runtime-upgrade.ts (1)

111-111: LGTM! Timeout increase accommodates runtime upgrade performance changes.

Doubling the timeout from 60s to 120s for the XCM transfer test is appropriate given the runtime version upgrade and weight recalibrations that may increase execution times.

zrml/combinatorial-tokens/Cargo.toml (1)

70-70: LGTM! Version bump aligns with coordinated v0.6.1 release.

The version update from 0.5.5 to 0.6.1 brings this crate in line with the broader version synchronization across the codebase as part of this release.

zrml/prediction-markets/Cargo.toml (1)

97-97: LGTM! Standard patch version increment for coordinated release.

The version bump from 0.6.0 to 0.6.1 is consistent with the coordinated release that includes weight recalibrations and other improvements.

zrml/swaps/fuzz/Cargo.toml (1)

70-70: LGTM! Fuzz package version alignment improves consistency.

Updating from 0.0.0 to 0.6.1 brings this fuzz testing package into alignment with the main project versioning, which is good practice for workspace consistency.

runtime/zeitgeist/src/lib.rs (1)

92-95: LGTM! Version increments are properly coordinated.

The runtime version updates correctly increment both spec_version (60→61) and transaction_version (33→34), which aligns with the coordinated runtime upgrade described in the PR objectives.

runtime/battery-station/src/lib.rs (1)

94-97: LGTM! Version consistency maintained across runtimes.

The battery-station runtime version updates match the zeitgeist runtime exactly (spec_version: 60→61, transaction_version: 33→34), ensuring proper coordination between runtime variants.

.github/workflows/rust.yml (1)

34-34: LGTM! Consistent dependency upgrade across all jobs.

The update from Swatinem/rust-cache@v1 to @v2 is applied consistently across all workflow jobs (format, checks, test_standalone, test_parachain, fuzz), which improves caching performance and maintains workflow reliability.

Also applies to: 67-67, 118-118, 144-144, 175-175

runtime/common/src/weights/pallet_author_inherent.rs (2)

21-24: LGTM! Benchmarking environment properly updated.

The weight file correctly reflects the new benchmarking setup with Substrate CLI v48.0.0 and AMD EPYC 7713 processor, ensuring weights are based on current tooling and hardware.


73-74: Execution time increases are expected and consistent across weight updates

A spot-check of other updated weight files shows their minimum execution times vary with extrinsic complexity, and none exhibit an unexpected regression:

  • pallet_author_inherent.rs: increased from ~12.94 µs to ~27.58 µs (complex inherent logic)
  • cumulus_pallet_xcmp_queue.rs: updated measurements range from ~4.64 µs up to ~19.88 µs depending on queue operations

These changes align with the switch to AMD EPYC 7713 benchmarking hardware and the differing workloads of each extrinsic. No further adjustments required.

runtime/common/src/weights/pallet_bounties.rs (2)

21-24: LGTM! Consistent benchmarking environment with other weight files.

The benchmarking metadata matches the systematic update across the runtime, using Substrate CLI v48.0.0 and AMD EPYC 7713 processor for consistent weight calculations.


70-74: LGTM! Comprehensive weight recalibration across all extrinsics.

All bounty extrinsics show increased execution times consistent with the new benchmarking environment. The parameter-based scaling factors (for d and b components) have also been properly recalibrated, ensuring accurate weight estimation for variable-sized operations.

Also applies to: 85-87, 96-98, 109-111, 122-124, 133-135, 148-150, 163-165, 178-180, 189-191, 205-209

runtime/common/src/weights/orml_tokens.rs (2)

21-25: LGTM: Benchmarking metadata updated correctly.

The benchmarking environment has been properly updated to reflect the new CLI version 48.0.0, increased steps/repeats for better accuracy, and the AMD EPYC 7713 hardware platform.


62-120: Weight increases are consistent with improved benchmarking methodology.

All weight functions show significant increases in execution times (roughly doubling or more), which is expected given:

  • More thorough benchmarking with 50 steps and 20 repeats
  • Different hardware platform (AMD EPYC 7713 vs previous Ryzen)
  • Updated Substrate CLI version 48.0.0

The database operations and proof sizes remain unchanged, indicating the increases are purely from more accurate execution time measurements.

runtime/common/src/weights/pallet_author_slot_filter.rs (3)

21-25: LGTM: Benchmarking environment updated consistently.

The metadata reflects the same systematic updates as other weight files in this PR - CLI version 48.0.0, improved benchmarking parameters, and AMD EPYC hardware.


32-32: Runtime path updated to production build.

The runtime path has been updated from release to production build, which is consistent with the overall benchmarking improvements in this PR.


63-64: Weight increase is reasonable and consistent.

The modest increase in execution time (7,960 ns vs previous ~7,790 ns) and base weight adjustment aligns with the more thorough benchmarking methodology used across all weight files in this PR.

runtime/common/src/weights/orml_currencies.rs (2)

21-25: LGTM: Consistent benchmarking environment updates.

The benchmarking metadata matches the systematic updates across all weight files in this PR, ensuring consistency in the recalibration effort.


62-114: Weight increases align with systematic re-benchmarking.

All currency-related weight functions show significant increases in execution times, consistent with:

  • More rigorous benchmarking (50 steps, 20 repeats)
  • AMD EPYC 7713 hardware platform
  • Updated Substrate CLI version

The database read/write counts and proof sizes remain unchanged, confirming these are purely execution time recalibrations.

runtime/common/src/weights/cumulus_pallet_xcmp_queue.rs (2)

21-25: LGTM: Benchmarking environment consistently updated.

The metadata reflects the same systematic improvements as other weight files, with date 2025-07-11 indicating this was part of the coordinated re-benchmarking effort.


63-161: Significant weight increases are justified by improved benchmarking.

All XCMP queue operations show substantial weight increases, particularly the complex message processing functions (on_idle_good_msg and on_idle_large_msg). These increases are consistent with:

  • More thorough benchmarking methodology (50 steps, 20 repeats)
  • AMD EPYC 7713 hardware platform
  • Updated tooling and more conservative weight estimates

The database operations and proof sizes remain unchanged, confirming these are execution time recalibrations.

runtime/common/src/weights/cumulus_pallet_parachain_system.rs (2)

21-25: LGTM: Benchmarking environment updated consistently.

The metadata matches the systematic updates across all weight files, ensuring coordinated recalibration of the entire runtime.


74-81: Significant weight increases reflect more accurate benchmarking.

The substantial increases in both base weight (~1.79M to ~4.03M) and per-parameter multiplier (~234M to ~454M) are justified by:

  • More thorough benchmarking with 50 steps and 20 repeats
  • AMD EPYC 7713 hardware providing more realistic performance characteristics
  • Decreased standard error indicating more precise measurements

This function handles critical parachain message processing, so accurate weight estimation is essential for network security and performance.

runtime/common/src/weights/pallet_author_mapping.rs (2)

21-25: LGTM: Systematic benchmarking environment update

The metadata correctly reflects the updated Substrate Benchmark CLI version 48.0.0, new AMD EPYC 7713 CPU, and improved benchmarking parameters (50 steps, 20 repeats vs. previous 2 steps, 0 repeats).


67-68: Weight increases are reasonable for the new benchmarking environment

All weight functions show increased execution times, which is expected given the different CPU architecture (AMD EPYC 7713 vs. previous AMD Ryzen 9 7950X3D) and more rigorous benchmarking parameters. The increases are consistent across all functions.

Also applies to: 80-81, 95-96, 110-111, 125-126

runtime/common/src/weights/pallet_timestamp.rs (2)

21-25: LGTM: Consistent benchmarking environment update

The metadata updates match the pattern established across all weight files in this PR, reflecting the improved benchmarking setup.


63-64: Weight increases are consistent with new benchmarking environment

Both set() and on_finalize() functions show increased execution times appropriate for the AMD EPYC 7713 CPU and enhanced benchmarking parameters.

Also applies to: 72-73

zrml/futarchy/src/weights.rs (3)

21-25: LGTM: Benchmarking environment updated consistently

The metadata reflects the same systematic updates seen across all weight files in this PR.


70-71: Weight increases are appropriate for the new benchmarking setup

The increased execution times for submit_proposal and maybe_schedule_proposal are consistent with the pattern observed across other pallets.

Also applies to: 81-82


91-98: Excellent improvement: Parameter n now properly utilized in weight calculation

The take_proposals function now correctly scales weight based on the number of proposals (n) with a linear formula (base + coefficient * n) instead of using a fixed weight. This provides more accurate weight estimation that scales with the actual workload.

zrml/authorized/src/weights.rs (3)

21-25: LGTM: Consistent benchmarking environment update

The metadata updates follow the established pattern across all weight files in this PR.


75-82: Excellent improvement: Parameter m now properly utilized

The authorize_market_outcome_first_report function now correctly scales weight based on the number of markets (m) with linear scaling, providing more accurate weight estimation. The measured values also properly reflect the parameter dependency.


94-95: Weight increases are consistent with new benchmarking environment

All other weight functions show appropriate increases in execution times reflecting the AMD EPYC 7713 CPU and enhanced benchmarking parameters.

Also applies to: 103-104, 112-113, 121-122, 130-131, 137-138, 145-145, 153-154

runtime/common/src/weights/pallet_message_queue.rs (2)

21-25: LGTM: Benchmarking environment updated consistently

The metadata follows the same systematic pattern established across all weight files in this PR.


65-66: Weight increases reflect new benchmarking environment accurately

All weight functions show increased execution times consistent with the AMD EPYC 7713 CPU and enhanced benchmarking parameters. Note that some operations like service_page_item (~387ms) and execute_overweight_page_updated (~304ms) have high execution times, which accurately reflects the complexity of these message queue operations.

Also applies to: 78-79, 89-90, 100-101, 111-112, 124-125, 135-136, 148-149, 161-162, 174-175

runtime/common/src/weights/pallet_treasury.rs (1)

94-107: Validate p upper bound to keep weight accurate

on_initialize_proposals now charges 31 870 566 per additional proposal under the assumption p ≤ 99.
Please confirm the runtime enforces this limit (or otherwise clamps p), or bump the weight formula to cover the true maximum to avoid under-estimation.

zrml/orderbook/src/weights.rs (1)

70-74: Regenerated weights look sound

The new constants align with the upgraded benchmark tooling; no functional issues spotted.

zrml/hybrid-router/src/weights.rs (2)

83-101: Ensure n and o are range-checked

buy assumes n ∈ [2,16] and o ≤ 10. Dispatchable code must reject larger values or the weight will be under-charged.


124-142: Same concern for sell

sell relies on the same bounds (n ≤ 10, o ≤ 10). Please verify the runtime enforces these limits.

runtime/common/src/weights/pallet_utility.rs (1)

58-66: Lean linear model LGTM

Moving from giant constants to a per-call linear charge greatly improves accuracy. No further issues noticed.

runtime/common/src/weights/pallet_balances.rs (1)

134-148: Enforce u ceiling for upgrade_accounts

Weight is computed for u ≤ 1000. Make sure the extrinsic rejects or clamps higher values, otherwise the chain can be under-charged.

runtime/common/src/weights/frame_system.rs (2)

132-143: Good: Parameter p is now properly utilized in weight calculations

The kill_prefix function now correctly uses the p parameter in its weight formula, adding linear scaling for both computation and database operations. This is a significant improvement over the previous version where p was ignored.


94-102: Verify the significant weight increase for code update operations

The minimum execution time for set_code has approximately doubled from the previous benchmarks. While this could be due to hardware differences and more comprehensive benchmarking, please verify that this aligns with expected performance on the target hardware.

runtime/common/src/weights/pallet_multisig.rs (1)

58-66: LGTM! Parameter usage improvements enhance weight accuracy

All weight functions now properly utilize their input parameters, particularly s (number of signatories), which was previously ignored. This ensures weight calculations accurately reflect the computational complexity that scales with the number of signatories.

runtime/common/src/weights/pallet_vesting.rs (1)

201-213: Excellent: Linear scaling with lock count now properly implemented

The not_unlocking_merge_schedules, unlocking_merge_schedules, and force_remove_vesting_schedule functions now correctly incorporate the l parameter (number of locks) in their weight calculations. This ensures accurate weight estimation based on the actual computational complexity.

zrml/combinatorial-tokens/src/weights.rs (1)

225-235: Confirm inclusion of n in weight calculations

The generated weight functions for redeem_position_sans_parent and redeem_position_with_parent currently ignore the n parameter, but the underlying logic loops over n items (as shown in benchmarking and the pallet implementation):

• In zrml/combinatorial-tokens/src/weights.rs

  • fn redeem_position_sans_parent(_n: u32, m: u32) -> Weight { … }
  • fn redeem_position_with_parent(_n: u32, m: u32) -> Weight { … }

• The redeem_position extrinsic iterates over an index_set of size n + 1, so its cost should grow with n.

Please verify whether the omission of an .saturating_mul(n.into()) term (or similar) is intentional. If not, regenerate the benchmarks or adjust the weight formulas to account for the linear dependency on n.

runtime/common/src/weights/pallet_scheduler.rs (2)

96-107: Significant improvement: Realistic weight calculation for fetching tasks

The service_task_fetched function now has a reasonable linear weight formula instead of an extremely large fixed value. The weight now properly scales with the size parameter s, and the proof mode correctly changed to Measured for variable-size storage.


71-81: Good: Scheduler functions now properly account for agenda size

All scheduler weight functions now correctly incorporate the s parameter (agenda size) in their calculations, ensuring accurate weight estimation based on the number of scheduled items.

runtime/common/src/weights/pallet_collective.rs (3)

134-149: LGTM! Parameters are now properly utilized in weight calculations.

The removal of underscore prefixes and the inclusion of all parameters (b, m, p) in the weight formula improves the accuracy of weight estimations.


156-167: LGTM! Parameter m is now properly utilized.

The weight function correctly incorporates the linear scaling factor based on the number of members.


287-298: LGTM! Parameter p is now properly utilized.

The weight calculation correctly scales with the number of proposals.

zrml/neo-swaps/src/weights.rs (1)

318-331: Weight generation intentionally ignores _m

Benchmark regressions for deploy_combinatorial_pool showed no measurable dependency on the m (fuel) parameter, so the autogenerated weight function correctly omits _m. No changes are needed.

• Location: zrml/neo-swaps/src/weights.rs, function deploy_combinatorial_pool(n, _m)

runtime/common/src/weights/pallet_membership.rs (1)

66-199: LGTM! All weight functions properly utilize the m parameter.

The updates consistently incorporate the membership count parameter m into weight calculations across all functions, improving the accuracy of weight estimations.

zrml/swaps/src/weights.rs (1)

79-92: LGTM! Asset count parameter properly incorporated.

The weight functions correctly scale with the number of assets involved in pool operations.

runtime/common/src/weights/pallet_democracy.rs (2)

257-269: LGTM! Referendum count parameter properly utilized.

The weight calculations correctly scale with the number of referendums being processed.


283-295: LGTM! Launch period variant properly scales with referendum count.

The weight function correctly accounts for the additional complexity when handling the launch period.

runtime/common/src/weights/pallet_preimage.rs (2)

66-76: LGTM! Parameter usage in weight calculations is now explicit.

The function signature and weight calculation have been correctly updated to use the s parameter explicitly, which improves clarity and accuracy of the weight estimations.


238-258: Incorrect assumption about base DB operations in ensure_updated

The storage‐access counts in ensure_updated correctly match the number of items read and written per element—there are no extra “base” reads or writes beyond those. Specifically:

  • Doc comments list three storages with reads (StatusFor, System::Account, Balances::Holds) and four storages with writes (adds Preimage::RequestStatusFor) per element.
  • The code uses
    .reads(3 * n)
    .writes(4 * n)
    with no standalone reads(...) or writes(...) outside the n‐multiplied calls.
  • Thus there’s no off‐by‐one or unexpected extra DB operations; the counts align perfectly with the documented accesses.

Please disregard the previous request to verify additional base reads/writes—they do not exist.

Likely an incorrect or invalid review comment.

runtime/common/src/weights/pallet_proxy.rs (1)

60-69: Parameter usage improvements are consistent and correct.

All weight functions in this file have been properly updated to use their parameters explicitly. The linear scaling with saturating additions and standard error annotations follow best practices for weight calculations.

zrml/global-disputes/src/weights.rs (2)

79-91: Good optimization in parameter usage for weight calculations.

The function now correctly uses both o and v parameters in its weight calculation, providing more accurate scaling based on the number of outcomes and votes.


208-221: Parameter o is marked as unused in both functions.

Both purge_outcomes and refund_vote_fees have marked the o parameter as unused (_o). This suggests the benchmarking revealed that the number of outcomes doesn't significantly impact the weight for these operations. This is a valid optimization if confirmed by benchmarks.

Also applies to: 228-241

zrml/court/src/weights.rs (2)

88-98: Excellent parameter utilization in weight calculations.

The join_court function now properly scales weight based on the number of jurors (j), providing more accurate weight estimations for different jury pool sizes.


256-272: Complex weight calculation for appeal function looks correct.

The function properly accounts for multiple parameters (j, a) in its weight calculation, with appropriate scaling for database operations. The large standard errors (58M for a) reflect the significant variability in this operation, which is expected for appeal operations.

runtime/common/src/weights/pallet_identity.rs (1)

60-70: Consistent and correct parameter usage across all identity functions.

All weight functions in the identity pallet have been properly updated to:

  • Use parameters explicitly in weight calculations
  • Scale database operations appropriately with parameters
  • Include standard error annotations for precision

These changes align with the broader update pattern across all pallets and should provide more accurate weight estimations.

Also applies to: 74-84, 92-105, 113-124

runtime/common/src/weights/pallet_parachain_staking.rs (2)

19-44: Benchmarking update looks comprehensive and well-executed.

The weight file has been regenerated with significant improvements:

  • Updated to Substrate Benchmark CLI v48.0.0
  • Increased benchmarking rigor (50 steps, 20 repeats vs previous 2 steps, 0 repeats)
  • New hardware environment (AMD EPYC 7713 vs AMD Ryzen 9 7950X3D)

These changes should provide more accurate and reliable weight measurements.


166-177: Excellent improvement in weight calculation precision.

The weight functions now properly utilize their input parameters in the weight calculations, replacing the previous practice of ignoring them with underscore prefixes. This provides more accurate scaling based on actual computational complexity, which is crucial for proper fee estimation and resource management.

The addition of standard error annotations also helps understand the statistical variance in the measurements.

Also applies to: 183-194, 216-229, 252-265, 271-282, 288-299, 305-316, 330-341, 366-377, 391-402, 419-430, 450-461, 467-478, 573-584, 599-609, 726-740, 764-781, 852-865

zrml/prediction-markets/src/weights.rs (2)

19-44: Consistent benchmarking update across the codebase.

This file follows the same benchmarking update pattern:

  • Substrate Benchmark CLI v48.0.0
  • AMD EPYC 7713 processor with 50 steps and 20 repeats
  • Proper parameter usage in weight calculations

The consistency across different pallets ensures uniform weight accuracy throughout the runtime.


314-324: Parameter usage accurately reflects computational complexity.

Functions like start_global_dispute and schedule_early_close_as_authority correctly ignore the n parameter in their weight calculations, indicating that these operations don't scale with that particular input. This selective parameter usage provides more accurate fee estimation compared to the previous approach of ignoring all parameters.

Also applies to: 603-613

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jul 21, 2025

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 78.13411% with 150 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.32%. Comparing base (57001b9) to head (1ecc175).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
zrml/neo-swaps/src/weights.rs 69.60% 38 Missing ⚠️
zrml/swaps/src/weights.rs 40.00% 36 Missing ⚠️
zrml/court/src/weights.rs 77.55% 33 Missing ⚠️
zrml/hybrid-router/src/weights.rs 0.00% 18 Missing ⚠️
zrml/prediction-markets/src/weights.rs 96.19% 7 Missing ⚠️
zrml/orderbook/src/weights.rs 0.00% 6 Missing ⚠️
zrml/parimutuel/src/weights.rs 0.00% 6 Missing ⚠️
zrml/styx/src/weights.rs 0.00% 4 Missing ⚠️
zrml/futarchy/src/weights.rs 77.77% 2 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1444      +/-   ##
==========================================
- Coverage   93.38%   93.32%   -0.06%     
==========================================
  Files         181      181              
  Lines       34625    34769     +144     
==========================================
+ Hits        32334    32448     +114     
- Misses       2291     2321      +30     
Flag Coverage Δ
tests 93.32% <78.13%> (-0.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

@mergify mergify bot added s:in-progress The pull requests is currently being worked on and removed s:review-needed The pull request requires reviews labels Jul 21, 2025
@Chralt98 Chralt98 added s:review-needed The pull request requires reviews and removed s:in-progress The pull requests is currently being worked on labels Jul 21, 2025
@mergify mergify bot added s:in-progress The pull requests is currently being worked on and removed s:review-needed The pull request requires reviews labels Jul 21, 2025
@Chralt98 Chralt98 added s:review-needed The pull request requires reviews and removed s:in-progress The pull requests is currently being worked on labels Jul 21, 2025
@Chralt98 Chralt98 changed the title Update versions to v0.6.1 and weights Release v0.6.1 Jul 22, 2025
@daniellereyes daniellereyes requested review from saboonikhil and removed request for saboonikhil July 27, 2025 05:59
@Chralt98 Chralt98 added s:accepted This pull request is ready for merge and removed s:review-needed The pull request requires reviews labels Aug 26, 2025
@Chralt98 Chralt98 merged commit a842367 into main Aug 26, 2025
31 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

s:accepted This pull request is ready for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants