mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-09 04:08:01 -05:00
Fix(tests): fix the failing tests (#308)
This commit is contained in:
@@ -96,7 +96,7 @@ func testAggregation(t *testing.T, nCircuits int, ncs ...int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This collects the verifying keys from the public parameters
|
// This collects the verifying keys from the public parameters
|
||||||
var vkeys []plonk.VerifyingKey
|
vkeys := make([]plonk.VerifyingKey, 0, len(innerSetups))
|
||||||
for _, setup := range innerSetups {
|
for _, setup := range innerSetups {
|
||||||
vkeys = append(vkeys, setup.VerifyingKey)
|
vkeys = append(vkeys, setup.VerifyingKey)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,9 @@ import (
|
|||||||
|
|
||||||
"github.com/consensys/linea-monorepo/prover/maths/common/smartvectors"
|
"github.com/consensys/linea-monorepo/prover/maths/common/smartvectors"
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/column"
|
"github.com/consensys/linea-monorepo/prover/protocol/column"
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/ifaces"
|
"github.com/consensys/linea-monorepo/prover/protocol/compiler/globalcs"
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/wizard"
|
"github.com/consensys/linea-monorepo/prover/protocol/wizard"
|
||||||
|
sym "github.com/consensys/linea-monorepo/prover/symbolic"
|
||||||
)
|
)
|
||||||
|
|
||||||
func defineFibo(build *wizard.Builder) {
|
func defineFibo(build *wizard.Builder) {
|
||||||
@@ -18,9 +19,11 @@ func defineFibo(build *wizard.Builder) {
|
|||||||
p1 := build.RegisterCommit(P1, n) // overshadows P
|
p1 := build.RegisterCommit(P1, n) // overshadows P
|
||||||
|
|
||||||
// P(X) = P(X/w) + P(X/w^2)
|
// P(X) = P(X/w) + P(X/w^2)
|
||||||
expr := ifaces.ColumnAsVariable(column.Shift(p1, -1)).
|
expr := sym.Sub(
|
||||||
Add(ifaces.ColumnAsVariable(column.Shift(p1, -2))).
|
p1,
|
||||||
Sub(ifaces.ColumnAsVariable(p1))
|
column.Shift(p1, -1),
|
||||||
|
column.Shift(p1, -2),
|
||||||
|
)
|
||||||
|
|
||||||
_ = build.GlobalConstraint(GLOBAL1, expr)
|
_ = build.GlobalConstraint(GLOBAL1, expr)
|
||||||
}
|
}
|
||||||
@@ -31,5 +34,5 @@ func proveFibo(run *wizard.ProverRuntime) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFibo(t *testing.T) {
|
func TestFibo(t *testing.T) {
|
||||||
checkSolved(t, defineFibo, proveFibo, ALL_BUT_ILC, true)
|
checkSolved(t, defineFibo, proveFibo, join(compilationSuite{globalcs.Compile}, DUMMY), true)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ package test_cases_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/consensys/gnark-crypto/ecc"
|
|
||||||
"github.com/consensys/gnark/frontend"
|
"github.com/consensys/gnark/frontend"
|
||||||
"github.com/consensys/gnark/frontend/cs/scs"
|
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/coin"
|
"github.com/consensys/linea-monorepo/prover/protocol/coin"
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/compiler/dummy"
|
"github.com/consensys/linea-monorepo/prover/protocol/compiler/dummy"
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/compiler/globalcs"
|
"github.com/consensys/linea-monorepo/prover/protocol/compiler/globalcs"
|
||||||
@@ -22,7 +20,6 @@ import (
|
|||||||
"github.com/consensys/linea-monorepo/prover/protocol/ifaces"
|
"github.com/consensys/linea-monorepo/prover/protocol/ifaces"
|
||||||
"github.com/consensys/linea-monorepo/prover/protocol/wizard"
|
"github.com/consensys/linea-monorepo/prover/protocol/wizard"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -147,48 +144,6 @@ func checkSolved(
|
|||||||
// expected a failure
|
// expected a failure
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
t.Fatalf(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Allocate the circuit
|
|
||||||
*/
|
|
||||||
circ := SimpleTestGnarkCircuit{}
|
|
||||||
{
|
|
||||||
c, err := wizard.AllocateWizardCircuit(compiled)
|
|
||||||
if err != nil {
|
|
||||||
// The only error case acknowledged here is that the returned circuit
|
|
||||||
// is empty. In that case, there is simply no point to run the verification.
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
circ.C = *c
|
|
||||||
}
|
|
||||||
|
|
||||||
scs, err := frontend.Compile(
|
|
||||||
ecc.BLS12_377.ScalarField(),
|
|
||||||
scs.NewBuilder,
|
|
||||||
&circ,
|
|
||||||
frontend.IgnoreUnconstrainedInputs(),
|
|
||||||
)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
// When the error string is too large `require.NoError` does not print
|
|
||||||
// the error.
|
|
||||||
t.Logf("circuit construction failed : %v\n", err)
|
|
||||||
t.FailNow()
|
|
||||||
}
|
|
||||||
|
|
||||||
assignment := GetAssignment(compiled, proof)
|
|
||||||
witness, err := frontend.NewWitness(assignment, ecc.BLS12_377.ScalarField())
|
|
||||||
require.NoError(t, err)
|
|
||||||
|
|
||||||
err = scs.IsSolved(witness)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
// When the error string is too large `require.NoError` does not print
|
|
||||||
// the error.
|
|
||||||
t.Logf("circuit solving failed : %v\n", err)
|
|
||||||
t.FailNow()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,20 +40,20 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This collects the verifying keys from the public parameters
|
// This collects the verifying keys from the public parameters
|
||||||
var vkeys []plonk.VerifyingKey
|
vkeys := make([]plonk.VerifyingKey, 0, len(innerSetups))
|
||||||
for _, setup := range innerSetups {
|
for _, setup := range innerSetups {
|
||||||
vkeys = append(vkeys, setup.VerifyingKey)
|
vkeys = append(vkeys, setup.VerifyingKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ncs := []int{1, 5, 10, 20}
|
||||||
|
|
||||||
// At this step, we will collect several proofs for the BW6 circuit and
|
// At this step, we will collect several proofs for the BW6 circuit and
|
||||||
// several verification keys.
|
// several verification keys.
|
||||||
var (
|
var (
|
||||||
bw6Vkeys []plonk.VerifyingKey
|
bw6Vkeys = make([]plonk.VerifyingKey, 0, len(ncs))
|
||||||
bw6Proofs []plonk.Proof
|
bw6Proofs = make([]plonk.Proof, 0, len(ncs))
|
||||||
)
|
)
|
||||||
|
|
||||||
ncs := []int{1, 5, 10, 20}
|
|
||||||
|
|
||||||
aggregationPIBytes := []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
|
aggregationPIBytes := []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
|
||||||
var aggregationPI frBw6.Element
|
var aggregationPI frBw6.Element
|
||||||
aggregationPI.SetBytes(aggregationPIBytes)
|
aggregationPI.SetBytes(aggregationPIBytes)
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ func newKeccakZkEvm(comp *wizard.CompiledIOP, settings Settings, providers []gen
|
|||||||
|
|
||||||
// create the list of [generic.GenDataModule] and [generic.GenInfoModule]
|
// create the list of [generic.GenDataModule] and [generic.GenInfoModule]
|
||||||
var (
|
var (
|
||||||
gdm []generic.GenDataModule
|
gdm = make([]generic.GenDataModule, 0, len(providers))
|
||||||
gim []generic.GenInfoModule
|
gim = make([]generic.GenInfoModule, 0, len(providers))
|
||||||
)
|
)
|
||||||
|
|
||||||
for i := range providers {
|
for i := range providers {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ func TestLookupsBaseAToBaseB(t *testing.T) {
|
|||||||
for i := 0; i < BaseAPow4; i++ {
|
for i := 0; i < BaseAPow4; i++ {
|
||||||
// baseADirty is equal to i
|
// baseADirty is equal to i
|
||||||
dirtyA := baseADirty.Get(i)
|
dirtyA := baseADirty.Get(i)
|
||||||
assert.Equal(t, i, dirtyA.Uint64(), baseADirty, "base A dirty")
|
assert.Equal(t, uint64(i), dirtyA.Uint64(), "base A dirty")
|
||||||
|
|
||||||
// cleanB is consistent with the declaration that dirty
|
// cleanB is consistent with the declaration that dirty
|
||||||
cleanB := baseBClean.Get(i)
|
cleanB := baseBClean.Get(i)
|
||||||
@@ -36,7 +36,7 @@ func TestLookupsBaseBToBaseA(t *testing.T) {
|
|||||||
for i := 0; i < BaseBPow4; i++ {
|
for i := 0; i < BaseBPow4; i++ {
|
||||||
// baseBDirty is equal to i
|
// baseBDirty is equal to i
|
||||||
dirtyB := baseBDirty.Get(i)
|
dirtyB := baseBDirty.Get(i)
|
||||||
assert.Equal(t, i, dirtyB.Uint64(), "base B dirty")
|
assert.Equal(t, uint64(i), dirtyB.Uint64(), "base B dirty")
|
||||||
|
|
||||||
// cleanA is consistent with the declaration that dirty
|
// cleanA is consistent with the declaration that dirty
|
||||||
cleanA := baseAClean.Get(i)
|
cleanA := baseAClean.Get(i)
|
||||||
|
|||||||
Reference in New Issue
Block a user