Project has been updated to use nimble as a build system. All required dependencies have been added.
All nim-eth mirrored files were added to a private folder in the libp2pdht module. A libp2pdht/discv5 module was added to alias the nim-eth modules (which will change over time).
Test have been updated to use status-im/asynctest. This PR uses a branch of asynctest that supports async suite before/after. This seemed like the only the tests would work without throwing gcsafe errors.
All tests working.
Protocol was actually made of two sub-protocols.
* a lower-half handling authentication, encryption,
key exchange, and request/response. This is now called
Transport.
* an upper-half handling DHT messages. This is still
called Protocol.
Separation of these two reduces dependencies and simplifies
modifications to the protocol.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>