6322 Commits

Author SHA1 Message Date
Jacek Sieka
d1b46e2489
fixes 2021-05-24 22:56:37 +02:00
Jacek Sieka
3ea0b90d4c
switch to a single list of historical batch summaries 2021-05-24 22:47:01 +02:00
Jacek Sieka
96dc7f6061
add historical_state_roots
* enables proving the state for empty slots
* allows verifying the backfilled fields against the previous
`historical_roots` field
* allows trivially computing `historical_roots`, for any existing use
cases
2021-05-24 20:03:24 +02:00
Jacek Sieka
6b20da3d24
fixup 2021-05-24 19:05:23 +02:00
Jacek Sieka
7854b276f6
fixup 2021-05-24 18:58:01 +02:00
Jacek Sieka
a3ff34ce2a
one more constant 2021-05-24 18:55:04 +02:00
Jacek Sieka
bf23f92a62
Merge remote-tracking branch 'origin/dev' into block-root-accumulator 2021-05-24 18:39:50 +02:00
Jacek Sieka
d711a79e6f
move function to epoch processing 2021-05-24 18:37:34 +02:00
Jacek Sieka
ce928cdc89
add constants, add backfill 2021-05-24 18:13:36 +02:00
Danny Ryan
f7da1a3834
Merge pull request #2432 from ethereum/bump-version
bump VERSION.txt to 1.1.0-alpha.6
2021-05-21 14:44:17 -06:00
Danny Ryan
b59a9a95a4
Merge pull request #2430 from ethereum/resource-unavailable
add resourceunavailable error code with more guidance
2021-05-21 14:44:06 -06:00
Danny Ryan
bca467c926
fmt 2021-05-21 14:36:43 -06:00
Danny Ryan
51bf8f3985
bump VERSION.txt to 1.1.0-alpha.6 2021-05-21 14:26:40 -06:00
Danny Ryan
5bf01c4298
add resourceunavailable error code with more guidance 2021-05-21 14:24:58 -06:00
Danny Ryan
a52d67de0f
Merge pull request #2426 from ralexstokes/more-altair-fork-transition-tests
More Altair fork transition tests
2021-05-21 13:53:19 -06:00
Danny Ryan
378d167ee0
Merge pull request #2390 from ethereum/config-rework
Separation of Constant, Preset and Configuration variables
2021-05-21 13:49:19 -06:00
Danny Ryan
ba6d19308b
Update tests/core/pyspec/eth2spec/test/helpers/attestations.py
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-05-21 13:44:35 -06:00
protolambda
e50d8d4391
Merge branch 'dev' into config-rework 2021-05-20 23:31:49 +02:00
Alex Stokes
b9ad8bca00
Update tests/core/pyspec/eth2spec/test/altair/transition/test_transition.py 2021-05-20 12:07:46 -07:00
Alex Stokes
d04ecf16b1
PR feedback and add two more test cases 2021-05-20 11:55:11 -07:00
Alex Stokes
240209915c
Refactor attestation helper 2021-05-20 11:41:06 -07:00
Alex Stokes
1dfca0e677
Refactor block helper 2021-05-20 11:40:25 -07:00
Jacek Sieka
658e92af96
Historical block roots
This PR simplifies and replaces `historical_roots` with
`historical_block_roots`.

By keeping an accumulator of historical block roots in the state, it
becomes possible to validate the entire block history that led up to a
particular state without executing the transitions.

This is interesting for archival purposes as well as when implementing
sync protocols that can then proceed to verify chunks of blocks quickly
- it's also useful as it provides a canonical hash by which such chunks
of blocks can be named, with a direct reference in the state.

In order not to grow the state size further, the `historical_roots`
field is removed - the blocks already contain state roots, so the value
of repeating the state root in the historical accumulator is limited to
empty slots, and even then, the historical block root accumulator
differentiates states that differ by empty slots.

