nimbus-eth2/beacon_chain
Jacek Sieka f90b2b8b1f
reward accounting for altair+ (#2981)
Similar to the existing `RewardInfo`, this PR adds the infrastructure
needed to export epoch processing information from altair+. Because
accounting is done somewhat differently, the PR uses a fork-specific
object to extrct the information in order to make the cost on the spec
side low.

* RewardInfo -> EpochInfo, ForkedEpochInfo
* use array for computing new sync committee
* avoid repeated total active balance computations in block processing
* simplify proposer index check
* simplify epoch transition tests
* pre-compute base increment and reuse in epoch processing, and a few
other small optimizations

This PR introduces the type and does the heavy lifting in terms of
refactoring - the tools that use the accounting will need separate PR:s
(as well as refinements to the exportred information)
2021-10-13 16:24:36 +02:00
..
consensus_object_pools reward accounting for altair+ (#2981) 2021-10-13 16:24:36 +02:00
eth1 add payloadId; add merge vector test script; remove consensusValidated (#2982) 2021-10-13 16:08:50 +02:00
fork_choice implement forked merge state/block support (#2890) 2021-09-27 14:22:58 +00:00
gossip_processing update 62 spec URLs to v1.1.2 (#2979) 2021-10-12 10:17:37 +00:00
networking test fixture cleanups (#2976) 2021-10-12 13:36:52 +02:00
rpc json-rpc: fix crashes on altair+ blocks in certain operations (#2983) 2021-10-13 13:20:18 +03:00
spec reward accounting for altair+ (#2981) 2021-10-13 16:24:36 +02:00
ssz enable uint128 / uint256 SSZ serialization tests (#2960) 2021-10-06 06:14:52 +00:00
sync Implement the merge networking req/resp changes (#2922) 2021-09-29 16:44:43 +00:00
validator_client simplify state fork access pattern (#2912) 2021-09-28 20:08:03 +02:00
validators add payloadId; add merge vector test script; remove consensusValidated (#2982) 2021-10-13 16:08:50 +02:00
.editorconfig Add .editorconfig file and remove trailing newlines 2021-09-14 12:12:49 +03:00
.gitignore Rename binaries; Mimic the original repo layout in the distribution 2020-11-09 11:38:52 +02:00
beacon_chain_db.nim merge hardfork database support (#2911) 2021-09-30 01:07:24 +00:00
beacon_chain_db_immutable.nim update 62 spec URLs to v1.1.2 (#2979) 2021-10-12 10:17:37 +00:00
beacon_clock.nim eth2.0-specs -> consensus-specs repo rename (#2801) 2021-08-20 23:37:45 +00:00
beacon_node_common.nim REST /eth/v1/events API call implementation. (#2878) 2021-09-22 14:17:15 +02:00
beacon_node_status.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
beacon_node_types.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
conf.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
extras.nim use ForkedHashedBeaconState in StateData (#2634) 2021-06-11 20:51:46 +03:00
filepath.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
interop.nim disentangle eth2 types from the ssz library (#2785) 2021-08-18 20:57:58 +02:00
nimbus_beacon_node.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
nimbus_beacon_node.nim.cfg remove remaining traces of nim-prompt 2021-08-16 21:56:50 +03:00
nimbus_binary_common.nim cleanups and fixes (#2827) 2021-08-27 11:00:06 +02:00
nimbus_signing_process.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
nimbus_validator_client.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
nimbus_validator_client.nim.cfg remove remaining traces of nim-prompt 2021-08-16 21:56:50 +03:00
sszdump.nim implement forked merge state/block support (#2890) 2021-09-27 14:22:58 +00:00
statediff.nim rework spec imports (#2779) 2021-08-12 13:08:20 +00:00
statusbar.nim switch result = foo to expression return; unexport rest of logtrace symbols (#2788) 2021-08-17 09:51:39 +00:00
version.nim v1.5.0 2021-10-04 22:05:15 +03:00