Skip to content

chore(deps): bump ed25519-dalek from 2.2.0 to 3.0.0 - #827

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ed25519-dalek-3.0.0
Open

chore(deps): bump ed25519-dalek from 2.2.0 to 3.0.0#827
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ed25519-dalek-3.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 9, 2026

Copy link
Copy Markdown
Contributor

Bumps ed25519-dalek from 2.2.0 to 3.0.0.

Changelog

Sourced from ed25519-dalek's changelog.

3.0.0

  • Update the digest dependency to 0.9. This requires a major version because the digest traits are part of the public API, but there are otherwise no changes to the API.

2.1.0

  • Make Scalar::from_bits a const fn, allowing its use in const contexts.

2.0.0

  • Fix a data modeling error in the serde feature pointed out by Trevor Perrin which caused points and scalars to be serialized with length fields rather than as fixed-size 32-byte arrays. This is a breaking change, but it fixes compatibility with serde-json and ensures that the serde-bincode encoding matches the conventional encoding for X/Ed25519.
  • Update rand_core to 0.5, allowing use with new rand versions.
  • Switch from clear_on_drop to zeroize (by Tony Arcieri).
  • Require subtle = ^2.2.1 and remove the note advising nightly Rust, which is no longer required as of that version of subtle. See the subtle changelog for more details.
  • Update README.md for 2.x series.
  • Remove the build.rs hack which loaded the entire crate into its own build.rs to generate constants, and keep the constants in the source code.

The only significant change is the data model change to the serde feature; besides the rand_core version bump, there are no other user-visible changes.

1.2.4

  • Specify a semver bound for clear_on_drop rather than an exact version, addressing an issue where changes to inline assembly in rustc prevented clear_on_drop from working without an update.

1.2.3

  • Fix an issue identified by a Quarkslab audit (and Jack Grigg), where manually constructing unreduced Scalar values, as needed for X/Ed25519, and then performing scalar/scalar arithmetic could compute incorrect results.
  • Switch to upstream Rust intrinsics for the IFMA backend now that they exist in Rust and don't need to be defined locally.
  • Ensure that the NAF computation works correctly, even for parameters never used elsewhere in the codebase.
  • Minor refactoring to EdwardsPoint decompression.
  • Fix broken links in documentation.
  • Fix compilation on nightly broken due to changes to the #[doc(include)] path root (not quite correctly done in 1.2.2).

1.2.2

... (truncated)

Commits
  • 6d96eb7 Bump version to 3.0.0.
  • c68b30f Merge pull request #330 from isislovecruft/fix/move-coc
  • 2ee6193 Merge pull request #327 from huitseeker/digests-0.9
  • 91a0fae Move CoC section from CONTRIBUTING.md to new file.
  • 5038fcf Merge pull request #308 from isislovecruft/fix/pippenger-typo
  • 6afd8ff Update sha2, digest to 0.9
  • 3cc13a7 Merge branch 'master' into develop
  • c4824e1 Merge branch 'release/2.1.0'
  • 3fc47ef Bump version to 2.1.0
  • f04b830 Merge branch 'master' into develop
  • Additional commits viewable in compare view


Note

Medium Risk
Touches Ed25519 signing/verification used across node, P2P, and flashblocks paths via a major crate bump (including digest-related public API changes in upstream 3.0), though behavior should be unchanged if tests pass.

Overview
Bumps the workspace ed25519-dalek dependency from 2 to 3 (with serde still enabled) and refreshes Cargo.lock so World Chain crates resolve ed25519-dalek 3.0.0 instead of 2.x.

The lockfile also pulls in the 3.x crypto stack (curve25519-dalek 5, ed25519 3, signature 3, sha2 0.11, etc.) for those workspace members, while some transitive crates (e.g. enr, libp2p-identity) remain on ed25519-dalek 2.2.0. There are no Rust source changes—only the version pin and lock resolution.

Reviewed by Cursor Bugbot for commit 2eb6ea7. Bugbot is set up for automated code reviews on this repo. Configure here.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 9, 2026
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jul 9, 2026
@dependabot dependabot Bot added the rust Pull requests that update rust code label Jul 9, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/ed25519-dalek-3.0.0 branch from 37e9eae to b0f4240 Compare July 25, 2026 00:01
@dependabot
dependabot Bot force-pushed the dependabot/cargo/ed25519-dalek-3.0.0 branch from b0f4240 to fac7ee7 Compare July 28, 2026 11:42
Bumps [ed25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/3.0.0/CHANGELOG.md)
- [Commits](dalek-cryptography/curve25519-dalek@ed25519-2.2.0...3.0.0)

