crypto/bn256: refactor to use bitutil.TestBytes (#32435)
Some checks are pending
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run

This commit is contained in:
cui 2025-08-15 15:12:22 +08:00 committed by GitHub
parent ccf684f1ba
commit 88922d2bf5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 11 deletions

View file

@ -5,6 +5,7 @@ import (
"math/big"
"github.com/consensys/gnark-crypto/ecc/bn254"
"github.com/ethereum/go-ethereum/common/bitutil"
)
// G1 is the affine representation of a G1 group element.
@ -43,7 +44,7 @@ func (g *G1) Unmarshal(buf []byte) (int, error) {
return 0, errors.New("invalid G1 point size")
}
if allZeroes(buf[:64]) {
if !bitutil.TestBytes(buf[:64]) {
// point at infinity
g.inner.X.SetZero()
g.inner.Y.SetZero()
@ -82,12 +83,3 @@ func (p *G1) Marshal() []byte {
return output
}
func allZeroes(buf []byte) bool {
for i := range buf {
if buf[i] != 0 {
return false
}
}
return true
}

View file

@ -4,6 +4,7 @@ import (
"errors"
"github.com/consensys/gnark-crypto/ecc/bn254"
"github.com/ethereum/go-ethereum/common/bitutil"
)
// G2 is the affine representation of a G2 group element.
@ -31,7 +32,7 @@ func (g *G2) Unmarshal(buf []byte) (int, error) {
return 0, errors.New("invalid G2 point size")
}
if allZeroes(buf[:128]) {
if !bitutil.TestBytes(buf[:128]) {
// point at infinity
g.inner.X.A0.SetZero()
g.inner.X.A1.SetZero()