mirror of
https://github.com/logos-storage/gnark-plonky2-verifier.git
synced 2026-01-07 07:33:12 +00:00
* initial commit of poseidon bn128 * got challenger working * deserialize is working * cleaned up deserialization function a bit * fixed challenger * add in the hack to the challenges * fixed some bugs in poseidon_bn128 * fri verification is working * some changes for benchmarking * added decode_block plonky2 data * initial commit for poseidon_mds_gate * updated gate test cases * working poseidon mds gate * full verifier test case working
45 lines
1.5 KiB
Go
45 lines
1.5 KiB
Go
package verifier_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/consensys/gnark/frontend"
|
|
"github.com/consensys/gnark/test"
|
|
"github.com/succinctlabs/gnark-plonky2-verifier/field"
|
|
"github.com/succinctlabs/gnark-plonky2-verifier/verifier"
|
|
"github.com/succinctlabs/gnark-plonky2-verifier/verifier/utils"
|
|
)
|
|
|
|
type TestVerifierCircuit struct {
|
|
proofWithPIsFilename string `gnark:"-"`
|
|
commonCircuitDataFilename string `gnark:"-"`
|
|
verifierOnlyCircuitDataFilename string `gnark:"-"`
|
|
}
|
|
|
|
func (c *TestVerifierCircuit) Define(api frontend.API) error {
|
|
proofWithPis := utils.DeserializeProofWithPublicInputs(c.proofWithPIsFilename)
|
|
commonCircuitData := utils.DeserializeCommonCircuitData(c.commonCircuitDataFilename)
|
|
verfierOnlyCircuitData := utils.DeserializeVerifierOnlyCircuitData(c.verifierOnlyCircuitDataFilename)
|
|
|
|
verifierChip := verifier.NewVerifierChip(api, commonCircuitData)
|
|
verifierChip.Verify(proofWithPis, verfierOnlyCircuitData, commonCircuitData)
|
|
return nil
|
|
}
|
|
|
|
func TestDecodeBlockVerifier(t *testing.T) {
|
|
assert := test.NewAssert(t)
|
|
|
|
testCase := func() {
|
|
circuit := TestVerifierCircuit{
|
|
proofWithPIsFilename: "./data/decode_block/proof_with_public_inputs.json",
|
|
commonCircuitDataFilename: "./data/decode_block/common_circuit_data.json",
|
|
verifierOnlyCircuitDataFilename: "./data/decode_block/verifier_only_circuit_data.json",
|
|
}
|
|
|
|
witness := TestVerifierCircuit{}
|
|
err := test.IsSolved(&circuit, &witness, field.TEST_CURVE.ScalarField())
|
|
assert.NoError(err)
|
|
}
|
|
testCase()
|
|
}
|