Ștefan Talpalaru
e2b3f0dadb
announcedAddresses: fix logic error
2019-11-05 23:56:10 +01:00
Ștefan Talpalaru
03f57aab43
bump vendor/nim-libp2p
2019-11-05 23:31:01 +01:00
Ștefan Talpalaru
a417edb5ff
sync_protocol.nim: better error message [skip ci]
2019-11-05 16:02:26 +01:00
Zahary Karadjov
14374504cf
Finalization experiements
...
* Switched to FloodSub
* Testnet0 switched to the minimal preset. All validators deployed on the master node.
2019-11-05 03:13:16 +02:00
Dustin Brody
63e621c27d
initial 0.9.0 spec sync ( #509 )
...
* rename compute_epoch_of_slot(...) to compute_epoch_at_slot(...)
* remove some unnecessary imports; remove some crosslink-related code and tests; complete renaming of compute_epoch_of_slot(...) to compute_epoch_at_slot(...)
* rm more transfer-related code and tests; rm more unnecessary strutils imports
* rm remaining unused imports
* remove useless get_empty_per_epoch_cache(...)/compute_start_slot_of_epoch(...) calls
* rename compute_start_slot_of_epoch(...) to compute_start_slot_at_epoch(...)
* rename ACTIVATION_EXIT_DELAY to MAX_SEED_LOOKAHEAD
* update domain types to 0.9.0
* mark AttesterSlashing, IndexedAttestation, AttestationDataAndCustodyBit, DepositData, BeaconBlockHeader, Fork, integer_squareroot(...), and process_voluntary_exit(...) as 0.9.0
* mark increase_balance(...), decrease_balance(...), get_block_root(...), CheckPoint, Deposit, PendingAttestation, HistoricalBatch, is_active_validator(...), and is_slashable_attestation_data(...) as 0.9.0
* mark compute_activation_exit_epoch(...), bls_verify(...), Validator, get_active_validator_indices(...), get_current_epoch(...), get_total_active_balance(...), and get_previous_epoch(...) as 0.9.0
* mark get_block_root_at_slot(...), ProposerSlashing, get_domain(...), VoluntaryExit, mainnet preset Gwei values, minimal preset max operations, process_block_header(...), and is_slashable_validator(...) as 0.9.0
* mark makeWithdrawalCredentials(...), get_validator_churn_limit(...), get_total_balance(...), is_valid_indexed_attestation(...), bls_aggregate_pubkeys(...), initial genesis value/constants, Attestation, get_randao_mix(...), mainnet preset max operations per block constants, minimal preset Gwei values and time parameters, process_eth1_data(...), get_shuffled_seq(...), compute_committee(...), and process_slots(...) as 0.9.0; partially update get_indexed_attestation(...) to 0.9.0 by removing crosslink refs and associated tests
* mark initiate_validator_exit(...), process_registry_updates(...), BeaconBlock, Eth1Data, compute_domain(...), process_randao(...), process_attester_slashing(...), get_base_reward(...), and process_slot(...) as 0.9.0
2019-10-30 19:41:19 +00:00
Yuriy Glukhov
abbe4075fa
Fixed deposit contract deployment
2019-10-30 17:23:34 +02:00
Zahary Karadjov
72c42838cb
Fix a typo in start.sh; Display the full slot number in the statusbar [skip ci]
2019-10-29 21:48:32 +02:00
Zahary Karadjov
6664f1689f
Use SSZ genesis files
...
Multi-client testing requires more portable formats, and SSZ is
much better specified than our flavour of Json.
Tools like ncli and zcli can be now used to inspect the contents
of the SSZ files.
2019-10-29 19:16:32 +02:00
Zahary Karadjov
1ef9f458ac
Remove hard-coded variables from the manage_testnet_hosts script
2019-10-29 19:16:32 +02:00
Zahary Karadjov
831b562435
Make the use of dynamic Chronicles outputs more optional
2019-10-29 19:16:32 +02:00
Zahary Karadjov
f1ea0cec32
Add support for testnets with mixed quickstart/random deposits
2019-10-29 19:16:32 +02:00
Zahary Karadjov
136a11f681
Fix the build when the Chronicles dynamic output is not used
...
close #504
2019-10-29 03:43:52 +02:00
Zahary Karadjov
f3252a8391
Fix the error 'output device not set for a chonicles dynamic sink'
2019-10-29 03:05:43 +02:00
Zahary Karadjov
734ab64da8
Unix-style command-line params for the 'deposit_contract' binary
2019-10-29 02:20:47 +02:00
Zahary Karadjov
ba0037738b
Removed all code related to the old network metadata files
...
Also switched to a more "standard" naming convention for the
command-line parameters.
2019-10-29 01:04:52 +02:00
Yuriy Glukhov
9d3889cbab
WIP Goerli testnet
2019-10-28 15:51:17 +02:00
Zahary Karadjov
43b70c0330
Restore the ability to run tests/simulation/start.sh manually
2019-10-28 15:28:45 +02:00
Zahary Karadjov
fb220ee600
Preparations for introducing the native libp2p back-end
2019-10-28 15:00:25 +02:00
Zahary Karadjov
dfe3a6f0fb
Switch to Nim v1.0.2
2019-10-28 15:00:25 +02:00
Zahary Karadjov
a6f65cd37e
Add lower-level metrics for the number of gossipsub messages sent/received
2019-10-26 16:37:36 +03:00
Dustin Brody
a9fcaf16a6
stop double-counting attestation-topic attestations ( #501 )
2019-10-25 14:00:55 +00:00
Jacek Sieka
363f918f7b
remove obsolete docs (this is covered in honest validator guide)
2019-10-25 13:55:19 +02:00
Jacek Sieka
ee5d1c1467
minimize imports, specially for spec - cuts 2/3 of ncli build time ( #500 )
...
* minimize imports, specially for spec - cuts 2/3 of ncli build time
* ptr_arith->ptrops
2019-10-25 12:59:56 +02:00
Dustin Brody
700e7d921b
update to beacon chain phase 0 spec version 0.8.4; no substantive changes ( #494 )
2019-10-24 13:36:36 +00:00
Dustin Brody
c9d2815480
implement metrics to count send/received blocks/attestations, to detect network loss
2019-10-24 11:48:56 +03:00
Ștefan Talpalaru
3a2fc249a2
simulation: metric visualisation
2019-10-23 20:57:59 +02:00
Zahary Karadjov
021661180b
Use the latest nim-eth
2019-10-23 19:37:06 +03:00
Jacek Sieka
e8206a7489
fix datadir
2019-10-22 23:18:45 +02:00
Jacek Sieka
bdb70ebe2c
log data dir at startup ( fixes #229 )
2019-10-22 22:53:58 +02:00
Dustin Brody
43f353e665
implement beacon_reorgs_total metric ( #491 )
2019-10-22 13:57:34 +02:00
Dustin Brody
3da4c02bb3
implement beacon_current_live_validators and beacon_previous_live_validators metrics
2019-10-21 20:58:08 +09:00
Jacek Sieka
360afe48a3
fix two races when producing block
...
there be more dragons around
2019-10-08 23:52:50 +09:00
Jacek Sieka
b7f9d9e4be
fix BlsValue inits
2019-10-08 23:52:50 +09:00
Zahary Karadjov
c23b011c77
Cosmetic improvements to the status bar; Attempt to fix the CI
2019-10-07 23:56:34 +09:00
Zahary Karadjov
f72a58595f
Initial version of status bar
2019-10-07 23:56:34 +09:00
Zahary Karadjov
d3f88929da
Integrate nim-prompt
2019-10-07 23:56:34 +09:00
Dustin Brody
4c0b2a9a32
implement beacon_pending_deposits, beacon_processed_deposits_total, beacon_previous_validators, and beacon_current_validators metrics ( #478 )
...
* implement additional beacon_current_validators and beacon_previous_validators metrics
* tentatively implement beacon_pending_deposits additional metric
* implement beacon_processed_deposits_total additional metric
2019-10-06 04:31:50 +00:00
Dustin Brody
1a62c122d8
Finish remaining required interop metrics ( #477 )
...
* implement beacon_finalized_root, beacon_current_justified_root, and beacon_previous_justified_root interop metrics
2019-10-03 18:16:25 +00:00
Dustin Brody
255980c9f6
fix issue #367 and remove too-small range type usage for ValidatorIndex
2019-10-03 16:41:25 +03:00
Dustin Brody
2122bb44c9
implement beacon_finalized_epoch, beacon_current_justified_epoch, and beacon_previous_justified_epoch ( #476 )
2019-10-03 10:36:31 +00:00
Yuriy Glukhov
2b7b7b1471
Deposit contract script additions ( #455 )
...
* Deposit contract script additions
* Cleanup/cosmetics
2019-10-03 09:21:28 +00:00
Jacek Sieka
f111a6a444
fix attestation being added twice to block ( fixes #361 )
2019-10-02 12:27:51 +03:00
Jacek Sieka
b8ddb776ca
fix attestation selection when calculating rewards and penalties
...
Previously, the we'd use the first source attestation regardless if it
matches the filter or not leading to the wrong minimum being used
2019-10-02 12:17:02 +03:00
Jacek Sieka
3e3ed79874
sign the right attestation data
2019-10-02 12:11:47 +03:00
Zahary Karadjov
806836714a
Add an accidentally forgotten fix
2019-10-01 17:50:13 +03:00
Eugene Kabanov
13bde5aee3
Add gossipsub messages monitoring tool. ( #458 )
...
* Add gossipsub messages monitoring tool.
* Add support of bootstrap nodes file.
* Move topic constants to spec/network.nim.
* Add ability to monitor custom topics.
2019-10-01 15:52:28 +02:00
Mamy Ratsimbazafy
48d22d53dc
Ensure that we use the interop deposit signatures ( #467 )
...
* Ensure that we use the interop deposit signatures
* Add all interop keys to the test
2019-10-01 15:44:38 +02:00
Jacek Sieka
66f03f491f
log raw incoming gossip data
2019-09-28 21:20:09 +02:00
Zahary Karadjov
66984c44ce
Another innocent fix from the interop branch
2019-09-27 23:29:58 +03:00
Zahary Karadjov
a336285922
Fix a potential OOB error in SSZ deserialization
2019-09-27 23:29:58 +03:00
Zahary Karadjov
c39d4f1817
Fix an overflow in the justification bits processing
2019-09-27 23:29:58 +03:00
Zahary Karadjov
1555efd9d8
Implement the latest modification of the spec
2019-09-27 19:10:37 +03:00
Zahary Karadjov
37043f0d91
Handle gracefully a pre-mature closing of a libp2p stream by another peer
2019-09-27 19:10:24 +03:00
Zahary Karadjov
b5fad0c9e8
Add more diagnostic for crashes during SSZ serialization
2019-09-27 19:07:22 +03:00
Zahary Karadjov
2bbe2cb23c
Implement the outputBootstrapNodes option (taken from the interop branch)
2019-09-27 19:05:17 +03:00
Zahary Karadjov
b56c96a4fd
Support downloading SSZ genesis files with curl
2019-09-27 18:59:28 +03:00
Zahary Karadjov
5152c42c8e
Don't crash hard on P2P daemon errors during the initial connection
2019-09-27 18:58:51 +03:00
Zahary Karadjov
0eaa433e84
Automated scripts for resetting the Status testnets
...
For detailed instructions, please see
https://github.com/status-im/nimbus-private/blob/master/testnets-maintenance.md
2019-09-26 18:58:51 +03:00
Mamy André-Ratsimbazafy
90b20fab52
Domain is now array[8, byte] instead of uint64
2019-09-26 17:53:59 +03:00
Mamy Ratsimbazafy
a7a1f78499
Fix TRACE chronicles_log_level ( #451 )
2019-09-23 17:00:10 +02:00
Mamy Ratsimbazafy
b100ceef56
Add detailed finalization and justification debug logs ( #449 )
...
* Add detailed finalization and justification debug logs
* log was wrongfully reporting rule 123 instead of rule 12
2019-09-23 15:48:26 +02:00
Mamy Ratsimbazafy
0b68f3dc63
[Interop branch] Log improvements - part 1 ( #439 )
...
* use service/category/process for blockpool logs
Only track fork choice logs in block pool (vs beacon_node)
Reduce verbosity on usual event in block pool
* rework beacon node logs
* log for attestations in blockpool
* log - att pool improvement
* use logScope and topics cf review and discussion
* use 7 letters for beacon_node
[log] report peers at slot start + fix bracket prefix [Block pool] Attestation sent
2019-09-23 11:35:41 +02:00
Jacek Sieka
42a469603d
simplify startup, describe a few startup tricks
2019-09-11 20:29:57 -04:00
Jacek Sieka
65ff8f2886
remove networkId (unused)
2019-09-11 20:29:57 -04:00
Jacek Sieka
ab2cce3951
add quickStart option that avoids network metadata
2019-09-11 20:29:57 -04:00
mratsim
c619b9557a
Validator pool update to use BLS domain
2019-09-11 20:29:57 -04:00
Zahary Karadjov
2aee749ead
Save a genesis SSZ file
2019-09-11 20:29:57 -04:00
Mamy Ratsimbazafy
988a13b872
Official operations - deposits unit test ( #408 )
...
* [Test] Official operations - deposits unit test
* Allow ignoring deposits with invalid signature
* We need stacktraces to debug windows 64 issue https://github.com/status-im/nim-beacon-chain/pull/408#issuecomment-529236359
* fix naming of unit test proc
* Revert "We need stacktraces to debug windows 64 issue https://github.com/status-im/nim-beacon-chain/pull/408#issuecomment-529236359 "
This reverts commit 04b8b05162
.
* skip windows-64 in CI #435
* proposer slashing started to crash as well on win-64 #435
2019-09-11 21:10:54 +00:00
Mamy Ratsimbazafy
3dc2b87e6a
Transfer - split process_transfer/processTransfers + tests + fixes ( #422 )
...
* Prepare test suite for transfers
* split API process_transfer / processTransfers
* Add range checks on transfer
* Fix invalid transfer conditions
* don't test on windows 64-bit #435
2019-09-11 20:29:00 +00:00
Mamy Ratsimbazafy
8676bbf388
Add proposer slashing tests ( #431 )
...
* Add proposer slashing tests
* typo in import
2019-09-11 07:50:07 +00:00
Mamy Ratsimbazafy
6be2e24a8f
Attester slashing - split process_attester_slashing/processAttesterSlashings + tests ( #424 )
...
* attester slashing tests - pending #415
* split process_attester_slashing/processAttesterSlashings
* Add logs to attester_slashing
* deactivate bls tests for now (https://github.com/status-im/nim-beacon-chain/issues/429 ) and cherry-pick from 60f2437dd2
2019-09-10 18:03:06 -04:00
Dustin Brody
f72de67f63
Proposer slashing is 0.8.3 ( #425 )
...
* minimal refactor of proposer slashings to 0.8.3; no semantic difference
* actually mark spec
2019-09-10 11:29:46 -04:00
Zahary Karadjov
f583135a39
The --stateSnapshot option now accepts ssz files as well
2019-09-10 10:13:49 -04:00
Jacek Sieka
e470bbb52e
don't sign libp2p messages
2019-09-10 10:13:02 -04:00
Zahary Karadjov
c3adac44f2
Use Secp256k1 keys in accordance to the interop spec
2019-09-10 10:11:56 -04:00
Zahary Karadjov
cdff79ec6d
More sync fixes
...
* Fix IncompleteData issues brought by the new spec-compliant stream closing
* Fix logic errors in the sync algorithms
2019-09-10 09:49:54 -04:00
Zahary Karadjov
886b92319f
Implement the response size limits
2019-09-10 09:49:54 -04:00
Jacek Sieka
86fc9a1f9e
fix nil access to mainchainMonitor
2019-09-10 09:49:54 -04:00
Zahary Karadjov
a83aa83644
Working BeaconSync
...
Changes:
* Do not send separate network packets for response codes and msg
len prefixes
* Close streams according to the spec
* Implement more timeouts according to the spec
* Make hello requests during syncing to update our knowledge of
the head block of the other peer.
2019-09-10 09:49:54 -04:00
Zahary Karadjov
4a54fb4103
Cleaned up obsolete BeaconSync code; Added some open questions regarding fetchAncestorBlocks
2019-09-10 09:49:54 -04:00
Zahary Karadjov
9dec05f9c9
Sending chunked responses
2019-09-10 09:49:54 -04:00
Zahary Karadjov
b120a60493
Reading chunked responses
2019-09-10 09:49:54 -04:00
Zahary Karadjov
2bbfa8c877
Changes related to the new ETH interop spec
...
* Hello is no longer a handshake message
(all handshakes related code was deleted for clarity)
* Deal with the single-parameter inlining defined in the new spec
2019-09-10 09:49:54 -04:00
Mamy Ratsimbazafy
81b47f35d1
Voluntary exit - split single + multiple exits proc & tests ( #421 )
...
* add test suite for voluntary exit
* update API to process_voluntary_exit
* Add range check of validator_index for voluntary exits
* Revert to dual single + multiple voluntary exits API + enable in test suite
* no cache or mocking needed
2019-09-10 00:14:03 +00:00
Mamy Ratsimbazafy
061b6e0ddf
Test block headers ( #418 )
...
* Block headers tests
* Skip invalid_parent_root test due to https://github.com/status-im/nim-beacon-chain/issues/407
* Fix bls_verify with invalid sig. Activate block header tests
2019-09-09 14:40:59 -04:00
Yuriy Glukhov
d4c480ff5f
Eth1 validators ( #393 )
2019-09-09 18:59:02 +03:00
Dustin Brody
a4b4c89539
remove incorrect exit condition in get_attestation_details(...) ( #416 )
...
* remove incorrect exit condition in get_attestation_details(...)
* enable historical batch unit test, which now passes
2019-09-09 09:10:03 -04:00
Mamy Ratsimbazafy
3f446e6383
Attestations EF tests + Proper Real/Opaque BlsValue deserialization ( #410 )
...
* Add attestation unit test
* process_attestation doesn't throw exceptions
* Allow SSZ deserialization of both real and invalid signatures
* Add new process_attestation checks - pass all process_attestation tests
* Add sanity check for #361
* Fix SSZ testing after fromBytes/fromSSZBytes changes
2019-09-08 23:33:24 -04:00
Jacek Sieka
5f58af2112
fix ssz list, protocol names ( #405 )
2019-09-08 16:54:31 +02:00
Eugene Kabanov
bb0e9de09d
[WIP] Sync which using latest network specification. ( #390 )
...
* Fixed getBeaconBlocks() and getRecentBeaconBlocks() to use BlockPool, not db.
* Got the sync_protocol to compiling state; Removed all obsolete RPC calls
2019-09-08 15:08:44 +02:00
Mamy Ratsimbazafy
82b9e008d6
Fix genesis blockheader zero signature (supercedes #395 ) ( #400 )
2019-09-07 20:56:24 -04:00
zah
93cdb43f1e
Integrate nim-metrics and add some metrics from the ETH2 spec ( #394 )
2019-09-07 19:48:05 +02:00
Dustin Brody
0c174036a5
update get_attesting_indices(...) to 0.8.3; mark IndexedAttestation, Attestation, PendingAttestation, and get_randao_mix(...) as 0.8.3; rm duplicate/dead code get_unslashed_attesting_indices(...) ( #391 )
2019-09-06 21:58:38 +02:00
Yuriy Glukhov
e3bd4410d8
Revert "Eth1 validators" ( #392 )
...
This reverts commit bb8955bdbc
.
2019-09-06 13:00:56 +03:00
Yuriy Glukhov
bb8955bdbc
Eth1 validators
2019-09-06 02:38:38 +02:00
Dustin Brody
f882c92a42
fix network sim ( #389 )
...
* fix network sim
* mark BeaconState, state list/vector lengths, misc values, get_base_reward(...), verifyStateRoot(...), and process_slot(...) as 0.8.3; update minimal/mainnet config initial values to 0.8.3 by removing GENESIS_FORK_VERSION
2019-09-05 21:52:34 +02:00
Jacek Sieka
31db5d3a62
Deserialize serialized default bls values ( #388 )
...
Ugly workaround to quick-fix broken network/interop sim
2019-09-05 14:27:28 +00:00
zah
7ebf685fa3
Work-around for #373 ( #385 )
2019-09-05 10:27:26 +00:00
Mamy Ratsimbazafy
ad240953ed
Fix #378 , int to bytes32, LATEST_RANDAO_MIXES, get_seed, get_crosslink_committee, get_compact_committee_root ( #380 )
2019-09-04 13:57:18 +00:00
Dustin Brody
b9265e15f1
remove some superfluous/pointless spec version markers ( #377 )
2019-09-04 09:25:27 +00:00