Commit Graph

91 Commits

Author SHA1 Message Date
Kim De Mey a110f091af
Discv5 eh2 (#240)
* Discv5: More error handling improvements

- More results usage and raises pragma annotations
- Remove ENode related code and adjust Node object
- Misc.

* Add sendMessage and catch RlpError when decoding WhoAreYou

* Make the receive proc exception free

Except for `Exception` hah...

* Address review comments

* And another bunch of results and raises annotations

* Send Nodes Message also on 0 nodes and remove usage of broken require
2020-05-28 10:19:36 +02:00
kdeme 17586c05d7 Remove waku protocol from the repository 2020-05-07 20:49:00 +03:00
kdeme 74df90e16d
discv5: further prepping for results error handling 2020-04-30 00:11:03 +02:00
kdeme 3a6d4336bc
Bunch of renames to use same nomenclature as spec 2020-04-27 14:13:00 +02:00
kdeme 5dec5c5a9b discv5 encoding: First steps to move to result based error handling 2020-04-24 15:51:04 +02:00
kdeme 59ba3704d6 Add resolve proc + test 2020-04-21 21:27:32 +02:00
kdeme d3c9ccea67 Fix FindNode to return nodes with specific distance + tests 2020-04-21 21:27:32 +02:00
Jacek Sieka fd6caa0fdc
Rlp experimental (#227)
* rlp: remove experimental features

* avoid range library

* trie: avoid reference-unsafe bitrange type
2020-04-20 20:14:39 +02:00
Zahary Karadjov ee5c9619e0
Fix test_discoveryv5 2020-04-15 05:55:08 +03:00
Zahary Karadjov 6513cd9eff
Allow application-supplied ENR fields in discv5 2020-04-15 05:32:52 +03:00
Kim De Mey 99c68d40f7
Fix idAtDistance (#219) 2020-04-14 11:08:08 +02:00
Jacek Sieka 0b110f3287
Secp more refactor (#211)
* simplify some modules

* mark several modules with raises
* fix clearing of keys in auth.nim
* fix keyfile case dropping off
* fix keyfile stream storage
* uuid should be output in lowercase

* enode: simplify API
2020-04-06 18:24:15 +02:00
Jacek Sieka ac5bbe4d3d
keys: get rid of deprecated calls (#213) 2020-04-04 18:44:01 +02:00
Jacek Sieka 02d661503f
refactor secp interface (#203)
* avoid mix of exceptions and return codes
* introduce result
* use deprecated compatibility API to avoid big-bang refactoring
* loosely based on nim-libp2p secp as well as the rust-secp256k1 wrapper
* oh, boy does our secp256k1 wrapper need updating - we're _far_
behind...
2020-04-02 14:40:29 +02:00
kdeme 65bed1ae94 discv5: allow creation of node without external ip 2020-03-30 13:32:15 +02:00
kdeme 0a33744d1c Add IP checks on ENRs received from Nodes packet 2020-03-27 14:38:45 +01:00
kdeme c3f23e5912 Minor adjustments to store bootnode records + deletion test 2020-03-24 16:45:15 +02:00
kdeme 713f2e3bff Add getNode and tests for findNode and getNode 2020-03-24 16:45:15 +02:00
kdeme f46f9f1418 discv5: add start call 2020-03-24 16:45:15 +02:00
kdeme 00c2bac465 Fix logDist and add test 2020-03-24 16:45:15 +02:00
kdeme 267a06dbe6 discv5: Pass bootstrap nodes and add deletion of nodes 2020-03-24 16:45:15 +02:00
Zahary Karadjov 2b7a25175b Prepare for Nim 1.2 2020-03-24 14:05:30 +02:00
kdeme 596f148974
Discv5: Specifically handle decryption errors 2020-03-10 16:01:04 +01:00
kdeme 0d63ff4db4 (Quick)fix hashing for handshakes by adding Ports + tests 2020-02-29 14:16:27 +01:00
kdeme 1fab56f894 Introduce more constants and type aliases 2020-02-29 14:16:27 +01:00
kdeme ad99b96e12 Drop additional handshakes with same nodeid and add timeout on handshakes 2020-02-29 14:09:12 +01:00
kdeme fc844347a4 Don't send Whoareyou on handshake failure 2020-02-29 14:09:12 +01:00
kdeme f81a87f31b Add lookupLoop and other fixes
- add lookupLoop
- protocol close / closeWait
- randomize randomNodes
- Use lookupRequestLimit
- Remove invalid check in neighbours proc
- Add lookup test
2020-02-29 14:00:58 +01:00
Andrea Maria Piana 394b65ec03
Add eventually test checks 2020-02-27 10:11:55 +01:00
Andrea Maria Piana 9dcbb91ae0
Handle waku status-update code 22
This commits adds handling of the status-update code, 22, according to
waku specs 0.4 a6a9d6bcb1

Removes unused codes 20,21
2020-02-26 14:40:21 +01:00
Zahary Karadjov 1369cf3a30 [discv5] Allow specifying the advertised IP address; Code style improvements 2020-02-22 02:24:33 +02:00
kdeme 5aebab3f41 Fix duplicates in returned values of a lookup 2020-02-20 15:09:31 +02:00
kdeme 3dd26e8526 Attempt to further add the discv5 wire test vectors 2020-02-20 15:09:31 +02:00
Zahary Karadjov cfdb26db40
[discv5] Advertise the LibP2P TCP port properly 2020-02-18 01:07:23 +02:00
kdeme 79dfe88ec8 Add Packet encodings tests 2020-02-17 22:38:56 +02:00
kdeme bb6a3c2ce1 Add basic node discovery test 2020-02-17 22:38:56 +02:00
kdeme c679b9d436 Fix priority check of topic-interest versus bloom filter 2020-02-14 11:03:47 +02:00
Zahary Karadjov a1a6862c7c More spec compliant ENR
* Don't use signed integers in RLP
* Don't store IP addresses as var-sized ints (use fixed-sized blobs instead)
* Allow constructing ENR from ENode.Address
2020-02-12 11:58:14 +02:00
kdeme 18799f1491
Add StatusOptions alist and remove WakuMode 2020-02-04 20:25:50 +01:00
kdeme ab287d234a
Fix ordering of Waku/Whisper queue and increase queue capacity 2020-01-14 18:17:37 +01:00
kdeme cb2bc388f1
rename newFilter to initFilter for correctness 2020-01-14 15:33:21 +01:00
Yuriy Glukhov 3527d47cb5 Added packet encoding tests 2020-01-08 17:22:43 +02:00
Yuriy Glukhov 992aeecd29 ENR parsing and serialization 2020-01-08 17:22:43 +02:00
kdeme f3357602e4
Allow light node to send the regular way #131 2019-12-20 11:56:12 +01:00
kdeme 4dde3af2d5
p2pRequestComplete parameters are not a separate list 2019-12-19 23:23:06 +01:00
kdeme f940162b6b
Implement Waku mode PoC 2019-12-12 23:23:26 +01:00
kdeme 7128df8838 Fix Windows test by waiting till server has added peer 2019-12-12 17:35:30 +02:00
kdeme f0582a084c Quick implementation for multiple mail requests by using cursor 2019-12-12 17:35:30 +02:00
kdeme 9bd042c265 First go on Waku mail client addition 2019-12-12 17:35:30 +02:00
kdeme 59ba63f74c
Fix double whisper types export by moving to separate file 2019-12-10 12:18:52 +01:00