KonradStaniec
3c8915cae1
Track send buffer and properly handle back pressoure when window is to small to process data ( #437 )
...
* Add separate datastructure to keep track of window
* Asynchronously block write until until new space in snd buffer
* Introduce write loop
* Properly handle write cancellation
* Proper handling of sending fin packet
* Reset remote window after configured amount of time
2021-12-02 15:46:18 +01:00
KonradStaniec
139c6fa2a8
Track current bytes in flight ( #434 )
2021-11-24 17:49:13 +01:00
KonradStaniec
ce296ff76e
Make initial state of socket configurable ( #428 )
...
* Make initial state of socket configurable
2021-11-19 11:36:46 +01:00
KonradStaniec
d5e5ec9f90
Add possibility to connect with requested conneciton id ( #425 )
...
* Improve error handling when initiating connection
* Add api to connect with requested id
* Add callback to allow only specific incoming peers
2021-11-18 10:05:56 +01:00
Kim De Mey
22757db83b
Fix logDistance for BE arch and remove toBytes for NodeId ( #427 )
...
toBytes for NodeId wasn't selected by compiler byt if it does
get selected, it will fail on the test cases due to the
countdown that is done in logDistance.
Set to toBytesBE properly now and do countup, that should make
it correct also for BE architecture.
Removed toBytes to avoid confusion and avoid this one being
selected ever. The only place toBytes for NodeId was used is in
sessions.nim makeKey func and there also the stint one
(thus native endianness) was selected in Nim 1.2.x.
Native endianness is fine there as it is only an internal
representation.
2021-11-17 22:55:19 +01:00
KonradStaniec
73d9bf4c80
Add ackNr validation ( #424 )
2021-11-15 11:32:00 +01:00
KonradStaniec
8139aae346
Advertise correct rcv buffer size ( #423 )
...
* Advertise correct rcv buffer size
2021-11-12 10:58:49 +01:00
KonradStaniec
b671f6c901
Handling of fin packet ( #421 )
...
* Handling of connection finalization by sending and receiving FIN packets
2021-11-09 15:29:59 +01:00
Kim De Mey
df802248d8
Remove test_merkleization as it is moved to nim-ssz-serialization ( #422 )
2021-11-09 09:00:46 +01:00
KonradStaniec
7a113ffa48
Add handling of reset packet ( #420 )
...
* Add handling of reset packet
2021-11-05 09:41:41 +01:00
KonradStaniec
d4cc42241d
Add handling of out of order packets ( #418 )
...
* Add handling of out of order packets
2021-11-04 07:38:46 +01:00
KonradStaniec
34bac6e703
Utp code cleanup ( #417 )
...
* Refactor tests and move socket to separate file
* Move sockets handling to separate class
* Abstract over underlying transport
* Fix bug with receiving duplicated SYN packet
* Fix race condition in connect
2021-10-28 11:41:43 +02:00
KonradStaniec
fd4f78d1c0
Add timeout loop ( #416 )
...
* Modify outbuffer
Each element of outbuffer keeps encoded packet ,number
of transmissions of givern packet and information if
given packet needs to be re-send.
* Add initial handling of timeouts
* Add tests for syn re-sends
2021-10-25 09:58:13 +02:00
Kim De Mey
9a1bb5e125
Make ENR $ call print the IP address prettier ( #409 )
2021-10-19 14:13:09 +02:00
KonradStaniec
88795c6477
Add sending and receiving data procedures ( #407 )
...
* Add sending and receiving data procedures
2021-10-19 13:36:57 +02:00
Kim De Mey
f101c83626
Enr rlp lists ( #408 )
...
* Don't fail ENR decoding when value is an RLP list
* Store RLP raw list in the ENR field pair instead
* Add ENR kList FieldKind so lists can be treated differently
Treated differently now when printing out the ENR, mentioning
that it is a raw RLP list
2021-10-19 09:26:14 +02:00
KonradStaniec
6fbf129ba9
Add initial handling of acks ( #406 )
...
* Add initial handling of acks
Add implemetaion of circular buffer based on reference implementation
Add way to test number of packet in flight
Add acking of initial syn packet
2021-10-15 13:38:51 +02:00
KonradStaniec
7ae287ad1b
Add rudimentary connect function ( #405 )
...
* Add rudimentary connect function
2021-10-11 14:16:06 +02:00
Kim De Mey
5125a438db
Make the custom distances call somewhat more accessible ( #404 )
...
And make the naming more consistent
2021-10-07 16:03:12 +02:00
Kim De Mey
1babe38226
Allow for tcp/udp ports to always be configured ( #402 )
...
* Allow for tcp/udp ports to always be configured
- Allow for an ENR to be build with tcp and udp ports also when
no IP address is provided
- In the address set-up always provide best efforttcp and udp ports
also when configuration of external ip (and/or ports) fails.
2021-09-29 18:50:23 +02:00
KonradStaniec
9f2f101070
Add initial skeleton of utp protocol ( #397 )
...
* Add initial impl of utp over udp
* Add more comments
* Add licenses and push declarations
* Add tests to nimble task
* Pr comments
Use better random generator
Raise assert error in case of buffer io exception
2021-09-13 14:54:06 +02:00
KonradStaniec
a95b205cf7
Modify nodes verification ( #398 )
...
* Modify nodes verification
* Move nodes verification to separate module
By moving verification to separate module it can be re-used
in different contexts not only in discoveryv5.
2021-09-13 14:20:26 +02:00
KonradStaniec
e219547d64
Fix lookupDistances function and make it public ( #399 )
2021-09-10 17:26:22 +02:00
Kim De Mey
df6020832b
Build fuzzing tests in CI and fix current fuzzing tests ( #396 )
...
* Build fuzzing tests in CI and fix current fuzzing tests
* Build fuzzing tests separately (fix Windows CI)
2021-09-07 16:00:01 +02:00
Kim De Mey
bea1f1c6a1
Clean-up routing table object constructions ( #395 )
2021-09-07 11:56:16 +02:00
KonradStaniec
c078f85e48
Expose id and address of talkreq sender ( #393 )
2021-09-07 10:49:18 +02:00
KonradStaniec
bfadcfbfaf
Make Routing table distance function configurable ( #392 )
2021-09-02 14:00:36 +02:00
KonradStaniec
aa3fbbd95d
Add proof verification to public api ( #390 )
2021-08-12 16:15:02 +02:00
KonradStaniec
50c0c5f123
Add helpers to generate merkle proofs ( #381 )
2021-08-09 12:17:21 +02:00
Kim De Mey
9bc4fa366a
Let talkreq directly return the seq[byte] for easier API ( #384 )
2021-07-30 16:04:14 +02:00
KonradStaniec
e3fba48f0f
add merkle proof verification ( #379 )
...
* add merkle proof verification
* remove redundant buffer
* simplify verification function
2021-07-23 13:40:47 +02:00
KonradStaniec
20ad6504b7
Add merkleization tests ( #378 )
...
* Add merkleization tests
* Fix typo in build file
* add test prefix
2021-07-21 09:24:07 +02:00
Kim De Mey
eb0908e33f
Push raises Defect to rlpx and accompanying changes ( #373 )
2021-07-14 10:35:35 +02:00
Kim De Mey
79911ed5d8
Log distance to uint16 and add public neighbours calls ( #371 )
...
* Use uint16 instead of uint32 for discv5 log distance
* Make neighboursAtDistances and neighbours calls available
2021-07-13 10:05:46 +02:00
Kim De Mey
41127eaee8
Remove portal wire code which was moved to nimbus-eth1 repo ( #370 )
2021-07-09 22:14:31 +02:00
jangko
a10d301085
implement EIP-1559 Transaction and BlockHeader
2021-06-27 20:12:47 +07:00
kdeme
e2e30247bf
Add implementation of Portal wire protocol
2021-06-09 14:57:30 +02:00
Jacek Sieka
3514ee6484
sqlite: quick exec with result ( #361 )
2021-05-27 11:31:34 +02:00
Jacek Sieka
68e6aadc29
sqlite3: support option type
...
.. and any integer when writing but don't support int32 on reads -
internally sqlite will truncate on overflow which isn't nice.
2021-05-26 13:32:31 +03:00
Kim De Mey
8abe6b7144
Add support for discv5 talk protocols ( #357 )
2021-05-20 09:49:46 +02:00
Jacek Sieka
1995afb87e
kvstore fixes ( #350 )
...
Storing large blobs in a "WITHOUT ROWID" table turns out to be extremely
slow when the tree must be rebalanced.
* Split out keystore capability into separate interface, making each
keystore a separate instance
* Disable "WITHOUT ROWID" optimization by default
* Implement prefix lookup that allows iterating over all values with a
certain prefix in their key
2021-05-17 15:55:57 +02:00
jangko
ea8530f6a0
EIP-2718: fixes BlockBody rlp encoding
2021-05-17 10:07:05 +07:00
jangko
61d5327f55
implement eip2718: transaction type envelope
...
also add more test cases for both tx and receipt
rlp encoding decoding
2021-05-15 08:18:08 +07:00
kdeme
755729c6a1
Fix several compiler warnings
...
Mostly replacing deprecated calls
2021-05-11 09:24:23 +02:00
kdeme
90b4724492
Adjust for chronosStrictException usage in rest of eth/p2p
2021-05-06 17:20:54 +02:00
kdeme
b0474c0d40
Add raises annotations to discovery.nim
...
And add push raises Defect, remove unneeded gcsafe and remove
all usage of inline.
2021-04-27 21:11:54 +02:00
kdeme
9fed10de88
Allow for discv4 chronos strict usage
...
And group p2p tests that can be run with strict usage along the way.
2021-04-27 10:09:54 +02:00
Jamie Lokier
a48687d277
discv4: Add test associated with fix to Kademlia crash ( #341 )
...
It's been confirmed that the test fails if the Kademlia crash workaround isn't
in `findNode`, and passes with it there.
Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-04-06 18:46:32 +01:00
Kim De Mey
762415319c
Add build_dcli target and add it to CI ( #344 )
...
* Add build_dcli target and add it to CI
* Fix local imports for dcli
* And use local imports for all other files too
* Use local imports in tests and rlpx protocols
2021-04-06 13:33:24 +02:00
Kim De Mey
207b783253
Nimble file cleanup and group discv5 tests to compile once ( #340 )
2021-03-29 15:26:34 +02:00
Kim De Mey
0700ec770f
Improve network address discovery / NAT setup ( #323 )
...
* Add search for best route and refactor setupNat to setupAddress
* Update setupAddress and make enr ports in discovery optional
* Add specific error log when no route is found
* Use bindIP if it is public
* Adjust some log levels
2021-03-02 17:13:29 +01:00
jangko
dda2bec8aa
turn networkId into distinct uint
2021-02-13 17:43:17 +07:00
Kim De Mey
a339944bcf
Some discv5 cleanup / refactor ( #326 )
...
* Use Address in HandshakeKey
* Refactor + comments + dcli use queryRandom
* Rename types.nim to messages.nim
2021-02-02 22:47:21 +01:00
kdeme
bfbad64d83
Add update of ENR on newly discovered address
2021-02-01 20:30:55 +02:00
kdeme
689eef2c11
Move IpAddress into the pong message
2021-02-01 20:30:55 +02:00
kdeme
e43ee6ef9c
Add ip address voting through pong responses
2021-02-01 20:30:55 +02:00
kdeme
68c9b7b3ad
Fix lookup to sort and query closest nodes
2020-12-15 13:24:57 +01:00
Kim De Mey
d024ea8e85
Change invalid distance warning to debug ( #316 )
...
And also:
* move connected_peers metric so it does get added where it
shouldn't.
* imports cleanup
2020-12-14 12:21:03 +01:00
Mamy André-Ratsimbazafy
482ea988c0
Add support for array[N, byte] in SQLite queries
2020-11-29 11:00:09 +02:00
Kim De Mey
b4c1391be9
Discv5 ip limits for routing table ( #308 )
...
* Add ip limits to routing table and routing table buckets
* Fix order of ip limit check and duplicate check for replacement
* Fix ip limit for node with updated ip in ENR
* Fix bug where address wouldn't update on ENR update
and update some comments
* Reuse some add/remove code in routing table
* Fix seen bug on ENR update in routing table
* Rework addNode to make sure to do address check always
and adjust some logs.
* More documentation on the ip limits in routing table [skip ci]
2020-11-26 18:20:15 +01:00
kdeme
784a868705
Add handshake tests for discovery v5.1
2020-11-13 12:34:49 +01:00
kdeme
44637cdd8e
Remove support for discovery v5.0
2020-11-13 12:33:07 +01:00
Zahary Karadjov
5dff021cbc
Add a helper type used in web3 and elsewhere to denote blocks
2020-11-12 20:56:31 +02:00
Kim De Mey
71d6dbd1b4
Discv5 small adjustments ( #307 )
...
* Use checkedEnumAssign in discv5.1
* Some renaming according to discv5 spec nomenclature
2020-10-29 22:04:37 +01:00
Kim De Mey
6bdf1b4b0f
Simplify UseDiscv51 compile flag ( #305 )
2020-10-19 21:04:53 +02:00
kdeme
ce5f6e4c1f
Add two fuzzing targets for discovery v5.1
2020-10-16 21:20:47 +03:00
kdeme
65ed0c4850
Activate discovery v5.0 handshake tests again
2020-10-16 21:20:47 +03:00
kdeme
c28cba3589
Limit request id to maximum 8 bytes
2020-10-16 21:20:47 +03:00
kdeme
301067c869
Fix RequestId encoding/decoding and improved tests
...
- RequestId to variable rlp byte array
- Do encoding and decoding steps in the message tests
- Do sign and verify in the nonce sign test
2020-10-16 21:20:47 +03:00
kdeme
17ef0b25e0
Update to support the latest discv5.1 specification
2020-10-16 21:20:47 +03:00
kdeme
ce2cd2323c
Support findnode with multiple distances in discv5.1
2020-10-16 21:20:47 +03:00
kdeme
8042d72711
Add discovery v5.1 implementation
2020-10-16 21:20:47 +03:00
Zahary Karadjov
cc0d15ccac
Richer Sqlite API
...
* Adds a strongly typed API for creating custom SQL queries and
executing them
* Uses destructors to simplify the error handling in the init logic
2020-10-13 21:44:42 +03:00
Kim De Mey
6b17531d48
Improvements on dropping of challenges and handling of too large distance ( #296 )
...
- drop handshake challenge on invalid handshake
- send empty nodes reponse when distance is > 256
- misc
2020-09-30 09:43:51 +02:00
Kim De Mey
c9caafb2a4
Replace memory db with lrucache for temporary storage of sessions ( #292 )
2020-09-10 14:49:48 +02:00
jangko
7afa22cf41
add scrypt kdf to keyfile and implement test for it
2020-07-27 19:34:36 +07:00
Kim De Mey
38bf21b4f7
Update fuzzing readme.md
2020-07-21 10:58:14 +02:00
kdeme
f0638eb3f1
Add rlp_decode fuzz test + some corpus generate code
2020-07-20 17:09:15 +02:00
kdeme
4e4836a0fe
Add discv5 fuzzing test targets
2020-07-20 14:17:44 +02:00
kdeme
ec260dcfe4
Add & update tests
2020-07-17 22:48:14 +02:00
kdeme
1eae8f93f9
Fix empty ENR list in auth-response properly + potentially request new ENR on revalidation
2020-07-17 16:18:50 +02:00
kdeme
84fd39a8f8
Update enrs in buckets and replacement caches and fix empty ENR list in AuthResponse
2020-07-17 11:14:08 +02:00
kdeme
c7ac9f54b3
Refactor the findNode code + add tests
2020-07-15 15:27:22 +02:00
Kim De Mey
7febbec673
Use brHmacDrbgGenerate for all random operations in discovery ( #272 )
2020-07-13 14:34:53 +02:00
Kim De Mey
f3de959261
Discv5 readme ( #278 )
...
* Add discovery v5 readme + test_discv5 task
* Move hkdf tests to test file and add to nimble task
2020-07-12 23:53:27 +02:00
Kim De Mey
28a8d52308
Fix enr deserialization crash + more tests + fuzz test ( #274 )
...
* Fix enr deserialization crash + more tests + fuzz test
* CI: Install depsOnly
2020-07-11 01:28:53 +02:00
Kim De Mey
8d2614a1ad
Merge pull request #266 from status-im/enr-update
...
Enr updating
2020-07-09 17:12:30 +02:00
Kim De Mey
2c5eeded6d
Small fuzzing readme correction [skip ci]
2020-07-09 11:01:35 +02:00
kdeme
4f3df3c9b2
Change update back to use var parameter of Record
2020-07-08 14:28:54 +02:00
kdeme
d3db83fa0a
Extra test on newProtocol
2020-07-08 13:16:07 +02:00
kdeme
0fb21e72d7
Add updateEnr and allow for table constructor usage in newProtocol
2020-07-08 11:45:58 +02:00
kdeme
72420d7f17
Allow for passing in previous enr at discovery protocol creation
2020-07-07 23:39:32 +02:00
kdeme
57302fcf52
Allow for multiple enr fields to be inserted + enr update proc
2020-07-07 22:48:26 +02:00
kdeme
3bbe757fe3
Add record size check on init + add insertFieldPair call + tests
2020-07-07 17:19:15 +02:00
Jacek Sieka
484fbcab1b
use bearssl rng throughout ( #265 )
...
* use bearssl rng throughout
* seeder can fail
* imports and exports
* modules, sigh
* one more try
* move var
* even fewer thread vars
* remove out-of-date genrated files
2020-07-07 10:56:26 +02:00
Kim De Mey
9a467225fb
Add routing table metrics + tweaks + fixes ( #261 )
...
- routing table metrics + option in dcli
- only forward "seen" nodes on a findNode request
- setJustSeen & replace on ping AND findnode
- self lookup only at start
- revalidate 10x more
- use bitsPerHop (b) of 5
- small fix in resolve
- small fix in bucket split
2020-06-30 13:35:15 +02:00
kdeme
5ffe6bb8ff
Add more routing table kbucket tests
2020-06-23 17:54:12 +02:00
kdeme
ba19465892
Functional replacement cache
2020-06-23 16:11:58 +02:00
kdeme
ceb4a20463
Fix depth calculation for bucket splitting
2020-06-23 09:35:12 +02:00
kdeme
2d7b3440f2
make bitsPerHop configurable + add routing table tests
2020-06-23 09:35:12 +02:00
Jacek Sieka
61feae0f21
secp: requiresInit updates ( #258 )
...
* secp: requiresInit updates
* fixup!
* clean up mapconverts
2020-06-22 18:07:48 +02:00
kdeme
4d0a7a46ba
Update fuzzing tests now that the helpers have moved to ntu
2020-06-12 18:58:05 +03:00
Kim De Mey
225a9ad41c
Add predicate filter option for randomNodes ( #251 )
...
* Add predicate filter option for randomNodes
* Further ValidIpAddress fixes
* Add gcsafe/noSideEffect and add test case
2020-06-11 21:24:52 +02:00
Kim De Mey
1c77cc1d3d
Fix discovery after introduction of ValidIpAddress ( #248 )
2020-06-09 11:09:35 +02:00
kdeme
6dd820840a
Add simple auth header encode/decode test
2020-06-04 15:03:41 +02:00
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
Kim De Mey
cea370c4fa
Merge pull request #231 from status-im/discv5-results
...
Improve error handling in discv5
2020-05-01 23:47:11 +02:00
kdeme
74df90e16d
discv5: further prepping for results error handling
2020-04-30 00:11:03 +02:00
Jacek Sieka
205b57fe71
port kvstore from nim-beacon-chain ( #230 )
...
* port kvstore from nim-beacon-chain
* remove old database backends
* use kvstore in trie database
* add sqlite dep
* avoid template param double evaluation
* clean up heterogenous lookup todo
2020-04-27 15:16:11 +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
Jacek Sieka
1646d78d83
cleanups ( #226 )
2020-04-18 10:17:59 +02:00
Jacek Sieka
7c709551a5
secp: use upstream convenience API ( #224 )
2020-04-17 13:13:08 +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
andri lim
fb6e27d698
rlp: fix test_object_serialization
2020-04-09 17:08:10 +03: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
42b36d1aef
secp: handle invalid keys better ( #210 )
...
* secp: handle invalid keys better
we can't guarantee with the type system that invalid keys don't exist,
so we have to introduce error handling for it
2020-04-04 11:40:47 +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
b951ec45dc
Address review comments from Enterlist PR
2020-03-01 11:46:38 +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
Zahary Karadjov
e89e59aa59
`enterList` now returns a bool
2020-02-27 20:09:05 +02: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
5ca1a21ecd
Enable the public-private key consistency test
2020-02-19 11:21:23 +02:00
Zahary Karadjov
6ef16785ce
Add equals operator for keys
2020-02-19 11:11:45 +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
Kim De Mey
b89874f6cc
Merge pull request #162 from status-im/waku-alist
...
Add StatusOptions to Waku Status packet
2020-02-06 20:42:31 +01:00
Zahary Karadjov
9364a2640a
Get rid of some remaining references to rlp.PrematureFinalizationError
2020-02-06 16:32:00 +01:00
kdeme
18799f1491
Add StatusOptions alist and remove WakuMode
2020-02-04 20:25:50 +01:00
kdeme
40b96e2d3c
Check range on deserialising enum
2020-02-04 11:15:01 +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
andri lim
e0e49b1711
implement hexary trie replicate iterator
2019-12-11 11:50:45 +02:00
kdeme
59ba63f74c
Fix double whisper types export by moving to separate file
2019-12-10 12:18:52 +01:00
Jacek Sieka
4c6878343c
tighten a few imports
2019-12-09 14:37:21 +02:00
kdeme
0229547c41
More explicit Exceptions + fix re-raising
2019-12-04 12:34:37 +01:00
andri lim
942bfb7ea5
support trie with multiple root
2019-12-03 01:41:57 +02:00
kdeme
4976bd9fb9
Replace getCurrentException and getCurrentExceptionMsg
2019-12-02 23:35:34 +02:00
kdeme
bc2b76f09a
cleaner solution for sharing the queue
2019-11-21 19:35:27 +02:00
kdeme
f02f358bc3
Fix waku bridge test
2019-11-21 19:35:27 +02:00
kdeme
a8a55f16dc
Implement quick Waku - Whisper bridge by sharing the queue + adjust test
2019-11-21 19:35:27 +02:00
Oskar Thoren
c5b42000b8
Fix waku connect tests
...
- WakuWhisper and Whisper peers connect
- WakuWhisper node picks up Whisper messages
2019-11-21 19:35:27 +02:00
Oskar Thoren
40cddc4eec
waku 0 replace whisper waku
2019-11-21 19:35:27 +02:00
Oskar Thoren
73fcfdbad1
waku zero import shh tests
2019-11-21 19:35:27 +02:00
Yuriy Glukhov
10e35d3def
Support for compressed public key format
2019-11-21 11:50:12 +02:00
kdeme
a54eba2757
Split off whisper config related tests
2019-11-19 14:08:20 +01:00
kdeme
44400ee549
Fix nim v1.0.2 compile issues
2019-10-29 14:44:26 +02:00
kdeme
98be627bcc
Make msgId fixed int32
2019-10-23 09:35:33 +09:00
kdeme
5850186ca0
Add EIP-8 test + activate rlpx thunk test
2019-10-23 09:35:33 +09:00
kdeme
17f90920e0
Add unittest for rlpx thunk payload tests
2019-10-23 09:35:33 +09:00
kdeme
ae49155ae7
add ingress mac on foo check in rlpx auth test
2019-10-22 11:11:39 +02:00
kdeme
77834d1df0
Beginning of bzz protocol + simple handshake tester
2019-10-17 21:59:32 +09:00
kdeme
f8d506dcb1
Use unittest and no longer possible crash on unhandled exception
2019-10-17 21:55:58 +09:00
kdeme
dc9f7351a1
Make json test actually fail when individual test fails
2019-10-17 21:55:58 +09:00
kdeme
72d6c46950
Add the rlpx fuzzing thunk test
2019-10-16 11:56:24 +02:00
kdeme
757ac1ab86
Remove standalone define and add specific afl/libFuzzer define
2019-10-11 15:25:11 +02:00
kdeme
4b154e56c7
Fix aflLoop for non afl-clang-fast
2019-10-09 21:23:22 +02:00
kdeme
f1604ca929
Add readme file
2019-10-08 16:57:31 +02:00
kdeme
19930cc94d
Add aflInit and aflLoop + add comments
2019-10-08 16:23:57 +02:00
kdeme
18225f93a5
Clean-up test_shh_connect
2019-10-03 16:38:14 +03:00
kdeme
eb4aee0260
Use less verbose / operator instead of DirSep
2019-10-02 14:45:29 +03:00
kdeme
2a0793ce60
Can use ospaths apparently
2019-10-02 14:45:29 +03:00
kdeme
94dee80aeb
Add whisper encode decode test and rename rlp test
2019-10-02 14:45:29 +03:00
kdeme
0874f41a53
Fix quotes
2019-10-02 14:45:29 +03:00
kdeme
2b8921690c
default init when init template is not used
2019-10-02 14:45:29 +03:00