github.com/consensys/gnark@v0.11.0/test/assert_profile.go (about)

     1  package test
     2  
     3  import (
     4  	"github.com/consensys/gnark-crypto/ecc"
     5  	"github.com/consensys/gnark/backend"
     6  )
     7  
     8  // serializationThreshold is the number of constraints above which we don't
     9  // don't do serialization check for the proving and verifying keys.
    10  const serializationThreshold = 1000
    11  
    12  // see assert.CheckCircuit for details
    13  type profile struct {
    14  	backends []backend.ID
    15  	curves   []ecc.ID
    16  
    17  	checkSerialization bool
    18  	checkSolidity      bool
    19  	checkProver        bool
    20  	fuzzing            bool
    21  	skipTestEngine     bool
    22  }
    23  
    24  var testEngineChecks = profile{
    25  	backends: []backend.ID{},
    26  	curves:   []ecc.ID{ecc.BN254, ecc.BLS12_381},
    27  }
    28  
    29  var constraintSolverChecks = profile{
    30  	backends: []backend.ID{backend.GROTH16, backend.PLONK},
    31  	curves:   []ecc.ID{ecc.BN254, ecc.BLS12_381},
    32  }
    33  
    34  var proverChecks = profile{
    35  	backends:      []backend.ID{backend.GROTH16, backend.PLONK},
    36  	curves:        []ecc.ID{ecc.BN254, ecc.BLS12_381, ecc.BW6_761},
    37  	checkSolidity: true && SolcCheck,
    38  	checkProver:   true,
    39  }
    40  
    41  var releaseChecks = profile{
    42  	backends:           []backend.ID{backend.GROTH16, backend.PLONK},
    43  	curves:             []ecc.ID{ecc.BN254, ecc.BLS12_381, ecc.BW6_761, ecc.BLS12_377},
    44  	checkSolidity:      true && SolcCheck,
    45  	checkProver:        true,
    46  	checkSerialization: true,
    47  	fuzzing:            true,
    48  }