---
updated-dependencies:
- dependency-name: ed25519-dalek
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2eb6ea7. Configure here.

Comment thread Cargo.toml
arbitrary = { version = "=1.4.2", features = ["derive"] }
blake3 = "1.8.4"
ed25519-dalek = { version = "2", features = ["serde"] }
ed25519-dalek = { version = "3", features = ["serde"] }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Serde break for Authorization RPC

High Severity

Bumping ed25519-dalek to 3 with serde switches VerifyingKey and Signature JSON encoding to serdect hex strings. Authorization is passed as a JSON-RPC argument to flashblocks_forkchoiceUpdatedV3, so clients still on dalek 2 (for example rollup-boost) that emit the old byte-array form will fail to deserialize, breaking flashblocks authorization delivery.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2eb6ea7. Configure here.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Base and PR measured on the same runner in the same workflow run.

Benchmark Base PR Change
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_125tx 28.8±0.30ms 29.6±0.58ms 🟡 +3.00%
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_250tx 56.7±0.51ms 56.5±0.29ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_50tx 11.8±0.09ms 11.9±0.08ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_125tx 34.8±0.23ms 34.8±0.38ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_250tx 74.3±0.65ms 73.8±0.59ms 🟢 -0.99%
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_50tx 14.8±0.17ms 14.7±0.09ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_125tx 26.9±0.05ms 26.9±0.13ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_250tx 53.5±0.53ms 53.2±0.42ms 🟢 -0.99%
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_50tx 11.3±0.25ms 11.8±0.07ms 🟡 +4.00%
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_125tx 29.2±0.18ms 29.1±0.15ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_250tx 55.1±0.10ms 55.2±0.23ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_50tx 13.7±0.10ms 13.7±0.11ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_10tx 135.9±0.44ms 136.3±0.46ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_12tx 163.3±2.97ms 163.4±2.13ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_5tx 68.4±0.09ms 68.7±0.21ms 🟢 +0.00%
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_10tx 24.0±1.36ms 25.2±1.09ms 🟡 +5.00%
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_12tx 27.3±0.28ms 27.5±0.65ms 🟡 +1.00%
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_5tx 18.4±0.38ms 18.7±0.65ms 🟡 +2.00%
flashblock_validation_process_flashblock_eth_transfers/txs/1000 49.2±0.07ms 49.2±0.19ms 🟢 +0.00%
flashblock_validation_process_flashblock_eth_transfers/txs/50 2.7±0.01ms 2.7±0.02ms 🟢 +0.00%
flashblock_validation_process_flashblock_eth_transfers/txs/500 24.7±0.05ms 24.7±0.08ms 🟢 +0.00%
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/1000 51.1±0.40ms 50.3±0.21ms 🟢 -1.96%
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/50 3.3±0.08ms 3.3±0.03ms 🟢 -1.96%
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/500 25.9±0.19ms 25.7±0.29ms 🟢 -0.99%
flashblock_validation_process_flashblock_fib/txs/1000 48.7±0.10ms 48.7±0.38ms 🟢 +0.00%
flashblock_validation_process_flashblock_fib/txs/50 2.7±0.03ms 2.6±0.02ms 🟢 -1.96%
flashblock_validation_process_flashblock_fib/txs/500 24.5±0.14ms 24.4±0.07ms 🟢 -0.99%
flashblock_validation_process_flashblock_fib_with_bal/txs/1000 49.0±0.22ms 49.0±0.76ms 🟢 +0.00%
flashblock_validation_process_flashblock_fib_with_bal/txs/50 3.4±0.03ms 3.2±0.03ms 🟢 -3.85%
flashblock_validation_process_flashblock_fib_with_bal/txs/500 25.0±0.22ms 24.9±0.09ms 🟢 +0.00%
flashblock_validation_process_flashblock_world_id_like_bn254/txs/10 34.0±0.14ms 34.0±0.06ms 🟢 +0.00%
flashblock_validation_process_flashblock_world_id_like_bn254/txs/25 84.6±0.25ms 84.9±1.53ms 🟢 +0.00%
flashblock_validation_process_flashblock_world_id_like_bn254/txs/50 168.6±0.21ms 168.9±0.53ms 🟢 +0.00%
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/10 5.9±0.32ms 6.0±0.22ms 🟡 +1.00%
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/25 7.9±0.13ms 7.9±0.12ms 🟢 +0.00%
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/50 14.3±0.15ms 14.3±0.07ms 🟢 -0.99%

