nimbus-eth2/beacon_chain
Mamy Ratsimbazafy cbc998ed93
[Ready 1/2] Fork choice rewrite (#865)
* initial fork-choice refactor

* Add fork_choice test for "no votes"

* Initial test with voting: fix handling of unknown validators and parent blocks

* Fix tiebreak of votes

* Cleanup debugging traces

* Complexify the vote test

* fakeHash use the bigEndian repr of number + fix tiebreak for good

* Stash changes: found critical bug in nimcrypto `==` and var openarray

* Passing fork choice tests with varying votes

* Add FFG fork choice scenario + fork choice to the test suite

* Not sure why lmdb / rocksdb reappeared in rebase

* Add sanity checks to .nimble file + integrate fork choice tests to the test DB and test timing

* Cleanup debugging echos

* nimcrypto fix https://github.com/status-im/nim-beacon-chain/pull/864 as been merged, remove TODO comment

* Turn fork choice exception-free

* Cleanup "result" to ensure early return is properly used

* Add a comment on private/public error code vs Result

* result -> results following https://github.com/status-im/nim-beacon-chain/pull/866

* Address comments:
- raises: [Defect] doesn't work -> TODO
- process_attestation cannot fail
- try/except as expression pending Nim v1.2.0
- cleanup TODOs

* re-enable all sanity checks

* tag no raise for process_attestation

* use raises defect everywhere in fork choice and fix process_attestation test
2020-04-09 18:15:00 +02:00
..
fork_choice [Ready 1/2] Fork choice rewrite (#865) 2020-04-09 18:15:00 +02:00
spec reenable block bls verification (#875) 2020-04-09 09:41:02 +00:00
ssz fix/restore 0.11.1 BeaconState genesis interop: (a) use GENESIS_FORK_VERSION properly in BeaconState init; (b) use GENESIS_FORK_VERSION to be compatible with zcli/zrnt initial eth1 deposits; (c) let List[foo] work with 64-bit ints, so BeaconState.validators SSZ-serializes properly; and (d) update test_interop to use new spec/crypto API 2020-04-07 13:16:55 +03:00
tracing replace links to Apache and MIT licenses with HTTPS versions (#592) 2019-11-25 16:30:02 +01:00
.gitignore interop updates 2019-09-02 22:14:18 +03:00
attestation_aggregation.nim initial attestation aggregation (#769) 2020-04-01 09:59:55 +00:00
attestation_pool.nim extended validation (#812) 2020-03-31 18:39:02 +00:00
beacon_chain_db.nim Tenative fix for the test suite 2020-01-29 10:10:28 +02:00
beacon_node.nim post-merge fixes 2020-04-08 23:09:52 +02:00
beacon_node.nim.cfg Reduce compilation differences between client and server nodes 2019-11-11 23:30:21 +00:00
beacon_node_types.nim extended validation (#812) 2020-03-31 18:39:02 +00:00
block_pool.nim reenable block bls verification (#875) 2020-04-09 09:41:02 +00:00
conf.nim The RPC service listens on localhost by default 2020-03-22 19:00:09 +02:00
deposit_contract.nim vendor: bump nim-eth + fallout (#861) 2020-04-05 11:50:31 +02:00
eth2_discovery.nim result->results, bump bearssl 2020-04-07 12:08:59 +00:00
eth2_network.nim vendor: bump nim-eth + fallout (#861) 2020-04-05 11:50:31 +02:00
extras.nim clean up block creation 2020-03-22 11:15:07 +00:00
inspector.nim update relevant portions of attestation aggregation spec version; tweak inspector 2020-02-21 19:44:03 +00:00
interop.nim fix/restore 0.11.1 BeaconState genesis interop: (a) use GENESIS_FORK_VERSION properly in BeaconState init; (b) use GENESIS_FORK_VERSION to be compatible with zcli/zrnt initial eth1 deposits; (c) let List[foo] work with 64-bit ints, so BeaconState.validators SSZ-serializes properly; and (d) update test_interop to use new spec/crypto API 2020-04-07 13:16:55 +03:00
kvstore.nim trie -> kv store 2020-01-20 13:39:37 +00:00
kvstore_sqlite3.nim sqlite kvstore backend (#749) 2020-02-20 11:49:34 +01:00
libp2p_json_serialization.nim Restore building with chronicles_sinks=json 2019-06-24 19:38:19 +03:00
logtrace.nim Add pubsub message logging. 2020-03-11 17:26:30 +00:00
mainchain_monitor.nim remove unused imports 2020-03-11 10:50:55 +00:00
nimquery.nim Integrate Discovery V5 and support ENR bootstrap records 2020-01-21 01:26:57 +02:00
peer_pool.nim Initial implementation of a JSON-RPC service 2020-03-22 19:00:09 +02:00
request_manager.nim Mechanically remove all mentions of the daemon from the code 2020-03-23 14:59:33 +02:00
ssz.nim prefer endians2 2020-03-05 18:13:28 +02:00
sszdump.nim Clean 20200205 (#729) 2020-02-07 08:13:38 +01:00
state_transition.nim reenable block bls verification (#875) 2020-04-09 09:41:02 +00:00
statusbar.nim Handle status bar spanning multiple lines (relevant for the Tmux network sim) 2020-02-18 12:53:49 +02:00
sync_manager.nim Fix gcsafety issues in the test suite 2020-03-24 22:14:40 +02:00
sync_protocol.nim Mechanically remove all mentions of the daemon from the code 2020-03-23 14:59:33 +02:00
time.nim comments-only changes: update a bunch of v0.10.1 spec references to v0.11.0 and explain rationale for extended validation design in code (#847) 2020-04-01 11:41:39 +00:00
trusted_state_snapshots.nim State/block pruning 2019-11-26 02:45:25 +02:00
validator_keygen.nim vendor: bump nim-eth + fallout (#861) 2020-04-05 11:50:31 +02:00
validator_pool.nim 0.11.1 beacon chain spec update (#836) 2020-03-30 11:31:44 +00:00
version.nim Oops, change back the default network_type in the master branch 2020-03-23 18:19:31 +02:00