When replacing by a generic:
matchingOrderBigInt(curve) and curve.getCurveOrder() fail to match types.
Changing to curve.getBigInt(kScalarField) doesn't work either, and changing the internal impl of getBigInt to use typeof(CurveOrder) triggers a compiler crash
Constantine is continuously fuzzed on Google OSS-Fuzz through CryptoFuzz.
The test harness is https://github.com/guidovranken/cryptofuzz/blob/042cac0727b99a39dfecfd61d994f5972e2e7e3d/modules/constantine/constantine_harness.nim and has been broken by refactoring preceding the v0.1.0 release:
This PR:
lowlevel_*.nim
files so that it doesn't depend on internal folder structure.^
and~^
It also fails to enable creating a generic version of https://github.com/guidovranken/cryptofuzz/blob/042cac0727b99a39dfecfd61d994f5972e2e7e3d/modules/constantine/constantine_harness.nim#L67-L89
When replacing by a generic:
matchingOrderBigInt(curve)
andcurve.getCurveOrder()
fail to match types.Changing to
curve.getBigInt(kScalarField)
doesn't work either, and changing the internal impl ofgetBigInt
to usetypeof(CurveOrder)
triggers a compiler crash