nim-eth/tests/fuzzing/enr/generate.nim
tersec ca4898e24a
switch NAT module from ValidIpAddress to IpAddress (#647)
* switch NAT module from ValidIpAddress to IpAddress

* fix dcli build

* switch discv5 from ValidIpAddress to IpAddress

* fix fuzzers build

* mostly finish nim-eth to IpAddress transition
2023-11-10 09:28:21 +03:00

26 lines
701 B
Nim

import
std/[os, strutils, options],
stew/shims/net,
../../../eth/keys, ../../../eth/p2p/discoveryv5/enr,
../fuzzing_helpers
template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0]
const inputsDir = sourceDir / "corpus"
proc generate() =
let
rng = newRng()
privKey = PrivateKey.random(rng[])
ip = some(parseIpAddress("127.0.0.1"))
port = some(Port(20301))
block:
let record = enr.Record.init(1, privKey, ip, port, port)[]
record.raw.toFile(inputsDir / "enr1")
block:
let record = enr.Record.init(1, privKey, ip, port, port, [toFieldPair("test", 1'u)])[]
record.raw.toFile(inputsDir / "enr2")
discard existsOrCreateDir(inputsDir)
generate()