Dustin Brody
c4daa726b5
fix AggregateAndProof definition
2019-12-13 09:04:30 +00:00
Dustin Brody
294db6aaca
initially implement specified attestation aggregation functions and data structures
2019-12-13 09:04:30 +00:00
Jacek Sieka
a3145f0f5c
cleanups
...
* move stuff out of beaconnode
* fix use-after-free in query
2019-12-10 14:47:52 +00:00
Zahary Karadjov
889031453f
The beacon node can be compiled with the LibP2P native back-end
...
This hasn't been tested yet even in local sim.
2019-12-10 15:02:16 +02:00
Jacek Sieka
eea523a89e
logging fixes
...
* don't log out-of-sync when there's no work to do
* small logging fixes
2019-12-10 10:18:30 +00:00
Zahary Karadjov
8ab0248209
Revert "tighten a few imports"
...
This reverts commit b24a9200d9
.
2019-12-10 02:18:47 +02:00
Jacek Sieka
b24a9200d9
tighten a few imports
2019-12-09 12:58:28 +00:00
Dustin Brody
c762c0232d
render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators ( #617 )
...
* render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators
* follow addBlock(...) after refactoring
* [skip ci] fix typo
2019-12-04 11:49:59 +01:00
kdeme
3b3a2b10f1
First attempt to have some fuzz tests exported for the fuzzing framework
2019-12-03 14:33:47 +02:00
Dustin Brody
e88e559caf
render visible gradual validator emptying on catchup
2019-12-02 18:24:30 +02:00
Jacek Sieka
2a728d9468
fix stack overflow in isAncestor recursion
2019-11-28 17:36:07 +02:00
Dustin Brody
bde20436e8
~50% speedup by fast-pathing Eth2Digest merkle hashing
2019-11-26 15:23:27 +00:00
Zahary Karadjov
8de4d38e4e
More tracing
2019-11-26 02:45:25 +02:00
Zahary Karadjov
957645d752
Fix the bulds with json logging enabled
2019-11-26 02:45:25 +02:00
Yuriy Glukhov
777b3f4e29
State/block pruning
2019-11-26 02:45:25 +02:00
Dustin Brody
1494bcc262
replace links to Apache and MIT licenses with HTTPS versions ( #592 )
2019-11-25 16:30:02 +01:00
Dustin Brody
b82328b148
convert hash_tree_roots_prefix(...) to an iterator
2019-11-25 14:48:59 +00:00
Dustin Brody
f6de87b80e
remove O(n^2) eth1 deposit processing and scaffolding comparing it with O(n) deposit processing; re-enable now-viable-to-run genesis state initialization tests with around 16,384 validators
2019-11-25 14:48:59 +00:00
Dustin Brody
fa2a703a17
switch more funcs and procs from global to module scope; create scaffolding for non-O(n^2) eth1 deposit processing with assertions for equivalent functionality; fix a few more shellcheck warnings
2019-11-25 14:48:59 +00:00
Dustin Brody
a8de94ad05
add validator_leaving logging at debug chronicles level for all call paths to initiate_validator_exit(...)
2019-11-25 09:08:15 +00:00
Dustin Brody
8d9fdb0afd
miscellanous cleanups and removing a few funcs/procs from unnecessary global scopes
2019-11-25 09:08:15 +00:00
Mamy Ratsimbazafy
1938379bcd
Automated beacon constant checks ( #583 )
...
* Fix SSZ bitlist deserialization super silly bug
* Add an automated sanity checks of the beacon chain constants
* Remove SSZ consensus skipping procs [skip ci]
* Add phase 1 domains
* Fix mainnet constants
* Add missing phase 1 constants on minimal (they are not needed somehow on mainnet)
* Rebase artifact: constants were defined twice
2019-11-22 20:56:39 +01:00
Dustin Brody
edfd65fd5d
stop download 0.9.1 test vectors; finish 0.9.2 update, primarily via fixing preset constants; remove a couple 0.19.6 shims
2019-11-22 16:41:43 +00:00
Dustin Brody
f5b8931fad
switch assert(...) to doAssert(...) and minor cleanup
2019-11-22 16:39:05 +00:00
Dustin Brody
41fa377638
mark all non-changed 0.9.1 items as 0.9.2 ( #576 )
2019-11-22 09:29:04 +01:00
Jacek Sieka
7c6d87051a
simplify validator api ( #573 )
...
* avoid passing whole state to validator api (easier when it goes
out-of-process)
* clean up some cruft
2019-11-21 10:57:59 +01:00
Dustin Brody
c0f009908c
re-enable test_interop based on zcli with 0.9.1 specs and update initialize_beacon_state_from_eth1(...) to 0.9.1 ( #569 )
...
* re-enable test_interop based on zcli with 0.9.1 specs and update initialize_beacon_state_from_eth1(...) to 0.9.1
* switch many procs to funcs
* fix import os.nim instead; ospaths is deprecated [Deprecated] warnings
2019-11-21 09:15:10 +00:00
Mamy Ratsimbazafy
bb0979f232
Ssz fixes ( #566 )
...
* SSZ signature from EF are always opaque blobs (security issue - https://github.com/status-im/nim-beacon-chain/issues/555 )
Enable
- Attestation
- Beaconstate (minimal only)
- Deposit
- DepositData
- ProposerSlashing
Updates #518
* mv debug_ssz to helpers
* Small reorg of the list types
* Fix IndexedAttestation, AttesterSlashing and BeaconBlock
* Deactivate on mainnet: AttesterSlashing, BeaconBlockBody, IndexedAttestation, Attestation, BeaconBlock
* Fix Validators on minimal and mainnet
2019-11-19 12:04:51 +01:00
Dustin Brody
2749cb14a6
convert mostly-uncompiled verify_merkle_branch(...) calls to newer is_valid_merkle_branch(...) name; re-enable several lines of deposit testing code and outline roadmap for completion
2019-11-18 17:35:58 +00:00
Dustin Brody
6f87c8fd89
verify that state_sim is justifying and finalizing; fix 3 more warnings; rename crosslink_committee_cache to beacon_committee_cache; fix O(n^2) usage of get_base_reward(...)
2019-11-18 17:35:58 +00:00
Dustin Brody
c7c439ac61
use bounded List[] SSZ type for more hashing consistency with spec
2019-11-18 09:35:17 +01:00
Jacek Sieka
14712bbbdc
random warning fixes
2019-11-15 12:05:18 +01:00
Dustin Brody
7e70d16da9
remove BeaconStateNew and associated testing scaffolding/infrastructure
2019-11-14 20:03:08 +01:00
Dustin Brody
96dcb1cf95
Remove shard-relating code
2019-11-14 19:48:12 +01:00
Dustin Brody
c08698bffe
scaffolding to remove last vestiges of get_committee_count(...), SHARD_COUNT, and rest of that 0.8.x infrastructure; this demonstrates equivalence between two, before discarding old code
2019-11-14 18:37:51 +01:00
Dustin Brody
df1d00f13a
remove UnusedImport spam ( #549 )
...
* remove UnusedImport spam
* re-add random import to beacon_node
2019-11-14 11:47:55 +01:00
Dustin Brody
3dcc00779a
replace deprecated toSet(...) with toHashSet(...); replace implicit with more explicit default constructor for readability
2019-11-13 13:49:38 +00:00
Dustin Brody
5a54c823d8
update to 0.9.1: don't try to run removed tests; re-add 1.5 tests (one only in minimal); remove bls_verify_multiple(...) and AttestationDataAndCustodyBit; and update process_attester_slashing(...), get_indexed_attestation(...), and is_valid_indexed_attestation(...)
2019-11-13 13:49:38 +00:00
Dustin Brody
1f352bf440
fix trace compilation
2019-11-12 16:35:12 +01:00
Dustin Brody
fb5d9edb7c
keep types consistent
2019-11-12 14:49:26 +00:00
Dustin Brody
d5ce142511
fix network sim finalization; remove get_attestation_data_slot(...); remove 2 more get_crosslink_committee(...) calls
2019-11-12 14:49:26 +00:00
Zahary Karadjov
22591deced
Safer testnet restarts; Working CLI queries for inspecting the genesis states
...
When the connect_to_testnet script is invoked it will first verify that
the genesis file of the testnet hasn't changed. If it has changed, any
previously created database associated with the testnet will be erased.
To facilitate this, the genesis file of each network is written to the
data folder of the beacon node. The beacon node will refuse to start if
it detects a discrepancy between the data folder and any state snapshot
specified on the command-line.
Since the testnet sharing spec requires us to use SSZ snapshots, the Json
support is now phased out. To help with the transition and to preserve the
functionality of the multinet scripts, the beacon node now supports a CLI
query command that can extract any data from the genesis state. This is
based on new developments in the SSZ navigators.
2019-11-11 23:29:36 +00:00
Dustin Brody
d457dfee81
switch all but 4 remaining callers to get_crosslink_committee(...) to get_beacon_committee(...)
2019-11-11 11:46:03 +00:00
Dustin Brody
568fa1dcb9
mark functions, constants, and data structures unchanged by 0.9.1 as such
2019-11-11 10:25:57 +00:00
Dustin Brody
949d735155
fix remaining test 0.9.0 test fixtures and switch back to non-transitiontest setup; remove get_committee_count(...); keep SHARD_COUNT consistent with MAX_COMMITTEES_PER_SLOT
2019-11-11 10:25:57 +00:00
Dustin Brody
cb4a86756b
update get_seed(...) and get_beacon_proposer_index(...) to 0.9.0, implement compute_proposer_index(...), and render 3 more test fixtures working ( #532 )
...
* update get_seed(...) and get_beacon_proposer_index(...) to 0.9.0, implement compute_proposer_index(...), and render 3 more test fixtures working
* rm stray Crosslink reference which prevented static SSZ tests from building
* remove references to removed tests in attestations test fixture; add minimal-preset block sanity test, plus all but one of mainnet tests for block sanity to transition fixtures
2019-11-10 01:03:41 +01:00
Dustin Brody
e984b2c932
mark is_valid_merkle_branch(...), process_justification_and_finalization(...), and process_rewards_and_penalties(...) as 0.9.0; update check_attestation(...) to 0.9.0; add 11 working test fixtures, having updated SSZ fixture directory to 0.9.0
2019-11-08 13:23:08 +00:00
Dustin Brody
275fb22c00
flip targeted spec version and ssz test fixtures to 0.9.0; almost completely update BeaconState to 0.9.0; update minimal and mainnet preset constants to 0.9.0; update process_proposer_slashing(...), get_attestation_deltas(...), and get_matching_head_attestations(...) to 0.9.0; mark process_final_updates(...) as 0.9.0
2019-11-08 13:23:08 +00:00
Dustin Brody
3bb95f571f
remove remaining Crosslink and CompactCommittee vestiges
2019-11-08 13:23:08 +00:00
Dustin Brody
61c2cf9415
rm get_compact_committees_root(...), Transfer, and references to 0.9-removed BeaconState.{active_index_roots,compact_committees_roots; temporarily disable genesis interop test pending 0.9 BeaconState
2019-11-08 13:23:08 +00:00