This is a sketch of the full PR - there are a few key decisions to make:

* should the historical block roots be backfilled with phase0 data on
the transition? This simplifies future logic but could be omitted for
simplicity. It's easy to precalculate what the values should be, so it's
not a computational issue.
* should historical roots remain?

As far as naming goes, it's convenient to talk about an "era" being 8192
epoch = 256k slots ~= 36.4 days.
2021-05-20 17:09:02 +02:00
Danny Ryan
e384686ec1
Merge pull request #2427 from ralexstokes/fix-altair-fork-unit-tests
Add Altair fork tests to test generators
2021-05-19 16:18:24 -06:00
Alex Stokes
df742ea8af
add fork finality test with random participation 2021-05-19 12:16:24 -07:00
protolambda
1636a1df58
reduce duplicate combination code, and no in-place updates 2021-05-19 19:18:42 +02:00
Diederik Loerakker
6193c7c255
Update configs/README.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-05-19 19:08:59 +02:00
protolambda
c080324e08
set RNG for test case for consistent test outputs 2021-05-19 19:07:24 +02:00
Diederik Loerakker
76cc964a37
Update presets/README.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-05-19 17:58:57 +02:00
protolambda
46bb8273df
update ejection balance config references 2021-05-19 17:43:56 +02:00
protolambda
ff021da551
change line formatting, new refence as config var implicitly takes more space 2021-05-19 17:21:30 +02:00
protolambda
291168e1e3
clarify config/preset separation, address review comments by @djrtwo 2021-05-19 17:15:34 +02:00
Alex Stokes
a7346ae384
Add Altair fork tests to test generators 2021-05-18 18:05:07 -07:00
Alex Stokes
7eba1612cf
Add fork transition test that finalizes across fork boundary 2021-05-18 17:43:34 -07:00
Alex Stokes
0ec1ec77b8
Expose attestation helper in pyspec tests 2021-05-18 17:25:51 -07:00
Danny Ryan
92a8ca73ab
Merge pull request #2423 from ethereum/alpha.5
bump VERSION.txt to alpha.5
2021-05-18 16:07:21 -06:00
Danny Ryan
19a8076b89
bump VERSION.txt to alpha.5 2021-05-18 15:57:44 -06:00
Danny Ryan
ba551b572c
Merge pull request #2422 from terencechain/patch-121
Altair fork: add a link
2021-05-18 15:57:00 -06:00
terence tsao
c03c72a543
Altair fork: add a link 2021-05-18 13:50:46 -07:00
protolambda
48e1ef193a
update docs with config usage 2021-05-18 21:31:27 +02:00
protolambda
90c4a7599b
fix lint 2021-05-18 20:53:04 +02:00
protolambda
925f0508ce
test generator fixes 2021-05-18 20:13:19 +02:00
Danny Ryan
248363ce21
Merge pull request #2419 from terencechain/patch-120
Fix `PARTICIPATION_FLAG_WEIGHTS` to use correct head weight
2021-05-18 11:27:36 -06:00
protolambda
fb82472b46
update test generators 2021-05-18 18:48:58 +02:00
Diederik Loerakker
943d334173
Merge pull request #2421 from ericsson49/ericsson49/fix_sharding_process_block
Fix typing problem in `sharding.process_block`
2021-05-18 16:27:32 +02:00
protolambda
a57ff5fc01
select preset with cli arg 2021-05-18 16:17:02 +02:00
protolambda
f5c647b47b
switch configuration to named tuple for reliable hashing, add test for config override functionality 2021-05-18 16:08:30 +02:00
protolambda
e8b0c46138
misc test fixes for new config approach 2021-05-18 14:45:56 +02:00
protolambda
0894125bf7
update test util 2021-05-18 13:59:26 +02:00
protolambda
1e7c5b1f83
fix config usage of MIN_GENESIS_ACTIVE_VALIDATOR_COUNT 2021-05-18 13:56:42 +02:00