Skip to content

Conversation

@rodiazet
Copy link
Member

Implementation of the bls12_g1msm and bls12_g2msm precompiles: multi scalar affine points' multiplication from BLS12-381 curve according to the EIP-2537 spec https://eips.ethereum.org/EIPS/eip-2537#abi-for-g1-msm and https://eips.ethereum.org/EIPS/eip-2537#abi-for-g2-msm.

@rodiazet rodiazet added precompiles Related to EVM precompiles Prague Changes for Prague upgrade labels Sep 17, 2024
@rodiazet rodiazet requested a review from chfast September 17, 2024 12:21
@rodiazet rodiazet force-pushed the bls-msm branch 5 times, most recently from 4c8fe67 to d2a43ca Compare September 17, 2024 12:47
@codecov
Copy link

codecov bot commented Sep 17, 2024

Codecov Report

Attention: Patch coverage is 98.64865% with 2 lines in your changes missing coverage. Please review.

Project coverage is 94.08%. Comparing base (335d056) to head (1e3d448).

Files with missing lines Patch % Lines
test/state/precompiles.cpp 92.30% 2 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@ ## master #1010 +/- ## ========================================== + Coverage 93.98% 94.08% +0.09%  ========================================== Files 147 147 Lines 15588 15728 +140 ========================================== + Hits 14651 14797 +146  + Misses 937 931 -6 
Flag Coverage Δ
eof_execution_spec_tests 17.39% <0.00%> (-0.16%) ⬇️
ethereum_tests 27.48% <0.00%> (-0.25%) ⬇️
ethereum_tests_silkpre 19.29% <0.00%> (-0.18%) ⬇️
execution_spec_tests 19.94% <70.27%> (+0.48%) ⬆️
unittests 88.88% <75.67%> (-0.09%) ⬇️

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

Files with missing lines Coverage Δ
lib/evmone_precompiles/bls.cpp 100.00% <100.00%> (ø)
test/unittests/precompiles_bls_test.cpp 100.00% <100.00%> (ø)
test/state/precompiles.cpp 94.30% <92.30%> (+3.08%) ⬆️
Co-authored-by: Paweł Bylica <pawel@ethereum.org>
@chfast chfast enabled auto-merge (squash) September 18, 2024 09:18
@chfast chfast changed the title precompiles: Implement multi scalar multiplication for P1 and P2 precompiles: Implement BLS multi scalar multiplication Sep 18, 2024
@chfast chfast merged commit d3de72d into master Sep 18, 2024
@chfast chfast deleted the bls-msm branch September 18, 2024 09:31
chfast pushed a commit that referenced this pull request Sep 18, 2024
…e points (#1012) Implementation of the `bls12_map_fp_to_g1` and `bls12_map_fp2_to_g2` precompiles: mapping of `fp` field element to a point on `E1` curve (BLS12-381) and mapping `fp2` extension field element to a point on `E2` curve (BLS12-381) according to the EIP-2537 spec https://eips.ethereum.org/EIPS/eip-2537#abi-for-mapping-fp-element-to-g1-point and https://eips.ethereum.org/EIPS/eip-2537#abi-for-mapping-fp2-element-to-g2-point. Depends on: #1010
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Prague Changes for Prague upgrade precompiles Related to EVM precompiles

3 participants