Commit Graph

405 Commits

Author SHA1 Message Date
Jacek Sieka 936440fccd
use libp2p peer events to track peer (#1468)
this resolves some peer counting issues that were happening because the
lifetime future in PeerInfo was unreliable (multiple PeerInfo instances
existed per peer)

In addition, this solves another race condition: when connecting to a
peer and later dialling that protocol, it is not certain that the same
connection will be used if there's a concurrent incoming peer connection
ongoing - better not make too many assumptions about who sent statuses
when.
2020-08-10 12:58:34 +02:00
Ștefan Talpalaru cd0f4a2d23
bump vendor/nim-metrics 2020-08-09 16:38:30 +02:00
Ștefan Talpalaru 5e9c91381e
bump submodules (#1472)
* fork News

* bump submodules
2020-08-08 18:00:19 +02:00
nbc-bump-bot[bot] 3d39757321
auto-bump nim-libp2p (#1461)
Co-authored-by: = <arnetheduck@users.noreply.github.com>
2020-08-07 18:29:13 +02:00
nbc-bump-bot[bot] 8d14e0aca6
auto-bump nim-libp2p (#1446)
Co-authored-by: = <arnetheduck@users.noreply.github.com>
2020-08-06 12:45:14 +02:00
Jacek Sieka 6d3f1b93be bump 2020-08-05 19:34:59 +03:00
Jacek Sieka 221f372dbc use peer id in a number of places 2020-08-05 19:34:59 +03:00
nbc-bump-bot[bot] b13b04bd7b
auto-bump nim-libp2p (#1444)
Co-authored-by: = <dryajov@users.noreply.github.com>
2020-08-05 13:02:14 +02:00
nbc-bump-bot[bot] ae072d39e6
auto-bump nim-libp2p (#1427)
Co-authored-by: = <stefantalpalaru@users.noreply.github.com>
2020-08-05 03:16:10 +02:00
Zahary Karadjov 25474d055b
Bump eth2-testnets 2020-08-04 17:27:19 +03:00
nbc-bump-bot[bot] 771ed7044a
auto-bump nim-libp2p (#1412)
Co-authored-by: = <dryajov@users.noreply.github.com>
2020-08-04 04:54:19 +00:00
Dmitriy Ryajov 52d9d269d7
bump libp2p (delayed send, without hooks) (#1413)
* use `switch.isConnected`

* libp2p

* add timeout to publish

* use isConnected

* adjust timeouts

* latest libp2p master

* do not drop peers
2020-08-03 16:43:22 +00:00
Zahary Karadjov 8c2a9a4950
Switch back to the old undepleted Infura key; Bake in the Medalla genesis state 2020-08-03 03:59:45 +03:00
Zahary Karadjov d052623381
Fix a trivial issue with 'make medalla' and add more logging 2020-08-03 00:19:25 +03:00
Zahary Karadjov c293254ded Add 'deposits import' command; Switch to NJS when loading the keystores and improve the data validation 2020-08-02 23:00:43 +03:00
Zahary Karadjov 2a94f6eca6 medalla-deposit target capable of executing mass deposits 2020-08-02 23:00:43 +03:00
Jacek Sieka 25d7a17745
Revert "bump"
This reverts commit adbcde07f2.
2020-08-02 11:57:46 +02:00
Jacek Sieka adbcde07f2
bump 2020-08-02 11:46:12 +02:00
Ștefan Talpalaru 8ab9174208
bump vendor/nim-chronicles (#1405) 2020-07-31 01:48:58 +02:00
Ștefan Talpalaru f2512a0c71
Nim-1.2.6-RC1 (#1398)
* Nim-1.2.6-RC1

* Azure: bump cache key
2020-07-30 14:08:49 +02:00
Zahary Karadjov 0c60e452e7 Allow the deposit contract deployment block to be specified as a number (needed for Medalla) 2020-07-28 18:13:01 +03:00
Zahary Karadjov 40ea9e9886 Integrate the Wallet support with the Deposits creation; Produce Launchpad-compatible deposits 2020-07-28 07:36:25 +03:00
Zahary Karadjov fcd412f7a1 Finish the 'create wallet' command; Addresses #1319 2020-07-28 07:36:25 +03:00
tersec 20a2525390
v0.12.2 beacon chain protocol update (#1378) 2020-07-27 12:59:57 +02:00
Zahary Karadjov 5a4f6b7e5e
Restore the SSZ fuzzign tests to working state 2020-07-22 16:20:07 +03:00
Jacek Sieka 6712c7bdfd
Bumps2 (#1336)
* bumps
2020-07-17 07:02:10 +00:00
Ștefan Talpalaru 9571cb5f7a
bump vendor/nimbus-build-system 2020-07-16 21:08:27 +02:00
Ștefan Talpalaru 88a9629c2b
bump submodules 2020-07-14 03:01:23 +02:00
Dmitriy Ryajov b0470d7318
bumps (#1289)
Co-authored-by: Jacek Sieka <jacek@status.im>
2020-07-13 22:05:04 +02:00
Jacek Sieka d6897409e4
bump-eth (#1310) 2020-07-13 16:58:56 +02:00
Kim De Mey 80cba4db91
Bump nim-eth (#1305) 2020-07-13 12:46:05 +02:00
Eugene Kabanov c544a3b250
Bump nimcrypto. (#1301)
* Bump nimcrypto.

* Add more recent version
2020-07-11 15:14:23 +02:00
Zahary Karadjov c06c60dcaf
Merge branch 'devel' into cli-reforms 2020-07-10 16:23:27 +03:00
Kim De Mey 396825344c
Bump nim-eth and adjust code for it (#1293) 2020-07-10 11:17:15 +02:00
Zahary Karadjov 540b2828b2
Adapt the local sim scripts to use the new run-time presets 2020-07-10 01:08:54 +03:00
Zahary Karadjov 318b225ccd
Merge devel and resolve the conflicts 2020-07-08 15:36:03 +03:00
Zahary Karadjov c4af4e2f35
Working test suite with run-time presets 2020-07-08 02:02:14 +03:00
Jacek Sieka 6fe0a623f5
Crypto rng (#1284)
* use bearssl rng throughout

* bump

* bump

* move keygen out of crypto
2020-07-07 17:51:02 +02:00
Zahary Karadjov 98761afc64
Run beacon_node --network=altona without initial Eth1 syncing 2020-07-02 18:52:48 +03:00
Zahary Karadjov e342b96d2e
Embed the Altona metadata in the NBC executable 2020-07-02 18:14:11 +03:00
cheatfate 76c12d493e Add check for late attestation sent messages in logtrace tool. 2020-07-02 10:36:04 +03:00
Kim De Mey c43bf48de2
Bump vendor/nim-eth (#1268) 2020-07-01 16:05:42 +02:00
Jacek Sieka ef2f037571
bump libp2p (#1267) 2020-07-01 13:41:40 +02:00
Dmitriy Ryajov 76a9708dff
bumping libp2p to latest master (#1258) 2020-06-30 09:43:39 +02:00
tersec b4db2ad693
remove v0.11.3 support; add block_sim to CI (#1253)
* remove v0.11.3 support; add block_sim to CI

* rm stray PERSISTENT_COMMITTEE_PERIOD

* remove TopicFilter.InteropAttestations

* bump two comment-spec-refs to v0.12.1
2020-06-29 18:08:58 +00:00
Zahary Karadjov 31e31bb30c Switch to monitoring of Blocks; More accurate genesis detection and faster Eth1 syncing 2020-06-29 02:18:48 +03:00
Jacek Sieka 816779733e
use the eth2 message id for gossip (in logging too) (#1246)
* use the eth2 message id for gossip (in logging too)

* bump

* add spec link
2020-06-28 22:06:50 +02:00
Jacek Sieka 70d468ac2b
bump libp2p (#1232) 2020-06-26 21:01:00 +02:00
Zahary Karadjov 384e512031 Implement EIP-2386 wallets; Progress towards a CLI for interactive wallet creation
For more information:
4494da0966/EIPS/eip-2386.md (specification)
2020-06-24 23:06:05 +03:00
Zahary Karadjov f20f077827 Introduce some short-cuts in the Eth1 monitoring for faster syncing 2020-06-24 19:22:52 +03:00
tersec 12ee61421f
bump nim-blscurve to switch default to v0.12.x BLS (#1228) 2020-06-24 14:53:16 +00:00
Jacek Sieka 1d709c09f4
secp: requiresInit (#1210)
* secp: requiresInit

* bump
2020-06-22 21:40:19 +02:00
Zahary Karadjov a2e28bef27 Further removal of enum support; Bump modules 2020-06-22 20:14:14 +03:00
Ștefan Talpalaru c06682f588
Makefile: move "nat-libs" to "deps" 2020-06-22 17:08:29 +02:00
Zahary Karadjov 7211a99086 Smooth out the differences between Ganache and Infura; Working local sim and Altona target 2020-06-22 17:30:04 +03:00
Zahary Karadjov 14274587cf More user-friendly logging during mainchain monitoring 2020-06-22 17:30:04 +03:00
Zahary Karadjov ffb613d3c6 Usability enhancements for Tmux
* Press 'q' to quit Tmux
* In case of errors, Tmux will wait for a keypress before closing a pane
2020-06-22 17:30:04 +03:00
Zahary Karadjov 3d9aff5d23 Fix some logical typos introduced in the rebase 2020-06-22 17:30:04 +03:00
Zahary Karadjov 1def383ad1 Reword the Tmux setup to handle all simulation scenarios in more visible way 2020-06-22 17:30:04 +03:00
Zahary Karadjov e9d68e2f7b Add simulation mode that bootstraps from an Eth1 ganache instance 2020-06-22 17:30:04 +03:00
Zahary Karadjov 7d3160b0b5 Local sim now includes a prometheus server, a Ganache instance and a simulation dashboard server (in Tmux mode) 2020-06-22 17:30:04 +03:00
Jacek Sieka a661ecbae1
bump libp2p (#1209) 2020-06-21 18:45:28 +02:00
Ștefan Talpalaru e61776b9ab
Merge pull request #1105 from status-im/Nim-1-2-2
Nim-1.2.2
2020-06-17 19:28:11 +02:00
Jacek Sieka 073046f8ab bump libp2p 2020-06-17 13:21:12 +00:00
Ștefan Talpalaru e072997e97
Nim-1.2.2 2020-06-17 14:42:22 +02:00
Viktor Kirilov 00537b391c updated news - includes a fix for the test suite of nim-web3 2020-06-17 11:15:55 +03:00
Ștefan Talpalaru 9335533503 bump submodules 2020-06-16 04:27:20 +00:00
tersec f3fd7e17a3 Revert "bump libp2p (#1173)"
This reverts commit 95a8a0e81c.
2020-06-15 14:31:28 +00:00
Jacek Sieka 95a8a0e81c
bump libp2p (#1173) 2020-06-14 13:45:05 +02:00
Ștefan Talpalaru cd80fab5a9
add link to nimbus-build-system docs 2020-06-13 02:01:19 +02:00
Kim De Mey 68a8b7d969
Filter discovery nodes on forkId (#1162) 2020-06-12 16:14:18 +02:00
Jacek Sieka f9c5769d42
bump libp2p 2020-06-11 10:12:52 +02:00
Jacek Sieka 016cc22173
show peer info on connect (#1155) 2020-06-11 07:14:26 +02:00
Ștefan Talpalaru 4517bf5dd4
Merge pull request #1156 from status-im/bump
bump submodules
2020-06-09 22:29:16 +02:00
Dustin Brody 8f7541959a allow compile-time switching between v0.11.3 and v0.12.1 2020-06-09 18:39:05 +00:00
Dustin Brody cc13153fc6 initial 0.12.1 beacon chain spec 2020-06-09 18:39:05 +00:00
Ștefan Talpalaru 2a70f8c9d1
bump submodules 2020-06-09 20:00:33 +02:00
李婷婷 9c1da836f7 fix all comments 2020-06-10 00:50:10 +08:00
李婷婷 77364548e2 rebase from devel 2020-06-10 00:29:29 +08:00
Viktor Kirilov b3710bfc0b updated nim-json-rpc to use instead of in logScope 2020-06-09 17:07:47 +03:00
Ștefan Talpalaru 63d8966316 bump submodules 2020-06-06 17:20:54 +00:00
Dmitriy Ryajov 99b2d6758a
upping libp2p (#1135) 2020-06-06 10:35:36 +02:00
Zahary Karadjov 83eeff4da9
Bump chronos 2020-06-05 20:10:43 +03:00
Zahary Karadjov 1e51ee1d01
Bump nim-eth 2020-06-05 19:37:42 +03:00
Zahary Karadjov 0c78fc39e7
Use the latest LibP2P 2020-06-05 19:34:12 +03:00
Zahary Karadjov 32bc4d9096 Use {.push raises.} in spec/datatypes
This was an attempt to trigger a previously reported crash, but
everything turned out to be fine.
2020-06-05 19:33:30 +03:00
Eugene Kabanov b22e5b6d1d
Fix #1108 (#1119) 2020-06-04 13:32:50 +02:00
Jacek Sieka 56ffb696be
reorder ssz (#1099)
* reorder ssz

* split into hash_trees and ssz_serialization, roughly, for hashing and
IO
* move bitseqs into ssz (from stew)
* clean up imports

* docs, imports
2020-06-03 15:52:02 +02:00
Zahary Karadjov ef90a45509
Bump testutils 2020-06-01 16:58:28 +03:00
Zahary Karadjov 0bcdabfcdf Detect another invalid SSZ input found through fuzzing
The first offset of an SSZ object should always have a fixed constant
value. Otherwise, some unused bytes may appear between the fixed portion
and the dynamic portion.

Please note that this fix shutds down the minimal forward compatibility
currently supported by the SSZ format (and thus, the expected behavior
must be clarified in the SSZ spec).
2020-05-30 14:47:35 +03:00
Zahary Karadjov 8d1fb2f3a6 Bump nim-eth to fix 'make witti' 2020-05-29 21:13:58 +03:00
Kim De Mey e33c8d9067
Bump nim-eth and accompanying discv5 cleanup (#1081) 2020-05-29 12:03:29 +02:00
Ștefan Talpalaru 4b731b266d
bump vendor/nimbus-build-system 2020-05-29 00:18:47 +02:00
Mamy André-Ratsimbazafy 49c33f0890 Use v0.12 ready BLS curve 2020-05-28 15:09:56 +00:00
Dmitriy Ryajov e238e8186c
bumping libp2p to latest master (#1075) 2020-05-28 06:38:07 +02:00
Ștefan Talpalaru 489565b5ab
Makefile: small testnet targets refactoring (#1078) 2020-05-28 06:28:10 +02:00
Zahary Karadjov 47864c7c6c
Fix wrong bump 2020-05-27 20:14:31 +03:00
Zahary Karadjov fe2bcb20d2
Bump modules to fix 'make witti-dev' 2020-05-27 20:13:18 +03:00
Zahary Karadjov 28128f4d2f Add a handler for the Goodbye message
The lack of body of `goodbye` in sync_protocol.nim was preventing
the respective LibP2P protocol to be mounted and advertised on the
network.

Adding a body fixes that, but I've also made some changes in the
P2P protocol codegen that will prevent the issue from happening
again (no body is now considered the equivalent of having an empty
body).
2020-05-26 22:17:26 +03:00
Zahary Karadjov b6c9de968f
Fix some build problems and warnings 2020-05-25 20:33:03 +03:00
Zahary Karadjov f41d823d07
Bump modules 2020-05-25 13:41:42 +03:00
Zahary Karadjov 833f19e942 Reform the networking layer in order to handle the new stricter SSZ API 2020-05-24 19:00:34 +03:00
Ștefan Talpalaru f16fb31060 bump vendor/nimbus-build-system 2020-05-22 13:51:37 +00:00
Ștefan Talpalaru e4173860f0
bump vendor/nimbus-build-system (#1050)
* bump vendor/nimbus-build-system

* Jenkins: switch to Bash for the "Build" stage
2020-05-21 00:02:05 +02:00
Ștefan Talpalaru 46a99c35f0
bump vendor/nimbus-build-system 2020-05-20 15:55:31 +02:00
Zahary Karadjov 202bbbab6c Bump some modules 2020-05-20 15:51:45 +03:00
Zahary Karadjov 52c3ebf631 Fuzzing tests for SSZ 2020-05-20 15:51:45 +03:00
Ștefan Talpalaru 383b22795c
bump submodules (#1043) 2020-05-20 06:57:39 +02:00
Dustin Brody 6c941b1ff7 spec v0.11.3 update 2020-05-19 17:16:55 +00:00
Zahary Karadjov a99977b772 Progress towards #991; Enable the distinct ssz.List type 2020-05-19 15:53:03 +03:00
tersec 8432932c11
update to spec v0.11.2 to keep compatible with Schlesi (#1036)
* update to spec v0.11.2 to keep compatible with Schlesi

* update spec/state_transition_epoch spec references to v0.11.2

* bump other spec refs
2020-05-18 23:05:27 +00:00
Dmitriy Ryajov 398166369b bump libp2p to latest master 2020-05-18 21:51:03 +00:00
Jacek Sieka 6be7d64e8c
bump libp2p (#1031) 2020-05-18 10:11:21 +02:00
Ștefan Talpalaru c232fd0b3d
bump vendor/nimbus-build-system 2020-05-15 14:27:21 +02:00
Jacek Sieka 6c9e2d98a8 bump libp2p 2020-05-14 16:41:19 +03:00
Jacek Sieka a605c7244e simplify libp2p snappy
* handle a few more exceptions gracefully (in libp2p also)
* unify libp2p varint parsing
* decompress directly into seq
* avoid seq slice
* stop oversized snappy processing earlier (lowers risk)
2020-05-14 16:41:19 +03:00
Viktor Kirilov 926d1c546e updated news, also no longer allowing event handlers to raise anything other than a Defect in the Web3 API 2020-05-14 14:10:26 +03:00
Zahary Karadjov e537ed94d6
Bump some modules 2020-05-13 12:19:58 +03:00
Zahary Karadjov 75c1c6a95c Enable Snappy by default (using LibP2P steams for now)
This refactors the newly added Snappy streaming back-ends trying to
make them more similar and to reduce the code duplication to a minimum.
2020-05-13 12:18:42 +03:00
Zahary Karadjov f055fad08a Make the Snappy FastStreams integration optional by duplicating it for LibP2P streams 2020-05-13 12:18:42 +03:00
Zahary Karadjov 7e846a0bce Implement sszSize 2020-05-13 12:18:42 +03:00
Zahary Karadjov dbe0010504 Bump nim-snappy 2020-05-13 12:18:42 +03:00
Zahary Karadjov 15f0153441 Cosmetic improvements 2020-05-13 12:18:42 +03:00
Zahary Karadjov 9538b60704 Integrate the async Snappy implementation 2020-05-13 12:18:42 +03:00
Zahary Karadjov a739d7e8d6 Adapt SSZ to the latest FastStreams API 2020-05-13 12:18:42 +03:00
Jacek Sieka 0d1a602cf5
bump libp2p 2020-05-11 21:06:58 +02:00
Ștefan Talpalaru 2d78523423
fix Grafana dashboards (#1006)
* fix Grafana dashboards

and refactor a couple of scripts

* start.sh: allow running standalone script
2020-05-11 18:35:53 +00:00
Jacek Sieka fb2e0ddbec
sync fixes (#1005)
* sync fixes

* fix Status message finalized info
* work around sync starting before initial status exchange
* don't fail block on deposit signature check failure (fixes #989)
* print ForkDigest and Version nicely
* dump incoming blocks
* fix crash when libp2p peer connection is closed
* update chunk size to 16 to work around missing blocks when syncing

* bump libp2p

* bump libp2p

* better deposit skip message
2020-05-11 18:08:52 +00:00
Ștefan Talpalaru a7a50824a1
more metrics (#1004) 2020-05-11 06:25:49 +00:00
Jacek Sieka 592d6f65c3
bump (#1001) 2020-05-09 16:47:14 +02:00
Ștefan Talpalaru c572f61129
bump vendor/nim-metrics 2020-05-09 01:13:57 +02:00
Ștefan Talpalaru fc9d6bc1b3
enable SO_REUSEADDR in libp2p transports 2020-05-08 21:50:20 +02:00
Eugene Kabanov 3ffd0d7216
Fix gossip messages not delivered. (#983) 2020-05-06 15:42:59 +00:00
Jacek Sieka e65f5c86da
vendor: bump (#954) 2020-04-30 18:27:04 +02:00
Zahary Karadjov 667bdf066a Bump Chronicles to fix a minor bug; Add a placeholder for disabled topics 2020-04-28 13:49:30 +03:00
Zahary Karadjov 7237a370ba Implement https://github.com/status-im/nim-beacon-chain/issues/872
Please see the newly added 'schlesi-dev' Makefile target.
It demonstrates how the log level can be specified for individual topics.

Additionally, when connecting to testnets like 'schlesi' there will be
two additional log files produced in the working directory:

* json-log.txt
* text-log.txt (in the textblocks format)
2020-04-28 13:49:30 +03:00
Jacek Sieka 898df9ba45
kvstore: port to nim-eth (#938) 2020-04-27 18:36:28 +02:00
Zahary Karadjov 740b76d152 Spec-compliant implementation of Eth1 monitoring; Eth1-enabled local sim
BEWARE! This commit will trigger a stack overflow during local sim
2020-04-26 13:04:53 +03:00
Jacek Sieka fe30b24aba
bump (#929) 2020-04-24 11:47:51 +02:00
Viktor Kirilov 0079242457 again exported the right overloads for serializing hashes properly to json (and not as byte arrays) and updating nim-eth 2020-04-23 20:46:13 +03:00
Jacek Sieka 6729d3c032
kvstore: fix raising, be harsher on database errors (#923)
* kvstore: fix raising, be harsher on database errors

* bump stew/serialization
2020-04-23 08:27:35 +02:00
Zahary Karadjov ae9ca33aca
Disable the faststreams destructors 2020-04-22 21:33:04 +03:00
Jacek Sieka ed74770451
spec: regulate exceptions (#913)
* spec: regulate exceptions

* a few more simple raises
2020-04-22 07:53:02 +02:00
Ștefan Talpalaru 2f74951c04
bump submodules (#912) 2020-04-21 16:54:32 +02:00
Giovanni Petrantoni b441a373db Bump libp2p submodule 2020-04-21 10:46:21 +09:00
Ștefan Talpalaru 1babc00255
new initial submodule update strategy (#904)
* new initial submodule update strategy

* Azure: fix command order
2020-04-19 01:25:21 +02:00
Jacek Sieka 8b6c51e78d
secp: convenience api (#897) 2020-04-17 15:29:49 +02:00
Ștefan Talpalaru 6975869ad6
bump submodules (#899) 2020-04-17 01:04:46 +02:00
Zahary Karadjov e7259ce7ec
Bump faststreams 2020-04-17 00:23:11 +03:00
Zahary Karadjov a4830976ab
hotfix: fix the selecting of the syncing protocol handlers 2020-04-16 15:01:19 +03:00