go-ethereum
go-ethereum copied to clipboard
all: remove kilic dependency from bls12381 fuzzers
The kilic bls12381 implementation has been archived. It shouldn't be necessary to include it as a fuzzing target any longer.
This also adds fuzzers for G1/G2 mul that use inputs that are guaranteed to be valid. Previously, we just did random input fuzzing for these precompiles.
Looks like this fails currently:
func TestCrossG1MultiExp(t *testing.T) {
input := []byte("0")
fuzzCrossG1MultiExp(input)
}
This looks good to me!
Ah there's one thing: We only fuzz the MSM precompiles using random inputs. I'm going to add two additional fuzzers that fuzz these with inputs that are known to be valid.
Ah there's one thing: We only fuzz the MSM precompiles using random inputs. I'm going to add two additional fuzzers that fuzz these with inputs that are known to be valid.
I think it would be good to add the identity/zero point as input to one of these, along with other known valid points
Yeah definitely. Actually, I need to give the added fuzzers a longer run and prob adjust the seed corpus to increase the coverage.
Sorry, this seems to have been forgotten a bit, and bitrotted. Could you please rebase this?
Oh, this is missing a cross fuzzer for g2 multiexp.