Commit Graph

67 Commits

Author SHA1 Message Date
Zahary Karadjov 218192aa09
Allow LibP2P to break the ties with RLPx by allowing more natural RPC syntax
Integrate the Stew macro printer and use to store the generated code for Whisper
2020-05-24 01:10:00 +03: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 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
Zahary Karadjov e89e59aa59
`enterList` now returns a bool 2020-02-27 20:09:05 +02:00
Ștefan Talpalaru f4712aaf74
rename safeEnterList() to enterList()
in order to avoid unhandled exceptions due to malformed data received
over the network
2020-02-25 16:10:09 +01:00
kdeme 0229547c41
More explicit Exceptions + fix re-raising 2019-12-04 12:34:37 +01:00
kdeme 4976bd9fb9 Replace getCurrentException and getCurrentExceptionMsg 2019-12-02 23:35:34 +02:00
Zahary Karadjov a54fdc8073 Cosmetic renames to match the protocol naming conventions 2019-11-25 19:55:41 +02:00
zah 7a39a50c27 Allow devp2p sub-protocols to use version 0; Fix #119 (#121) 2019-11-19 08:16:35 +01:00
Zahary Karadjov 14e99e0711
Changes related to the new ETH interop spec
* RPC requests and responses with a single parameter are now inlined
2019-10-23 12:10:16 +03:00
kdeme 98be627bcc Make msgId fixed int32 2019-10-23 09:35:33 +09:00
kdeme 02a6906c01
Remove the p2p disconnect handling from dispatchMessages 2019-10-14 12:01:01 +02:00
kdeme 9ee208876d
Fix possible AssertionError in ByteRange due to invalid access 2019-10-10 14:40:40 +02:00
kdeme 87f2a51a1b
Fix segfault + fix IndexError (causes also segfault in release) 2019-10-09 22:19:41 +02:00
Bruno Škvorc f3aad8f925 Small clarification to protocol name length doc
As per conversation in PR
2019-08-20 21:33:16 +03:00
kdeme 8451ce6c3b Add necessary re-exports, fixes #91 2019-08-20 13:59:34 +03:00
nolash 5dc8117a07 Allow longer rlpx protocol names (for compatability with swarm) 2019-08-19 20:33:38 +03:00
Zahary Karadjov 1fe3de6c39
Changes required for the latest ETH2 spec 2019-08-07 06:13:45 +03:00
Ștefan Talpalaru 620573f63c use new nim-metrics API 2019-07-16 14:06:46 +03:00
kdeme 14ae046354 Increase rlpx maxMsgSize *10 2019-07-11 17:19:19 +02:00
Ștefan Talpalaru d445412297
use nim-metrics 2019-07-10 03:01:30 +02:00
Jacek Sieka 75c7c62651
std_shims -> stew 2019-07-07 11:56:01 +02:00
kdeme 3d2436d3df Provide empty RLP list data for devp2p ping/pong messages, for Parity compatibility 2019-07-04 09:43:29 +02:00
kdeme 934a247c23 Add/update some debugging info 2019-07-04 09:43:29 +02:00
Ștefan Talpalaru 799b1a7bb0
initial statistics collection setup 2019-06-26 14:49:38 +02:00
Zahary Karadjov 07484bfc88
Refactorings enabling more code reuse in the libp2p back-ends 2019-06-24 05:12:23 +03:00
Zahary Karadjov 8acdbedfbd
Fix a simple merge issue 2019-06-24 05:12:23 +03:00
Zahary Karadjov 11fce4122e
Pre and post-serialization steps for send procs 2019-06-24 05:12:23 +03:00
Zahary Karadjov 9191bc7851
Bugfix: Fix an empty name field in the ETH/LES protocol info 2019-06-24 05:12:23 +03:00
Zahary Karadjov bac87ff6d2
Restore the compilation of Nimbus by restoring the support for p2pProtocol decorators 2019-06-24 05:12:23 +03:00
Zahary Karadjov a492e3c218
More flexible definitions of Responders 2019-06-24 05:12:23 +03:00
Zahary Karadjov 1adad7f4da
Fixes for compiling beacon_node in RLPx mode 2019-06-24 05:12:22 +03:00
Zahary Karadjov e4ec051fc6
Take advantage of the new shared DSL helpers to simplify the RLPx back-end implementation 2019-06-24 05:12:22 +03:00
Zahary Karadjov 638442070d
Simplified the generation of sender procs 2019-06-24 05:12:22 +03:00
Zahary Karadjov 76bb2cde5c
More shared code extracted out of RLPx 2019-06-24 05:12:22 +03:00
Zahary Karadjov f761889518
Refactored the p2pProtocol macro to eliminate most code duplication in the backends 2019-06-24 05:12:22 +03:00
kdeme 0a5d6118c2 Add check if message loop is finished during connection stage 2019-06-21 15:58:40 +03:00
kdeme dc02a5b28d Fix two AssertionErrors from being raised all the way up 2019-06-14 16:15:09 +03:00
kdeme b44675eda5
Same error handling for rlpxAccept as for rlpxConnect 2019-06-11 14:38:02 +02:00
kdeme f8bdec88c9
Rework duplicate connections check and fix #36 2019-06-11 12:46:26 +02:00
cheatfate 88b3b949a8 Fix return value handling for transport.write(). 2019-05-30 13:37:45 +03:00
kdeme b977996b0a Fix unhandled exceptions 2019-05-15 15:10:11 +03:00
kdeme 42fbbb8961
Make the wait + close not blocking 2019-05-09 14:26:02 +02:00
kdeme 6ba61488ff Fix transport leaks + handle disconnects in message loop 2019-05-09 10:35:02 +02:00
kdeme 442c3d9f7b More whisper changes (#43)
* Make messages with invalid ID a catchable error as we should not disconnect on this

* Add unimplemented message IDs used by Status

* Make whisper log less verbose + add comment on duplicate messages

* Cleanup + add documentation
2019-04-26 07:36:54 -06:00
Jacek Sieka e1af5a0c02
don't swallow random exceptions (#11) 2019-04-22 19:31:12 -06:00
kdeme 5d9239ef17 Quick fix for when removePeer gets called before dispatcher is initialized 2019-04-18 17:17:57 +02:00
kdeme 7cdd31e982 Add option to set specific protocol for observer 2019-04-18 17:17:57 +02:00