Dmitrii Shmatko
b1aa227983
Added `on_merge_block` client tests
2021-09-23 22:22:34 +03:00
Mark Mackey
d9a183b5cb
Modify Merge Gossip Block Validation Conditions
2021-09-23 13:30:43 -05:00
Mark Mackey
08ca12ba97
Fixed Altair p2p-interface.md Link
2021-09-23 13:16:57 -05:00
lsankar4033
1ccb7d0a52
Inline TERMINAL_BLOCK_HASH and TERMINAL_TOTAL_DIFFICULTY usages
2021-09-23 09:52:02 -07:00
Lakshman Sankar
9d1cdf5ce1
Bytes32 -> Hash32
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2021-09-23 09:31:43 -07:00
Mikhail Kalinin
0e2eb50675
Fix spelling
2021-09-23 15:30:14 +06:00
Mikhail Kalinin
41e06aec1b
Introduce PayloadId type
2021-09-23 15:03:43 +06:00
Mikhail Kalinin
7d577ed422
Introduce ExecutionAddress type
2021-09-23 14:35:55 +06:00
Mikhail Kalinin
b7deef1629
Clarity which state should be used in prepare_payload in a better way
2021-09-23 13:50:46 +06:00
Mikhail Kalinin
7ef938da77
Add notify_ prefix to EE functions sending notifications
2021-09-23 13:37:52 +06:00
Mikhail Kalinin
c815f695cd
Polish comment in get_payload body
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-09-23 13:17:55 +06:00
Mikhail Kalinin
eada985e9e
Better wording for consensus_validated
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-23 13:16:18 +06:00
lsankar4033
56fc984333
Re-run doctoc
2021-09-22 11:24:05 -07:00
lsankar4033
df6a834889
Add TERMINAL_BLOCK_HASH override
2021-09-22 11:18:41 -07:00
Mikhail Kalinin
f4bd37a108
Fix spelling 2
2021-09-22 23:58:04 +06:00
Mikhail Kalinin
38a4fd907e
Fix spelling
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-09-22 23:56:10 +06:00
Mikhail Kalinin
24bacafeee
Update consensus_validated description
2021-09-22 23:52:15 +06:00
Mikhail Kalinin
06107ce7d8
Polish the description of execution engine functions
2021-09-22 18:29:58 +06:00
Mikhail Kalinin
8cecf405cb
Merge branch 'dev' into execution-engine-update
2021-09-22 17:47:02 +06:00
Mikhail Kalinin
18bfe3555f
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-22 17:45:26 +06:00
Danny Ryan
e2af59c8cd
ensure random is validated for all payloads including transition
2021-09-20 23:18:39 +06:00
Mikhail Kalinin
cb9e65ab85
Bring on extra_data field
2021-09-20 23:18:39 +06:00
Mikhail Kalinin
b530e01761
Update calls to execution_engine
2021-09-20 20:57:45 +06:00
Mikhail Kalinin
9ca8c592c5
Add TBD for TTD and add the value to the configs
2021-09-18 12:39:54 +06:00
Mikhail Kalinin
a48ea83ab8
Fix toc
2021-09-17 16:54:06 +06:00
Mikhail Kalinin
d0889b9001
Hardcode terminal total difficulty
2021-09-17 16:20:25 +06:00
Mikhail Kalinin
df657f7c93
Merge branch 'dev' into set-random-to-prev-randao-mix
2021-09-17 14:41:43 +06:00
Mikhail Kalinin
6f78e6a3ee
Remove randao_reveal from validator.md
2021-09-16 11:28:04 +06:00
Danny Ryan
c396ee1e3f
Merge pull request #2595 from mkalinin/terminal-pow-block-verification
...
Verify terminal PoW block after call to state_transition
2021-09-15 17:11:27 -06:00
Alex Stokes
899bde0873
Rename client_settings.md to client-settings.md
2021-09-13 06:31:11 -07:00
Mikhail Kalinin
960a49afc9
Verify terminal PoW block after call to state_transition
2021-09-10 16:07:26 +06:00
lsankar4033
879a60a169
Run doctoc
2021-09-09 08:45:21 -07:00
Lakshman Sankar
83471fe461
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:38:33 -07:00
Lakshman Sankar
252f4ea14a
Wording change
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:37:39 -07:00
Lakshman Sankar
771933d1a7
Stronger language around usage of the setting
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:37:27 -07:00
Lakshman Sankar
385ee12ef0
'should' -> 'must'
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:36:54 -07:00
Lakshman Sankar
de1487564a
Wording change
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2021-09-09 08:36:42 -07:00
Lakshman Sankar
10f4ea4b51
Wording change
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:36:25 -07:00
lsankar4033
a542a07578
Fix links
2021-09-08 13:06:22 -07:00
lsankar4033
0f7d8e5552
Add notes in merge/fork.md
2021-09-08 13:03:05 -07:00
lsankar4033
01fe3cdb08
Add note about default behavior
2021-09-08 12:57:49 -07:00
lsankar4033
49d225bb78
Add new --terminal-total-difficulty-override client_setting
2021-09-08 12:34:33 -07:00
Mikhail Kalinin
02057cb13e
Fix spelling
2021-09-01 20:59:16 +06:00
Mikhail Kalinin
6ba1f22404
Set ExecutionPayload.random to the previous randao_mix
2021-09-01 18:42:58 +06:00
Mikhail Kalinin
5a84224d1a
Change transition_td to terminal_td in the merge spec
2021-08-30 18:23:25 +06:00
ericsson
96c05adcf8
Fix typing problem: `is_merge_block` accepts `BeaconBlockBody` as a second argument, while `BeaconBlock` is provided
2021-08-23 18:52:09 +03:00
Danny Ryan
4c1156d504
rename eth1 and eth2 throughout specs and readme where reasonable
2021-08-18 17:13:24 -06:00
Mikhail Kalinin
e3cad13497
Make base_fee_per_gas little-endian
2021-08-16 18:35:11 +06:00
Mikhail Kalinin
301157c027
Change base_fee_per_gas type to Bytes32
2021-08-13 14:21:37 +06:00
Danny Ryan
c404cd144a
Merge pull request #2533 from mkalinin/rebase-with-london
...
Rebase Merge spec with London
2021-08-10 16:37:32 -06:00
Danny Ryan
08210fe067
Merge pull request #2531 from ethereum/merge-p2p
...
add base merge p2p spec
2021-08-10 16:29:33 -06:00
Mikhail Kalinin
ef71a4af1d
Polishing as per code review
2021-08-10 17:15:07 +06:00
Danny Ryan
600f55ba7f
add basic execution-layer p2p beacon_block validations
2021-08-09 17:50:56 -06:00
Mikhail Kalinin
f1982d4fc3
Replace underflow check with respective comment
2021-07-30 16:18:05 +06:00
Mikhail Kalinin
d58ffc7dfc
Add genesis settings section
2021-07-30 16:10:33 +06:00
Mikhail Kalinin
5d5a9e392b
Rename GAS_LIMIT_DIVISOR to GAS_LIMIT_DENOMINATOR
2021-07-30 12:43:54 +06:00
Mikhail Kalinin
c311712bca
Apply suggestions from code review
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-07-30 12:36:02 +06:00
Mikhail Kalinin
789e10ea7c
Update toc
2021-07-26 20:09:57 +06:00
Mikhail Kalinin
9a1a30c3d4
Rebase Merge spec with London
2021-07-26 19:55:35 +06:00
Danny Ryan
35df4b2d4f
rephrase context enum for blocks_by requests
2021-07-23 07:54:26 -06:00
protolambda
bf6ad465ce
remove old BeaconState extension
2021-07-22 20:01:50 +02:00
protolambda
bb0848b6f6
carry over current and previous_sync_committee in Merge state upgrader, review from @djrtwo
2021-07-22 19:58:10 +02:00
Danny Ryan
3b34f16e5a
add base merge p2p spec
2021-07-22 11:09:36 -06:00
protolambda
17fad2dea2
rebase The Merge onto Altair base functionality
2021-07-22 16:36:41 +02:00
Mikhail Kalinin
65f6aa1b33
Replace PyUnion with Optional
2021-07-20 17:37:52 +06:00
Mikhail Kalinin
add00ad2e0
Replace get_pow_chain_head with get_pow_block_at_total_difficulty in validator.md
2021-07-17 12:33:06 +06:00
Mikhail Kalinin
a4a050e97a
Enforce terminal PoW block to be on the cusp
2021-07-16 19:16:32 +06:00
Justin
c8d22b1d91
fix minor cosmetic typo
2021-07-07 13:44:22 +01:00
Mikhail Kalinin
ac19aa3e2d
Accept polishing suggested by Justin
2021-06-22 14:23:26 +06:00
Mikhail Kalinin
199d6aee58
Merge remote-tracking branch 'origin/dev' into randao_in_execution_payload
2021-06-19 00:28:38 +06:00
Justin
878b15df6a
polish merge/beacon-chain.md ( #2472 )
...
Polish `merge/beacon-chain.md` with mostly non-substantive changes.
**Non-substantive changes**
* rename `MAX_EXECUTION_TRANSACTIONS` to `MAX_TRANSACTIONS_PER_PAYLOAD`
- rename "execution transaction" to just "transaction" as per discussion with Danny
* rename `compute_time_at_slot` to `compute_timestamp_at_slot`
- the function returns a Unix timestamp
- "timestamp" matches `execution_payload.timestamp`
* be explicit about `ExecutionEngine.execution_state` for clarity
* rename `ExecutionPayload.number` to `ExecutionPayload.block_number`
- more specific ("number" is pretty vague)
- consistent with `ExecutionPayload.block_hash`
* rename `new_block` to `on_payload`
- the `on_` prefix is consistent with other event handlers (e.g. see `on_tick`, `on_block`, `on_attestation` [here](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/fork-choice.md#handlers ))
- the `_payload` suffix is more to the point given the function accepts an `execution_payload`
- avoids conflict with `on_block` which is already used in the fork choice
* rework the table of contents for consistency
* order `is_execution_enabled` after `is_transition_completed` and `is_transition_block`
- `is_execution_enabled` refers to `is_transition_completed` and `is_transition_block`
* rename "transition" to "merge"
- "transition" is a bit vague—we will have other transitions at future hard forks
- there is no need for two words to refer to the same concept
* add a bunch of inline comments, e.g. in `process_execution_payload`
* make the `process_execution_payload` signature consistent with the other `process_` functions in `process_block` which take as arguments `state` and `block.body`
* remove `TRANSITION_TOTAL_DIFFICULTY`
- to be put in `merge/fork-choice.md` where it is used
* various misc cleanups
**Substantive changes**
* reorder `ExecutionPayload` fields
- for consistency with yellow paper and Eth1
- same for `ExecutionPayloadHeader`
- added comments separating out the execution block header fields from the extra fields (cosmetic)
2021-06-18 11:09:30 +01:00
Mikhail Kalinin
6e86d8a696
Rename randao->random, other fixes as per review
2021-06-17 21:20:17 +06:00
Mikhail Kalinin
cc20b80103
Fix linter, add more test helpers
2021-06-15 14:55:06 +06:00
Mikhail Kalinin
2e87a6b44e
Apply review comments
2021-06-11 22:50:11 +06:00
Mikhail Kalinin
7d617bc7c0
Fix timestamp passed to produce_execution_payload
2021-06-11 22:46:24 +06:00
Mikhail Kalinin
95775e1b90
Add randao to execution payload
2021-06-11 16:05:19 +06:00
Mikhail Kalinin
5228dc814f
Redefine initialize_beacon_state_from_eth1
2021-06-08 18:44:53 +06:00
Mikhail Kalinin
6350e27366
Add difficulty field to PowBlock
2021-06-08 17:56:07 +06:00
Mikhail Kalinin
038edb5b34
Rename SECONDS_SINCE_MERGE_FORK -> TARGET_SECONDS_TO_MERGE
2021-06-08 17:16:52 +06:00
Mikhail Kalinin
3a6a565a8f
Replace fractional division with integer one
...
Co-authored-by: vbuterin <v@buterin.com>
2021-06-08 15:03:59 +06:00
Mikhail Kalinin
96334e3ee7
Switch to suggested td computation formula
2021-06-07 22:21:36 +06:00
Mikhail Kalinin
7f64757b51
Fix Optional[TransitionStore] issue to satisfy linter
2021-06-03 16:08:56 +06:00
Mikhail Kalinin
6872c01682
Add an extra line between function def
2021-06-03 12:31:59 +06:00
Mikhail Kalinin
6604830729
Apply suggestions after the review
2021-06-02 15:00:01 +06:00
Mikhail Kalinin
db32c8b013
Fix linter errors
2021-06-01 17:44:58 +06:00
Mikhail Kalinin
6226be9e1e
Implement TransitionStore and transition total difficulty computation
2021-06-01 16:28:30 +06:00
Mikhail Kalinin
fd4369dc7c
Add merge/fork.md with upgrade_to_merge definition
2021-05-31 19:30:54 +06:00
protolambda
7d59016bb8
Merge constant/preset/config separation
2021-05-18 09:31:07 +02:00
protolambda
d3160ba23a
update ExecutionEngine protocol arg references
2021-05-14 01:07:22 +02:00
protolambda
0390ab819a
Protocols pyspec support + execution payload tests cleanup
2021-05-12 02:40:23 +02:00
protolambda
f58ba8f5b2
define execution engine protocol
2021-05-10 16:11:12 +02:00
protolambda
76b5974d11
is_execution_enabled function + misc review fixes
...
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2021-05-06 02:23:13 +02:00
protolambda
e2be7614cc
introduce merge fork version
2021-05-05 15:35:36 +02:00
Mikhail Kalinin
79fc41146d
Adjust is_transition_block call in fork-choice
2021-05-05 13:37:07 +06:00
protolambda
521cffc3e9
update execution-payload processing to isolate payload from block body
2021-05-05 00:17:10 +02:00
Paul Hauner
c0f1231522
Rename MAX_APPLICATION_TRANSACTIONS
2021-04-19 15:24:06 +10:00
Danny Ryan
c7166a37af
change eth1data block_hash type to Hash32 in phase 0
2021-04-15 06:47:11 -05:00
Mikhail Kalinin
9d79831b56
Rename validate_execution_payload to verify_execution_state_transition
2021-04-14 13:03:58 +06:00
Mikhail Kalinin
292fd604f8
Replace boolean with bool whenever make sense
2021-04-14 12:54:49 +06:00
Mikhail Kalinin
7d8570d488
Warn about potential overflows in compute_time_at_slot
2021-04-14 12:53:30 +06:00
Mikhail Kalinin
dbbc63b7a3
Replace execution_state_transition with validate_execution_payload
2021-04-13 19:13:54 +06:00
Mikhail Kalinin
ad0f1e5620
Add timestamp field into ExecutionPayload
2021-04-13 19:08:47 +06:00
Mikhail Kalinin
13edd20a36
Change Eth1Data.block_hash type to Hash32
2021-04-13 15:29:07 +06:00
Mikhail Kalinin
44de07fee9
Replace hash: Hash32 with block_hash: Hash32
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-04-13 15:20:45 +06:00
Mikhail Kalinin
c4c4dade27
Add missing timestamp in validator.md/get_execution_payload
2021-04-09 22:50:37 +06:00
Mikhail Kalinin
ac175fd325
Replace state with its root in execution_state_transition params
2021-04-09 19:16:52 +06:00
Mikhail Kalinin
334a9b2434
Pass timestamp to execution state transition and payload production
2021-04-09 19:14:58 +06:00
Mikhail Kalinin
a1ded22b3a
Introduce Hash32 custom type
2021-04-09 19:09:00 +06:00
Danny Ryan
af9ea0efb6
Merge branch 'dev' into merge-exe
2021-04-09 07:21:51 -05:00
Mikhail Kalinin
ffe7d6db6a
Add pre-merge path to the process_execution_payload
2021-04-09 15:36:45 +06:00
Mikhail Kalinin
68b11ad4ad
Fix pre-condition checks in process_execution_payload
2021-04-08 20:14:34 +06:00
Mikhail Kalinin
13586cd9f8
Polishing and fixes according to github comments
2021-04-08 20:14:01 +06:00
Mikhail Kalinin
c1101a8181
Apply new terminology to the merge spec
2021-04-08 14:29:05 +06:00
Hsiao-Wei Wang
6e8b4b3ea9
Add eth2spec.merge.spec
2021-04-08 05:57:16 +08:00
Mikhail Kalinin
2a4756da2e
Add transactions_root to ApplicationBlockHeader
2021-04-06 11:48:33 +06:00
Mikhail Kalinin
79aee8645d
Implement ApplicationBlockHeader
2021-04-02 21:01:49 +06:00
Mikhail Kalinin
106e1b98ba
Add parent_hash, number to ApplicationPayload
2021-03-31 16:10:02 +06:00
Mikhail Kalinin
b52cde0c86
Fix redundant application_parent_hash in validator.md
2021-03-31 15:06:32 +06:00
terence tsao
eca6bd7d62
Fix merge beacon chain spec's toc
2021-03-29 11:56:43 -07:00
Danny Ryan
223aba3e78
byte-list for opaque transaction payload
2021-03-26 13:50:46 -06:00
Danny Ryan
41a087a78d
minor edits from code review
...
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-26 13:12:53 -06:00
Mikhail Kalinin
81a2c2c2b5
Use ByteList[N] and ByteVector[N] types
2021-03-25 18:41:00 +06:00
Mikhail Kalinin
260a0a5273
Polish merge/fork-choice.md
2021-03-25 17:53:15 +06:00
Mikhail Kalinin
a23bde347b
Bytes1 to byte in ApplicationPayload.logs_bloom
2021-03-25 17:51:32 +06:00
Mikhail Kalinin
ee5ecf8e2b
Address a new portion of comments and fixes
2021-03-25 17:49:13 +06:00
Mikhail Kalinin
63ae9f2bdb
Standardise PowBlock between fork-choice and validator
2021-03-24 20:58:31 +06:00
Mikhail Kalinin
ea5f606bd0
Address various cleanups and formatting suggestions
2021-03-24 16:30:29 +06:00
Mikhail Kalinin
96de910b22
Distinguish invalid and not processed transition block
2021-03-22 21:55:35 +06:00
Mikhail Kalinin
7e6ac4e7f7
Boolean -> boolean
2021-03-22 21:20:05 +06:00
Mikhail Kalinin
83453d212e
Simplify merge.BeaconState definition
2021-03-22 21:14:31 +06:00
Mikhail Kalinin
38a455c79f
Verify that ApplicationPayload is zeroed before the transition
2021-03-22 20:58:34 +06:00
Mikhail Kalinin
24dc8a277f
Fix block_body variable in is_transition_block
...
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-22 20:54:44 +06:00
Mikhail Kalinin
3420e51a0f
Verify transition block to be assembled correctly
2021-03-20 21:46:20 +06:00
Mikhail Kalinin
46fc8a196d
Strip down the merge to the pure consensus upgrade
2021-03-20 19:21:11 +06:00
Mikhail Kalinin
bf151641a7
Add rebase-to-Altair warning
2021-03-17 22:42:29 +06:00
Mikhail Kalinin
b8e16c1610
Remove min(..., ...) in get_evm_beacon_block_roots
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
a368f5d224
Lable Added/Remove notes with Merge explicitly
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
3c9cd855a0
Fix spelling
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
5435324693
Add a line break in get_recent_beacon_block_roots
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
3fb5f2ec81
Use Vector struct for recent_block_roots field
...
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
f6f36872d8
Index from GENESIS_SLOT in compute_time_at_slot
...
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
ee161634b2
Polish beacon chain spec and validator guide
2021-03-17 15:59:14 +06:00
Mikhail Kalinin
0dec828d89
Add initial merge spec
2021-03-17 15:59:14 +06:00