Skip to content

Conversation

@holgerd77
Copy link
Member

Some optimizations / code deletions I stumbled upon BLS coverage analysis using the official test vectors.

Bildschirmfoto 2025-11-27 um 13 48 14

The modulo check was simply redundant.

The mul* methods are not used anymore since it was decided along EIP process to not do explicit mul* precompiles (since implicitly included in msm* if I recall correctly).

Will wait for a review from @jochem-brouwer before merge. Should be save though (all consensus tests passing still).

@codecov
Copy link

codecov bot commented Nov 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.69%. Comparing base (4eb171a) to head (3ae31e9).

Additional details and impacted files

Impacted file tree graph

Flag Coverage Δ
block 88.43% <ø> (ø)
blockchain 88.85% <ø> (ø)
common 93.38% <ø> (ø)
evm 62.34% <100.00%> (+0.32%) ⬆️
mpt 90.11% <ø> (ø)
statemanager 78.10% <ø> (ø)
static 91.35% <ø> (ø)
tx 88.07% <ø> (ø)
util 84.94% <ø> (ø)
vm 65.08% <ø> (ø)

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link

github-actions bot commented Nov 27, 2025

📦 Bundle Size Analysis

Package Size (gzip) Δ
binarytree 30.1 KB ⚪ ±0%
block 45.2 KB ⚪ ±0%
blockchain 52.4 KB ⚪ ±0%
client 181.8 KB ⚪ ±0%
common 44.9 KB ⚪ ±0%
devp2p 75.1 KB ⚪ ±0%
e2store 30.3 KB ⚪ ±0%
ethash 8.5 KB ⚪ ±0%
evm 200.8 KB 🟢 -0.5 KB (-0.27%)
genesis 519.5 KB ⚪ ±0%
mpt 55.1 KB ⚪ ±0%
rlp 7.2 KB ⚪ ±0%
statemanager 57.2 KB ⚪ ±0%
testdata 60.2 KB ⚪ ±0%
tx 86.9 KB ⚪ ±0%
util 61.2 KB ⚪ ±0%
vm 61.3 KB ⚪ ±0%
wallet 14.0 KB ⚪ ±0%

Generated by bundle-size workflow

Copy link
Member

@jochem-brouwer jochem-brouwer left a comment

Choose a reason for hiding this comment

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

Looks good!

mulG1 and mulG2 were part of BLS spec in the past but have since been moved in the actual spec (so the forked-in version) to the multi-scalar-multiplication (MSM) precompiles for G1 and G2. Reasoning was that extra precompiles are not necessary.

The modulo check you removed is I think a forgotten one from the past cleanups, so looks good.

Let's lower the bundle size 🎉 👍 😄

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants