arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/field/field.go
field/field.goRaw
 1package field
 2
 3import (
 4	"github.com/consensys/gnark-crypto/ecc"
 5	"github.com/consensys/gnark/frontend"
 6	"github.com/consensys/gnark/std/math/emulated"
 7)
 8
 9type EmulatedField = emulated.Goldilocks
10type F = emulated.Element[EmulatedField]
11type Hash = [4]F
12
13var TEST_CURVE = ecc.BN254
14
15func NewFieldElement(x uint64) F {
16	return emulated.NewElement[EmulatedField](x)
17}
18
19func NewFieldAPI(api frontend.API) frontend.API {
20	field, err := emulated.NewField[EmulatedField](api)
21	if err != nil {
22		panic(err)
23	}
24	return field
25}