40 Commits

Author SHA1 Message Date
Csaba Kiraly
b65e0aa7ef comment out test instead of using skip()
after calling skip(), the test was still
executed and failed. Better to disable the
whole test.
2022-03-07 15:11:31 +11:00
Csaba Kiraly
e8a8c28848
Merge pull request #16 from status-im/build/add-ci-action-2
Add CI Actions
2022-03-06 16:07:47 +01:00
Eric Mastro
0d0da71b65
build: Add CI Actions
Add CI workflow to run tests.

Add code coverage workflow that publishes results to CodeCov.

Add CI and coverage badges to README.

Bump asynctest to allow for `setupAll` and `teardownAll`.

Add local coverage nimble task.

Combine tests in to a testAll file.
2022-03-04 18:04:50 +11:00
Eric Mastro
55a43b2d89 chore: bump asynctest, use all/each test harness nouns
Using `setupAll`/`setupEach` and `teardownAll`/`teardownEach` for test harnesses.
2022-02-25 14:06:43 +11:00
Eric Mastro
acd03ff831 feat: reorg project to add nimble build system
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.
2022-02-25 09:10:43 +11:00
Eric Mastro
617a98bd01 Initial commit with nimble initialised repo
# Conflicts:
#	README.md
2022-02-25 09:10:43 +11:00
Csaba Kiraly
f530a24a25 moving all RLP enoding from messages to messages_encoding 2022-02-24 12:39:17 +01:00
Csaba Kiraly
aca6febd34 fixup: fix trace message 2022-02-24 12:36:29 +01:00
Csaba Kiraly
7dd0ff1bb6 fixup: fix trace messages 2022-02-23 22:12:32 +01:00
Csaba Kiraly
db4ccc8bee just reordering 2022-02-23 22:12:32 +01:00
Csaba Kiraly
6dcdaf6173 moving encode and decode to the same level 2022-02-23 22:12:32 +01:00
Csaba Kiraly
043f195e19 separating message structures and encoding 2022-02-23 22:12:32 +01:00
Csaba Kiraly
b6943d3382 adding minimal readme 2022-02-23 22:12:32 +01:00
Csaba Kiraly
e6cea68326 tests: give more time to bootstrap 2022-02-23 22:12:32 +01:00
Csaba Kiraly
0b301fdeae moving test under dht folder 2022-02-23 22:12:32 +01:00
Csaba Kiraly
811389c863 moving code under dht folder 2022-02-23 22:12:32 +01:00
Csaba Kiraly
bef2b711e5 just a comment 2022-02-23 22:12:32 +01:00
Csaba Kiraly
b118a34043 tests: make all tests work 2022-02-23 22:12:32 +01:00
Csaba Kiraly
77d93d71bd tests: generate PeerRecords from NodeId
this is just for the testing
2022-02-23 22:12:32 +01:00
Csaba Kiraly
54fde4e09e test fix: init nodes correctly 2022-02-23 22:12:32 +01:00
Csaba Kiraly
19792de3dc adding GetProviders support 2022-02-23 22:12:32 +01:00
Csaba Kiraly
f78dafb798 add some trace messages 2022-02-23 22:12:32 +01:00
Csaba Kiraly
57a339d326 quick fix local lookup 2022-02-23 22:12:32 +01:00
Csaba Kiraly
31d99ad56e adding protobuf encoding 2022-02-23 22:12:32 +01:00
Csaba Kiraly
af168a8a24 fixup 2022-02-23 22:12:32 +01:00
Csaba Kiraly
be5d911cda partial tests (AddProvider) 2022-02-23 22:12:32 +01:00
Csaba Kiraly
43a27ed997 exposing ProvidersProtocol and underlying Discovery 2022-02-23 22:12:32 +01:00
Csaba Kiraly
86328cd17e adding base for test_discovery
based on discv4 version
2022-02-23 22:12:32 +01:00
Csaba Kiraly
722fbba547 adding addProvider messaging and calls 2022-02-23 22:12:32 +01:00
Csaba Kiraly
ca3f634239 import eth/[rlp, keys, async_utils, net/utils] directly from eth 2022-02-23 22:11:27 +01:00
Csaba Kiraly
f5d3a9f381 cleaning up imports and dependencies 2022-02-23 22:03:37 +01:00
Csaba Kiraly
cdd5d6cd34 protocol: introduce sendResponse
This completes the Request/Response semantics.
2022-02-23 22:02:59 +01:00
Csaba Kiraly
70a06b5c44 rename protocol.sendMessage to sendRequest
This is a request part of a Request/Response, generating
also a reques ID. So call it what it is.
2022-02-23 22:02:51 +01:00
Csaba Kiraly
d4af5b8a44 protocol.sendMessage: allow destination as (NodeId, Address) 2022-02-23 22:02:41 +01:00
Csaba Kiraly
a7d8082fc7 transport.sendMessage: avoid passing address twice
Node already has the address, so it does not make sense to
pass it as a separate parameter.
2022-02-23 22:02:31 +01:00
Csaba Kiraly
8298acd410 attempt to clean up send proc names
- interface between Transport and Protocol is at the encoded Message
level
2022-02-23 21:59:01 +01:00
Csaba Kiraly
b03d5eb3c7 fixup: fix imports in test_discoveryv5_encoding
Note that the test does not compile, but it was
also not compiling before

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-02-23 11:02:06 +01:00
Csaba Kiraly
fd350b4fe5 splitting protocol in lower and upper half
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>
2022-02-23 11:02:06 +01:00
Csaba Kiraly
a33da803a5 move message encoding to separate file
Messages and message encoding has nothing
to do with the underlying authenticated
communications framework. Separate these
two.
2022-02-23 11:02:06 +01:00
Csaba Kiraly
cfa97f4995 initial commit based on nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46 2022-02-14 01:51:28 +01:00