mirror of
https://github.com/arnaucube/gnark-plonky2-verifier.git
synced 2026-01-12 00:51:33 +01:00
cleaned up qe api (#21)
This commit is contained in:
@@ -25,9 +25,7 @@ type QuadraticExtensionAPI struct {
|
|||||||
ZERO_QE_ALGEBRA QEAlgebra
|
ZERO_QE_ALGEBRA QEAlgebra
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewQuadraticExtensionAPI(api frontend.API, fieldAPI FieldAPI, degreeBits uint64) *QuadraticExtensionAPI {
|
func NewQuadraticExtensionAPI(api frontend.API, fieldAPI FieldAPI) *QuadraticExtensionAPI {
|
||||||
// TODO: Should degreeBits be verified that it fits within the field and that degree is within uint64?
|
|
||||||
|
|
||||||
var ZERO_QE = QuadraticExtension{ZERO_F, ZERO_F}
|
var ZERO_QE = QuadraticExtension{ZERO_F, ZERO_F}
|
||||||
|
|
||||||
var ZERO_QE_ALGEBRA QEAlgebra
|
var ZERO_QE_ALGEBRA QEAlgebra
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ type TestQuadraticExtensionMulCircuit struct {
|
|||||||
|
|
||||||
func (c *TestQuadraticExtensionMulCircuit) Define(api frontend.API) error {
|
func (c *TestQuadraticExtensionMulCircuit) Define(api frontend.API) error {
|
||||||
fieldAPI := NewFieldAPI(api)
|
fieldAPI := NewFieldAPI(api)
|
||||||
degreeBits := 3
|
c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI, uint64(degreeBits))
|
|
||||||
|
|
||||||
actualRes := c.qeAPI.MulExtension(c.Operand1, c.Operand2)
|
actualRes := c.qeAPI.MulExtension(c.Operand1, c.Operand2)
|
||||||
|
|
||||||
@@ -54,8 +53,7 @@ type TestQuadraticExtensionDivCircuit struct {
|
|||||||
|
|
||||||
func (c *TestQuadraticExtensionDivCircuit) Define(api frontend.API) error {
|
func (c *TestQuadraticExtensionDivCircuit) Define(api frontend.API) error {
|
||||||
fieldAPI := NewFieldAPI(api)
|
fieldAPI := NewFieldAPI(api)
|
||||||
degreeBits := 3
|
c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
c.qeAPI = NewQuadraticExtensionAPI(api, fieldAPI, uint64(degreeBits))
|
|
||||||
|
|
||||||
actualRes := c.qeAPI.DivExtension(c.Operand1, c.Operand2)
|
actualRes := c.qeAPI.DivExtension(c.Operand1, c.Operand2)
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ type TestPoseidonCircuit struct {
|
|||||||
|
|
||||||
func (circuit *TestPoseidonCircuit) Define(api frontend.API) error {
|
func (circuit *TestPoseidonCircuit) Define(api frontend.API) error {
|
||||||
goldilocksApi := field.NewFieldAPI(api)
|
goldilocksApi := field.NewFieldAPI(api)
|
||||||
qeAPI := field.NewQuadraticExtensionAPI(api, goldilocksApi, 3)
|
qeAPI := field.NewQuadraticExtensionAPI(api, goldilocksApi)
|
||||||
|
|
||||||
var input PoseidonState
|
var input PoseidonState
|
||||||
for i := 0; i < 12; i++ {
|
for i := 0; i < 12; i++ {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ func (circuit *TestFriCircuit) Define(api frontend.API) error {
|
|||||||
verifierOnlyCircuitData := utils.DeserializeVerifierOnlyCircuitData(circuit.verifierOnlyCircuitDataFilename)
|
verifierOnlyCircuitData := utils.DeserializeVerifierOnlyCircuitData(circuit.verifierOnlyCircuitDataFilename)
|
||||||
|
|
||||||
fieldAPI := field.NewFieldAPI(api)
|
fieldAPI := field.NewFieldAPI(api)
|
||||||
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits)
|
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI)
|
poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI)
|
||||||
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
|
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
|
||||||
friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams)
|
friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams)
|
||||||
|
|||||||
@@ -688,7 +688,7 @@ func (circuit *TestGateCircuit) Define(api frontend.API) error {
|
|||||||
numSelectors := commonCircuitData.SelectorsInfo.NumSelectors()
|
numSelectors := commonCircuitData.SelectorsInfo.NumSelectors()
|
||||||
|
|
||||||
fieldAPI := field.NewFieldAPI(api)
|
fieldAPI := field.NewFieldAPI(api)
|
||||||
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits)
|
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
|
|
||||||
vars := gates.NewEvaluationVars(localConstants[numSelectors:], localWires, publicInputsHash)
|
vars := gates.NewEvaluationVars(localConstants[numSelectors:], localWires, publicInputsHash)
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ type TestChallengerCircuit struct {
|
|||||||
|
|
||||||
func (circuit *TestChallengerCircuit) Define(api frontend.API) error {
|
func (circuit *TestChallengerCircuit) Define(api frontend.API) error {
|
||||||
fieldAPI := field.NewFieldAPI(api)
|
fieldAPI := field.NewFieldAPI(api)
|
||||||
degreeBits := 3
|
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, uint64(degreeBits))
|
|
||||||
poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI)
|
poseidonChip := poseidon.NewPoseidonChip(api, fieldAPI, qeAPI)
|
||||||
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
|
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
|
||||||
challengerChip := NewChallengerChip(api, fieldAPI, poseidonChip, poseidonBN128Chip)
|
challengerChip := NewChallengerChip(api, fieldAPI, poseidonChip, poseidonBN128Chip)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ func (circuit *TestPlonkCircuit) Define(api frontend.API) error {
|
|||||||
proofChallenges := verifierChip.GetChallenges(proofWithPis, publicInputsHash, commonCircuitData, verifierOnlyCircuitData)
|
proofChallenges := verifierChip.GetChallenges(proofWithPis, publicInputsHash, commonCircuitData, verifierOnlyCircuitData)
|
||||||
|
|
||||||
fieldAPI := field.NewFieldAPI(api)
|
fieldAPI := field.NewFieldAPI(api)
|
||||||
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits)
|
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
plonkChip := plonk.NewPlonkChip(
|
plonkChip := plonk.NewPlonkChip(
|
||||||
api,
|
api,
|
||||||
qeAPI,
|
qeAPI,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ type VerifierChip struct {
|
|||||||
func NewVerifierChip(api frontend.API, commonCircuitData common.CommonCircuitData) *VerifierChip {
|
func NewVerifierChip(api frontend.API, commonCircuitData common.CommonCircuitData) *VerifierChip {
|
||||||
|
|
||||||
fieldAPI := field.NewFieldAPI(api)
|
fieldAPI := field.NewFieldAPI(api)
|
||||||
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI, commonCircuitData.DegreeBits)
|
qeAPI := field.NewQuadraticExtensionAPI(api, fieldAPI)
|
||||||
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
|
poseidonBN128Chip := poseidon.NewPoseidonBN128Chip(api, fieldAPI)
|
||||||
|
|
||||||
friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams)
|
friChip := fri.NewFriChip(api, fieldAPI, qeAPI, poseidonBN128Chip, &commonCircuitData.FriParams)
|
||||||
|
|||||||
Reference in New Issue
Block a user