-
Notifications
You must be signed in to change notification settings - Fork 3
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
core/vm, crypto/bls12381, params: add bls12-381 elliptic curve precom… #218
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Master 2 dev
…piles (#21018) * crypto: add bls12-381 elliptic curve wrapper * params: add bls12-381 precompile gas parameters * core/vm: add bls12-381 precompiles * core/vm: add bls12-381 precompile tests * go.mod, go.sum: use latest bls12381 lib * core/vm: move point encode/decode functions to base library * crypto/bls12381: introduce bls12-381 library init function * crypto/bls12381: import bls12381 elliptic curve implementation * go.mod, go.sum: remove bls12-381 library * remove unsued frobenious coeffs supress warning for inp that used in asm * add mappings tests for zero inputs fix swu g2 minus z inverse constant * crypto/bls12381: fix typo * crypto/bls12381: better comments for bls12381 constants * crypto/bls12381: swu, use single conditional for e2 * crypto/bls12381: utils, delete empty line * crypto/bls12381: utils, use FromHex for string to big * crypto/bls12381: g1, g2, strict length check for FromBytes * crypto/bls12381: field_element, comparision changes * crypto/bls12381: change swu, isogeny constants with hex values * core/vm: fix point multiplication comments * core/vm: fix multiexp gas calculation and lookup for g1 and g2 * core/vm: simpler imput length check for multiexp and pairing precompiles * core/vm: rm empty multiexp result declarations * crypto/bls12381: remove modulus type definition * crypto/bls12381: use proper init function * crypto/bls12381: get rid of new lines at fatal desciprtions * crypto/bls12-381: fix no-adx assembly multiplication * crypto/bls12-381: remove old config function * crypto/bls12381: update multiplication backend this commit changes mul backend to 6limb eip1962 backend mul assign operations are dropped * core/vm/contracts_tests: externalize test vectors for precompiles * core/vm/contracts_test: externalize failure-cases for precompiles * core/vm: linting * go.mod: tiny up sum file * core/vm: fix goimports linter issues * crypto/bls12381: build tags for plain ASM or ADX implementation Co-authored-by: Martin Holst Swende <[email protected]> Co-authored-by: Péter Szilágyi <[email protected]>
MatusKysel
force-pushed
the
bls-precompiled
branch
from
March 25, 2024 10:16
71baa31
to
a1552b4
Compare
@MatusKysel we can close this PR as I based ficus_hf changes on this branch #232 |
…#29441) This PR updates the bls contracts from our internal implementation which is an unmaintained fork of the kilic library to the gnark-crypto library that is actively maintained by consensys. It also updates the gas-costs according to the EIP
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…piles (#21018)
crypto: add bls12-381 elliptic curve wrapper
params: add bls12-381 precompile gas parameters
core/vm: add bls12-381 precompiles
core/vm: add bls12-381 precompile tests
go.mod, go.sum: use latest bls12381 lib
core/vm: move point encode/decode functions to base library
crypto/bls12381: introduce bls12-381 library init function
crypto/bls12381: import bls12381 elliptic curve implementation
go.mod, go.sum: remove bls12-381 library
remove unsued frobenious coeffs
supress warning for inp that used in asm
fix swu g2 minus z inverse constant
crypto/bls12381: fix typo
crypto/bls12381: better comments for bls12381 constants
crypto/bls12381: swu, use single conditional for e2
crypto/bls12381: utils, delete empty line
crypto/bls12381: utils, use FromHex for string to big
crypto/bls12381: g1, g2, strict length check for FromBytes
crypto/bls12381: field_element, comparision changes
crypto/bls12381: change swu, isogeny constants with hex values
core/vm: fix point multiplication comments
core/vm: fix multiexp gas calculation and lookup for g1 and g2
core/vm: simpler imput length check for multiexp and pairing precompiles
core/vm: rm empty multiexp result declarations
crypto/bls12381: remove modulus type definition
crypto/bls12381: use proper init function
crypto/bls12381: get rid of new lines at fatal desciprtions
crypto/bls12-381: fix no-adx assembly multiplication
crypto/bls12-381: remove old config function
crypto/bls12381: update multiplication backend
this commit changes mul backend to 6limb eip1962 backend
mul assign operations are dropped
core/vm/contracts_tests: externalize test vectors for precompiles
core/vm/contracts_test: externalize failure-cases for precompiles
core/vm: linting
go.mod: tiny up sum file
core/vm: fix goimports linter issues
crypto/bls12381: build tags for plain ASM or ADX implementation