func NewMiMC(seed string, id ecc.ID, cs *frontend.ConstraintSystem) (MiMC, error) {
	if constructor, ok := newMimc[id]; ok {
		return constructor(seed, cs), nil
	}
	return MiMC{}, errors.New("unknown curve id")
}
NewMiMC returns a MiMC instance, than can be used in a gnark circuit
package mimc
import (
	"errors"
	"math/big"
	"github.com/consensys/gnark-crypto/ecc"
	"github.com/consensys/gnark/frontend"
)
type MiMC struct {
	params []big.Int                   
	id     ecc.ID                      
	h      frontend.Variable           
	data   []frontend.Variable         
	cs     *frontend.ConstraintSystem  
}