Skip to main content

gnark standard library

We provide the following functions in gnark/std:

type mimcCircuit struct {
Data frontend.Variable
Hash frontend.Variable `gnark:",public"`
}

func (circuit *mimcCircuit) Define(api frontend.API) error {
hFunc, err := mimc.NewMiMC(api)
if err != nil {
return err
}
hFunc.Write(circuit.Data)
api.AssertIsEqual(circuit.Hash, hFunc.Sum())
return nil
}