🔴 regression > 10%  ·  🟡 slower  ·  🟢 faster. A regression > 10% fails the check.

Raw critcmp output
group                                                                                              base                                   pr
-----                                                                                              ----                                   --
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_125tx                  1.00     28.8±0.30ms        ? ?/sec    1.03     29.6±0.58ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_250tx                  1.00     56.7±0.51ms        ? ?/sec    1.00     56.5±0.29ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_50tx                   1.00     11.8±0.09ms        ? ?/sec    1.00     11.9±0.08ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_125tx         1.00     34.8±0.23ms        ? ?/sec    1.00     34.8±0.38ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_250tx         1.01     74.3±0.65ms        ? ?/sec    1.00     73.8±0.59ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_50tx          1.00     14.8±0.17ms        ? ?/sec    1.00     14.7±0.09ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_125tx                            1.00     26.9±0.05ms        ? ?/sec    1.00     26.9±0.13ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_250tx                            1.01     53.5±0.53ms        ? ?/sec    1.00     53.2±0.42ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_50tx                             1.00     11.3±0.25ms        ? ?/sec    1.04     11.8±0.07ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_125tx                   1.00     29.2±0.18ms        ? ?/sec    1.00     29.1±0.15ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_250tx                   1.00     55.1±0.10ms        ? ?/sec    1.00     55.2±0.23ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_50tx                    1.00     13.7±0.10ms        ? ?/sec    1.00     13.7±0.11ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_10tx             1.00    135.9±0.44ms        ? ?/sec    1.00    136.3±0.46ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_12tx             1.00    163.3±2.97ms        ? ?/sec    1.00    163.4±2.13ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_5tx              1.00     68.4±0.09ms        ? ?/sec    1.00     68.7±0.21ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_10tx    1.00     24.0±1.36ms        ? ?/sec    1.05     25.2±1.09ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_12tx    1.00     27.3±0.28ms        ? ?/sec    1.01     27.5±0.65ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_5tx     1.00     18.4±0.38ms        ? ?/sec    1.02     18.7±0.65ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers/txs/1000                                    1.00     49.2±0.07ms        ? ?/sec    1.00     49.2±0.19ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers/txs/50                                      1.00      2.7±0.01ms        ? ?/sec    1.00      2.7±0.02ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers/txs/500                                     1.00     24.7±0.05ms        ? ?/sec    1.00     24.7±0.08ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/1000                           1.02     51.1±0.40ms        ? ?/sec    1.00     50.3±0.21ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/50                             1.02      3.3±0.08ms        ? ?/sec    1.00      3.3±0.03ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/500                            1.01     25.9±0.19ms        ? ?/sec    1.00     25.7±0.29ms        ? ?/sec
flashblock_validation_process_flashblock_fib/txs/1000                                              1.00     48.7±0.10ms        ? ?/sec    1.00     48.7±0.38ms        ? ?/sec
flashblock_validation_process_flashblock_fib/txs/50                                                1.02      2.7±0.03ms        ? ?/sec    1.00      2.6±0.02ms        ? ?/sec
flashblock_validation_process_flashblock_fib/txs/500                                               1.01     24.5±0.14ms        ? ?/sec    1.00     24.4±0.07ms        ? ?/sec
flashblock_validation_process_flashblock_fib_with_bal/txs/1000                                     1.00     49.0±0.22ms        ? ?/sec    1.00     49.0±0.76ms        ? ?/sec
flashblock_validation_process_flashblock_fib_with_bal/txs/50                                       1.04      3.4±0.03ms        ? ?/sec    1.00      3.2±0.03ms        ? ?/sec
flashblock_validation_process_flashblock_fib_with_bal/txs/500                                      1.00     25.0±0.22ms        ? ?/sec    1.00     24.9±0.09ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254/txs/10                                1.00     34.0±0.14ms        ? ?/sec    1.00     34.0±0.06ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254/txs/25                                1.00     84.6±0.25ms        ? ?/sec    1.00     84.9±1.53ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254/txs/50                                1.00    168.6±0.21ms        ? ?/sec    1.00    168.9±0.53ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/10                       1.00      5.9±0.32ms        ? ?/sec    1.01      6.0±0.22ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/25                       1.00      7.9±0.13ms        ? ?/sec    1.00      7.9±0.12ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/50                       1.01     14.3±0.15ms        ? ?/sec    1.00     14.3±0.07ms        ? ?/sec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant