Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

precompiles: Implement EIP-2537's bls12_g1add #982

Merged
merged 1 commit into from
Sep 10, 2024
Merged

Conversation

rodiazet
Copy link
Collaborator

@rodiazet rodiazet commented Sep 2, 2024

Implementation of the bls12_g1add precompile: E1 affine points' addition from BLS12-381 curve according to the EIP-2537 spec https://eips.ethereum.org/EIPS/eip-2537#abi-for-g1-addition.

Depends on #984

@rodiazet rodiazet added precompiles Related to EVM precompiles Prague Changes for Prague upgrade labels Sep 2, 2024
@rodiazet rodiazet requested a review from chfast September 2, 2024 14:19
@rodiazet rodiazet force-pushed the bls-g1-add branch 2 times, most recently from 90fcdc7 to 0f5d9b9 Compare September 2, 2024 14:23
Copy link

codecov bot commented Sep 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.13%. Comparing base (07d2f7a) to head (2ca9a94).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #982      +/-   ##
==========================================
+ Coverage   94.08%   94.13%   +0.04%     
==========================================
  Files         144      146       +2     
  Lines       16203    16259      +56     
==========================================
+ Hits        15245    15305      +60     
+ Misses        958      954       -4     
Flag Coverage Δ
eof_execution_spec_tests 16.60% <0.00%> (-0.06%) ⬇️
ethereum_tests 26.46% <0.00%> (-0.10%) ⬇️
ethereum_tests_silkpre 18.55% <0.00%> (-0.07%) ⬇️
execution_spec_tests 17.90% <61.01%> (+0.17%) ⬆️
unittests 89.53% <83.05%> (-0.01%) ⬇️

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/state/precompiles.cpp 84.97% <100.00%> (+2.28%) ⬆️
test/unittests/precompiles_bls_test.cpp 100.00% <100.00%> (ø)

@rodiazet rodiazet force-pushed the bls-g1-add branch 5 times, most recently from 6c3c262 to 9d4a9bc Compare September 3, 2024 08:29
test/state/precompiles.hpp Outdated Show resolved Hide resolved
test/state/precompiles.cpp Outdated Show resolved Hide resolved
test/state/precompiles.cpp Outdated Show resolved Hide resolved
@rodiazet rodiazet force-pushed the bls-g1-add branch 8 times, most recently from 8f760fb to fc65e10 Compare September 6, 2024 10:10
test/state/precompiles.cpp Outdated Show resolved Hide resolved
circle.yml Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.hpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.hpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.hpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
@rodiazet rodiazet force-pushed the bls-g1-add branch 2 times, most recently from f38fc22 to 1fc4803 Compare September 9, 2024 14:02
@rodiazet rodiazet force-pushed the bls-g1-add branch 4 times, most recently from 90e1735 to be697a6 Compare September 9, 2024 15:57
@rodiazet rodiazet force-pushed the bls-g1-add branch 2 times, most recently from 0fe96cf to fdea4b2 Compare September 9, 2024 19:14
@rodiazet rodiazet requested a review from chfast September 9, 2024 19:23
@chfast chfast changed the title precompiles: Implement bls g1 add. precompiles: Implement EIP-2537's bls12_g1add Sep 10, 2024
lib/evmone_precompiles/bls.hpp Outdated Show resolved Hide resolved
lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
Copy link
Member

@chfast chfast left a comment

Choose a reason for hiding this comment

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

Please add better PR description.

lib/evmone_precompiles/bls.cpp Outdated Show resolved Hide resolved
@rodiazet rodiazet force-pushed the bls-g1-add branch 4 times, most recently from 15e7a53 to 7bbddcf Compare September 10, 2024 10:49
@rodiazet rodiazet merged commit 12766de into master Sep 10, 2024
25 checks passed
@rodiazet rodiazet deleted the bls-g1-add branch September 10, 2024 11:05
rodiazet added a commit that referenced this pull request Sep 11, 2024
Implementation of the `bls12_g1mul` precompile: E1 affine point's
multiplication from BLS12-381 curve by a scalar according to the
EIP-2537 spec
https://eips.ethereum.org/EIPS/eip-2537#abi-for-g1-multiplication.

Depends on #982
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants