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
0be863d2de
Add raises annotations to make exception tracking work ( #336 )
...
See https://github.com/status-im/nim-chronos/pull/166
2021-03-24 12:52:09 +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
Zahary Karadjov
de2d43a7e7
Remove some unused code from NBC by making it RLPx-specific
2020-10-05 17:28:58 +03:00
Zahary Karadjov
73c1bb817c
Adapt to latest snappy; Avoid decompression bombs
2020-08-19 14:14:59 +03: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
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
Yuriy Glukhov
ca8519ef61
Workaround compilation error cause by chronos newFuture changes
2019-04-10 18:16:18 +03:00
kdeme
9e5cf2086c
Address review feedback
2019-04-08 13:51:32 +03:00
kdeme
7fd501136f
Add catch for exception in any of the disconnect handlers
2019-04-08 13:51:32 +03:00
kdeme
5550179dd1
Fix unhandled exceptions #3
2019-04-08 13:51:32 +03:00
Ștefan Talpalaru
49fff3a859
Merge branch 'fix_nimbus_build' of github.com:jangko/nim-eth into jangko-fix_nimbus_build
2019-03-28 17:32:37 +01:00
Zahary Karadjov
c4da31505e
The end of the dispatchMessages loop is not really an error
2019-03-28 14:47:25 +02:00
andri lim
7a6b195021
fix nimbus/premix appveyor build
2019-03-27 19:53:28 +07:00
Zahary Karadjov
c10da74b77
Addressed review comments
2019-03-26 17:32:17 +02:00
Zahary Karadjov
dc2b6170b5
Improved error-handling; Timeouts in all handshakes
2019-03-26 17:32:17 +02:00
Jacek Sieka
cbe67720ce
use Moment for tracking timeouts ( #25 )
...
* use Moment for tracking timeouts
* Use the new Duration type throughout RLPx
2019-03-25 11:32:18 -06:00
Zahary Karadjov
f0bf0570d1
Support compiling with json logging; Drop package_visible_types
2019-03-25 02:10:09 +02:00
Ștefan Talpalaru
9146e8e2f0
assert() -> doAssert()
2019-03-13 23:15:26 +01:00
Zahary Karadjov
f15cbbae90
Support types with custom RLP serialization in param positions
2019-03-13 23:22:22 +02:00
Zahary Karadjov
3efec171a6
Make the APIs compatible with libp2p
...
Lib2P2 handles RPC requests and responses with separate streams
while DEV2P2 is relying on tagged messages transmitted over a
single stream. To cover both models through the same application
code, we introduce a new `response` variable in the request handlers.
The user is supposed to issue a call to `response.send` in order to
reply to the request. Please note that the `response.send` signature
is strongly typed and depends on the current message.
2019-03-12 13:36:39 +02:00
Yuriy Glukhov
eb1a04e93b
Fixes #13
2019-02-27 13:14:22 +02:00
Mamy Ratsimbazafy
07cf801b97
Rebrand asyncdispatch2 to chronos ( #2 )
...
* Rebrand asyncdispatch2 to chronos
* fix nimble path to chronos
2019-02-06 17:01:04 +01:00
Yuriy Glukhov
e75a00f86e
Moved eth-p2p to eth
2019-02-05 17:40:29 +02:00