nimbus-eth2/beacon_chain
Jacek Sieka 58d77153fc
fix invalid state root being written to database (#1493)
* fix invalid state root being written to database

When rewinding state data, the wrong block reference would be used when
saving the state root - this would cause state loading to fail by
loading a different state than expected, preventing blocks to be
applied.

* refactor state loading and saving to consistently use and set
StateData block
* avoid rollback when state is missing from database (as opposed to
being partially overwritten and therefore in need of rollback)
* don't store state roots for empty slots - previously, these were used
as a cache to avoid recalculating them in state transition, but this has
been superceded by hash tree root caching
* don't attempt loading states / state roots for non-epoch slots, these
are not saved to the database
* simplify rewinder and clean up funcitions after caches have been
reworked
* fix chaindag logscope
* add database reload metric
* re-enable clearance epoch tests

* names
2020-08-13 11:50:05 +02:00
..
block_pools fix invalid state root being written to database (#1493) 2020-08-13 11:50:05 +02:00
fork_choice avoid rewind in fork choice application (#1489) 2020-08-12 04:49:52 +00:00
spec initial dynamic subscribe/unsubscribe for attestations to/from subnets (#1462) 2020-08-12 17:48:31 +00:00
ssz convert 22 v0.12.1 spec refs to v0.12.2 and remove 1 unnecessary spec ref (#1384) 2020-07-28 14:55:46 +00: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 update attestation aggregation validation to spec refs of v0.12.2 (#1481) 2020-08-10 14:49:18 +00:00
attestation_pool.nim avoid rewind in fork choice application (#1489) 2020-08-12 04:49:52 +00:00
beacon_chain_db.nim fix invalid state root being written to database (#1493) 2020-08-13 11:50:05 +02:00
beacon_node.nim initial dynamic subscribe/unsubscribe for attestations to/from subnets (#1462) 2020-08-12 17:48:31 +00:00
beacon_node.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
beacon_node_common.nim initial dynamic subscribe/unsubscribe for attestations to/from subnets (#1462) 2020-08-12 17:48:31 +00:00
beacon_node_types.nim renamed CandidateChains to ChainDagRef and made the Quarantine type a ref type so there is a single instance in the beacon node (#1407) 2020-07-31 14:49:06 +00:00
conf.nim remove eth from default status bar 2020-08-10 17:01:53 +03:00
deposit_contract.nim Use the same keystore directory names as Lighthouse 2020-08-06 21:50:19 +03:00
deposit_contract_code.txt Integrate the Wallet support with the Deposits creation; Produce Launchpad-compatible deposits 2020-07-28 07:36:25 +03:00
eth2_discovery.nim Remove unsused import 2020-07-10 16:30:45 +03:00
eth2_json_rpc_serialization.nim initializing the pubkeys properly in the rest of the places for the BN/VC communication to work 2020-08-05 16:37:55 +03:00
eth2_network.nim create local testnet mode for eth2_network (#1494) 2020-08-12 14:16:59 +00:00
extras.nim remove skipMerkleValidation and skipBlockParentRootValidation (#1197) 2020-06-18 07:56:47 +02:00
faststreams_backend.nim Enable Snappy by default (using LibP2P steams for now) 2020-05-13 12:18:42 +03:00
inspector.nim bump libp2p (delayed send, without hooks) (#1413) 2020-08-03 16:43:22 +00:00
inspector.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
interop.nim Working test suite with run-time presets 2020-07-08 02:02:14 +03:00
keystore_management.nim Use the same keystore directory names as Lighthouse 2020-08-06 21:50:19 +03:00
libp2p_json_serialization.nim bump libp2p (#1267) 2020-07-01 13:41:40 +02:00
libp2p_streams_backend.nim remove snappy RPC support (#1477) 2020-08-10 15:18:17 +02:00
logtrace.nim Implement tracing of lags in the logs. (#1465) 2020-08-07 16:22:58 +00:00
mainchain_monitor.nim eh cleanups (#1458) 2020-08-06 18:47:39 +00:00
merkle_minimal.nim switch 14 v0.12.1 spec refs to v0.12.2 spec refs (#1395) 2020-07-29 12:47:03 +00:00
network_metadata.nim synchronize test summaries with make test (and do a few small cleanups) (#1415) 2020-08-03 12:07:25 +00:00
nimbus_binary_common.nim makeBannerAndConfig(): disable ProveInit warning 2020-08-04 15:00:55 +02:00
nimquery.nim Integrate Discovery V5 and support ENR bootstrap records 2020-01-21 01:26:57 +02:00
peer_pool.nim eh cleanups (#1458) 2020-08-06 18:47:39 +00:00
request_manager.nim Use one single async queue and loop for processing blocks. (#1487) 2020-08-12 11:29:11 +02:00
ssz.nim Implement more of the KeyStore spec and integrate it in the beacon node 2020-06-11 17:40:08 +03:00
sszdump.nim cache block hash (#1329) 2020-07-16 15:16:51 +02:00
statusbar.nim Cosmetic improvement for the statusbar 2020-06-11 17:40:08 +03:00
sync_manager.nim Use one single async queue and loop for processing blocks. (#1487) 2020-08-12 11:29:11 +02:00
sync_protocol.nim More spec compliant blocksByRange requests 2020-08-10 22:09:13 +03:00
sync_protocol.nim.generated.nim More spec compliant blocksByRange requests 2020-08-10 22:09:13 +03:00
time.nim update 14 v0.12.1 spec refs to v0.12.2 (#1400) 2020-07-30 09:47:57 +00:00
validator_api.nim remove one cache, add another (#1449) 2020-08-06 19:48:47 +00:00
validator_client.nim initializing the pubkeys properly in the rest of the places for the BN/VC communication to work 2020-08-05 16:37:55 +03:00
validator_client.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
validator_duties.nim use epochcache for attesting (#1478) 2020-08-10 15:21:31 +02:00
validator_pool.nim use epochcache for attesting (#1478) 2020-08-10 15:21:31 +02:00
version.nim Add an option for graffiti customization 2020-07-12 21:01:31 +03:00