Commit Graph

260 Commits

Author SHA1 Message Date
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
kdeme 419bc4730d
More sensible timeout values for the Whisper/Waku handshake 2020-02-06 19:19:54 +01:00
Zahary Karadjov 7e836a2c96 Fix a logical typo 2020-02-06 16:32:00 +01:00
Zahary Karadjov d70bb85392 Review all exceptions and classify them as Defects and Errors 2020-02-06 16:32:00 +01:00
Zahary Karadjov 81e0ae12b0 Allow starting the discovery v5 bootstrap process without ENR records 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
Jacek Sieka 1756f7b41f
result -> stew/result (#159) 2020-01-24 09:24:29 +01:00
kdeme 3ee5651b7c Rework the metrics and add metrics for dropped envelopes due to full queue 2020-01-23 17:58:59 +02:00
kdeme 84015d0d1d Set of just the msg hash is enough, fixes #156 2020-01-23 17:58:59 +02:00
Zahary Karadjov fc327718fb
Added PrivateKey.toKeyPair 2020-01-21 18:58:26 +02:00
kdeme 85a2b24920
Lower verbosity of logging in processQueue 2020-01-14 19:02:34 +01:00
kdeme ab287d234a
Fix ordering of Waku/Whisper queue and increase queue capacity 2020-01-14 18:17:37 +01:00
kdeme 5e476dd7d2
Make counter metrics public 2020-01-14 15:36:21 +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 129710d3e4 Liveness checks 2020-01-08 17:22:43 +02:00
Yuriy Glukhov 5795054dbf Per @kdeme's comments. Limit ENR size, fix rlp len check 2020-01-08 17:22:43 +02:00
Yuriy Glukhov 9772fbe470 Use addresses instead of stubs as db keys 2020-01-08 17:22:43 +02:00
Zahary Karadjov 988d743c9a Introduce enr.TypedRecord that can replace enr.Record in the future 2020-01-08 17:22:43 +02:00
Zahary Karadjov 39857d57f0 Fix build issues manifesting in our controlled build environment 2020-01-08 17:22:43 +02:00
Zahary Karadjov 54bb1adac9 Export some private APIs needed in nim-beacon-node 2020-01-08 17:22:43 +02:00
Yuriy Glukhov eda6c2906c Discv5 WIP 2020-01-08 17:22:43 +02:00
Zahary Karadjov edd674662a Handle missing keys in enr.Record.get() 2020-01-08 17:22:43 +02:00
Yuriy Glukhov 992aeecd29 ENR parsing and serialization 2020-01-08 17:22:43 +02:00
Yuriy Glukhov 091239a710 Addded non-recoverable signature type and routines 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 48c9adbb6a
Changes to be more according to Waku spec 2019-12-19 22:48:51 +01:00
kdeme ac30d7f589 Add envelope valid and dropped metrics for Waku/Whisper 2019-12-18 11:32:05 +02:00
kdeme a514db1427
Fix PoW to be specifically uint64 as it is a float64 value that is being passed 2019-12-17 17:07:34 +01:00
kdeme f940162b6b
Implement Waku mode PoC 2019-12-12 23:23:26 +01:00
kdeme b2656cc3a9 Fix review comments, or not really, just add more TODOs 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
Ștefan Talpalaru 655fc43751
doPortMapping(): don't set the external IP
because some IGDs can't handle it
2019-12-12 01:57:05 +01: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
Zahary Karadjov 5bd7baaf9c
Fix regression in RLPx 2019-12-09 23:14:11 +02:00
Zahary Karadjov 3f721e7ef6
[P2P DSL] Add a separate genUserHandlerCall helper 2019-12-09 16:18:22 +02:00
Jacek Sieka 4c6878343c tighten a few imports 2019-12-09 14:37:21 +02:00
kdeme 9165ff8549
Merge pull request #137 from status-im/no-zero-send
Do not send empty messages packets at interval
2019-12-09 03:58:12 -08:00
kdeme 0229547c41
More explicit Exceptions + fix re-raising 2019-12-04 12:34:37 +01:00
kdeme 2dcccf19b2 Do not send empty messages packets at interval 2019-12-03 16:50:05 +01:00
andri lim 146eeddd65 add trie/db.nim 2019-12-03 01:41:57 +02: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
kdeme bc2b76f09a cleaner solution for sharing the queue 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
kdeme 8d45b22033 Remove duplicated code in waku_protocol by importing whisper_types 2019-11-21 19:35:27 +02:00
Oskar Thoren b4638a5867 wkk -> waku rlpx based on discussion 2019-11-21 19:35:27 +02:00
Oskar Thoren 4be5382a15 Waku version 0 (after fix-119) 2019-11-21 19:35:27 +02:00
Oskar Thoren c841906593 Waku Fix crash due to zero version 2019-11-21 19:35:27 +02:00
Oskar Thoren 5281e46634 Waku: rename capability to wkk
According to `doc/p2p.md` capability should be three letters.  I can't see this
in https://github.com/ethereum/devp2p/blob/master/rlpx.md#capability-messaging
though, but better safe than sorry.

This also dismabiguates and stays somewhat consistent in vocabulary:

Whisper -> Waku
whisper -> waku
shh     -> wkk
2019-11-21 19:35:27 +02:00
Oskar Thoren 243d2d8b27 waku: whisper-> waku; version 0 2019-11-21 19:35:27 +02:00
Oskar Thoren 2c49d4adb8 waku/0 init 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 9c19f1e5b1 First go at splitting up Whisper protocol layer and message structures 2019-11-19 11:03:49 +00:00
zah 7a39a50c27 Allow devp2p sub-protocols to use version 0; Fix #119 (#121) 2019-11-19 08:16:35 +01:00
kdeme 680e52ec24 Do not start the peer pool loop when discovery is disabled 2019-11-08 13:42:15 +00:00
kdeme bcc3ab3955
Add Whisper staging nodes and Status bootnodes 2019-11-05 11:49:31 +01:00
kdeme 44400ee549 Fix nim v1.0.2 compile issues 2019-10-29 14:44:26 +02:00
Zahary Karadjov aa1f7f2c06
Fix a typo 2019-10-23 13:36:22 +03:00
Zahary Karadjov 52b5ca9c9c
Make the 'single record inlining' behavior optional 2019-10-23 13:01:53 +03:00
Zahary Karadjov 517adbbbca
Small fixes needed for the latest ETH networking spec 2019-10-23 12:10:19 +03: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 17f90920e0 Add unittest for rlpx thunk payload tests 2019-10-23 09:35:33 +09:00
kdeme 77834d1df0 Beginning of bzz protocol + simple handshake tester 2019-10-17 21:59:32 +09:00
kdeme 02a6906c01
Remove the p2p disconnect handling from dispatchMessages 2019-10-14 12:01:01 +02:00
kdeme 757ac1ab86
Remove standalone define and add specific afl/libFuzzer define 2019-10-11 15:25:11 +02:00
kdeme 9ee208876d
Fix possible AssertionError in ByteRange due to invalid access 2019-10-10 14:40:40 +02:00
kdeme 903b72a5c8
Fix AssertionError on ByteRange slice with nonexistent position 2019-10-10 13:14:24 +02:00
kdeme 9b69910570
Fix AssertionError that should be RlpTypeMismatch 2019-10-10 13:07:20 +02:00
kdeme 87f2a51a1b
Fix segfault + fix IndexError (causes also segfault in release) 2019-10-09 22:19:41 +02:00
kdeme 4cf3262902
Fix possible AssertionError in typedranges on rlp reading invalid list 2019-10-09 22:06:00 +02:00
kdeme c64a370fe7 Whisper documentation updates 2019-10-03 17:08:39 +03:00
kdeme 5bc7612e2f Add bloom size check and no longer raise on sendMsg failures 2019-10-03 16:38:14 +03:00
kdeme 9dccfe27f4 Use stew/endians2 for endianness conversion 2019-10-03 16:38:14 +03:00
Jacek Sieka 0f020d5df8
compat with latest chronos 2019-09-10 17:28:38 -04: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
kdeme 9fb79d0d88 Refactor bootnodes and whispernodes 2019-08-16 08:50:58 +02:00
Zahary Karadjov f0315b0988
RLP serialization routines for types used in the ETH2 spec 2019-08-15 17:45:25 +02:00
Zahary Karadjov f8da72ca96 Fix the build when json logging is enabled 2019-08-14 17:19:55 +02:00
Yuriy Glukhov 4552e0333d
Export EIP155_CHAIN_ID_OFFSET 2019-08-13 10:42:50 +02:00
Zahary Karadjov 1fe3de6c39
Changes required for the latest ETH2 spec 2019-08-07 06:13:45 +03:00
Yuriy Glukhov 3e1ce94961 Moved Transaction encodings from nimbus 2019-08-06 10:33:55 +03:00
kdeme aef7522788 Disconnect on failed persistWorkItem + add comments 2019-08-01 17:28:41 +03:00
kdeme 5389884ecf
Add max open files limit of 512 to rocksdb init 2019-07-18 21:15:35 +02:00
Ștefan Talpalaru e195868a64
metrics: port to new API 2019-07-17 00:21:37 +02:00
Ștefan Talpalaru 0a5ffaa8b3
small syntax change for collector declaration 2019-07-16 13:10:34 +02: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 a1a285c290 NAT: move setControlCHook() outside the library 2019-07-11 12:13:13 +03:00
Ștefan Talpalaru 93637fa060
Merge branch 'master' of github.com:status-im/nim-eth 2019-07-10 15:35:19 +02:00
Ștefan Talpalaru 6bd5c35986
forgot about metric naming convention 2019-07-10 15:34:50 +02:00
kdeme da5a7a54ed
Merge pull request #79 from status-im/removecheck
Cleanup unneeded check in getBlockHeaders
2019-07-10 15:00:15 +02:00
kdeme fb7743e9db Prepare for allowing BlockNumber as int64 2019-07-10 14:27:11 +02:00