Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP-7547: Inclusion Lists #3617

Open
wants to merge 38 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
7d7398d
add full capella pyspec
michaelneuder May 21, 2023
07e713c
dev push for ils changes
michaelneuder Jan 22, 2024
eebbd6e
deneb update
michaelneuder Jan 22, 2024
fb3d2a3
Merge branch 'dev' of https://github.com/ethereum/consensus-specs int…
michaelneuder Mar 7, 2024
ffc3c76
remove old stuff
michaelneuder Mar 7, 2024
01b2f64
init commit
michaelneuder Mar 7, 2024
6984a1a
beacon chain
michaelneuder Mar 7, 2024
6c0c56a
fixes
michaelneuder Mar 7, 2024
42c122d
simplify
michaelneuder Mar 8, 2024
c7b1fd1
doctoc .
michaelneuder Mar 8, 2024
2e1b630
simplify
michaelneuder Mar 8, 2024
8114991
naming issue
michaelneuder Mar 8, 2024
d04d802
Update specs/_features/eip7547/p2p-networking.md
michaelneuder Mar 12, 2024
6599c32
Update specs/_features/eip7547/p2p-networking.md
michaelneuder Mar 12, 2024
2efaf1a
Update specs/_features/eip7547/p2p-networking.md
michaelneuder Mar 12, 2024
a11886c
Update specs/_features/eip7547/p2p-networking.md
michaelneuder Mar 12, 2024
d8d45bb
Update specs/_features/eip7547/p2p-networking.md
michaelneuder Mar 12, 2024
8970f6b
validator tweaks
michaelneuder Mar 12, 2024
d25b5d6
validate the inclusion list on_block
michaelneuder Mar 12, 2024
38f74d3
fix newline
michaelneuder Mar 12, 2024
90cf263
fix newline
michaelneuder Mar 12, 2024
7cb01ab
s/143/256
michaelneuder Mar 12, 2024
6dc2894
Make linter happy
hwwhww Mar 13, 2024
dcb206f
fix typo
hwwhww Mar 13, 2024
335b6b5
beacon-chain.md updates
michaelneuder Mar 18, 2024
995c049
beacon-chain.md updates
michaelneuder Mar 18, 2024
75aa52c
fork-choice.md
michaelneuder Mar 18, 2024
97cc84c
fork-choice.md
michaelneuder Mar 18, 2024
f46dd05
p2p-networking.md
michaelneuder Mar 18, 2024
0059893
validator.md
michaelneuder Mar 18, 2024
f0a13ab
small fixes
michaelneuder Mar 18, 2024
7545154
terence responses
michaelneuder Mar 19, 2024
c00b2d8
verify signature check
michaelneuder Mar 19, 2024
c82960d
signed summary in EL block
michaelneuder Mar 19, 2024
4d54445
fc changes
michaelneuder Mar 19, 2024
920fab1
keying on parent_hash too
michaelneuder Mar 19, 2024
086d20b
tweaks
michaelneuder Mar 21, 2024
37ca0c9
fork choice filter
michaelneuder Mar 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ tests/core/pyspec/eth2spec/eip6110/
tests/core/pyspec/eth2spec/eip7002/
tests/core/pyspec/eth2spec/whisk/
tests/core/pyspec/eth2spec/eip7594/
tests/core/pyspec/eth2spec/eip7547/

# coverage reports
.htmlcov
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ MARKDOWN_FILES = $(wildcard $(SPEC_DIR)/*/*.md) \
$(wildcard $(SPEC_DIR)/_features/*/*/*.md) \
$(wildcard $(SSZ_DIR)/*.md)

ALL_EXECUTABLE_SPEC_NAMES = phase0 altair bellatrix capella deneb eip6110 eip7002 whisk
ALL_EXECUTABLE_SPEC_NAMES = phase0 altair bellatrix capella deneb eip6110 eip7002 whisk eip7547
# The parameters for commands. Use `foreach` to avoid listing specs again.
COVERAGE_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), --cov=eth2spec.$S.$(TEST_PRESET_TYPE))
PYLINT_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), ./eth2spec/$S)
Expand Down
3 changes: 3 additions & 0 deletions configs/mainnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ EIP7002_FORK_EPOCH: 18446744073709551615
# WHISK
WHISK_FORK_VERSION: 0x06000000 # temporary stub
WHISK_FORK_EPOCH: 18446744073709551615
# EIP7547
EIP7547_FORK_VERSION: 0x07000000 # temporary stub
EIP7547_FORK_EPOCH: 18446744073709551615


# Time parameters
Expand Down
3 changes: 3 additions & 0 deletions configs/minimal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ EIP7002_FORK_EPOCH: 18446744073709551615
# WHISK
WHISK_FORK_VERSION: 0x06000001
WHISK_FORK_EPOCH: 18446744073709551615
# EIP7547
EIP7547_FORK_VERSION: 0x07000001
EIP7547_FORK_EPOCH: 18446744073709551615


# Time parameters
Expand Down
1 change: 1 addition & 0 deletions pysetup/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
EIP6110 = 'eip6110'
EIP7002 = 'eip7002'
WHISK = 'whisk'
EIP7547 = 'eip7547'
EIP7594 = 'eip7594'


Expand Down
2 changes: 2 additions & 0 deletions pysetup/md_doc_paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
EIP6110,
WHISK,
EIP7002,
EIP7547,
EIP7594,
)

Expand All @@ -22,6 +23,7 @@
EIP6110: DENEB,
WHISK: CAPELLA,
EIP7002: CAPELLA,
EIP7547: DENEB,
EIP7594: DENEB,
}

Expand Down
3 changes: 2 additions & 1 deletion pysetup/spec_builders/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
from .eip7002 import EIP7002SpecBuilder
from .whisk import WhiskSpecBuilder
from .eip7594 import EIP7594SpecBuilder
from .eip7547 import EIP7547SpecBuilder


spec_builders = {
builder.fork: builder
for builder in (
Phase0SpecBuilder, AltairSpecBuilder, BellatrixSpecBuilder, CapellaSpecBuilder, DenebSpecBuilder,
EIP6110SpecBuilder, EIP7002SpecBuilder, WhiskSpecBuilder, EIP7594SpecBuilder,
EIP6110SpecBuilder, EIP7002SpecBuilder, WhiskSpecBuilder, EIP7594SpecBuilder, EIP7547SpecBuilder,
)
}
52 changes: 52 additions & 0 deletions pysetup/spec_builders/eip7547.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
from .base import BaseSpecBuilder
from ..constants import EIP7547


class EIP7547SpecBuilder(BaseSpecBuilder):
fork: str = EIP7547


@classmethod
def execution_engine_cls(cls) -> str:
return """
class NoopExecutionEngine(ExecutionEngine):
def notify_new_payload(self: ExecutionEngine,
execution_payload: ExecutionPayload,
parent_beacon_block_root: Root) -> bool:
return True

def notify_forkchoice_updated(self: ExecutionEngine,
head_block_hash: Hash32,
safe_block_hash: Hash32,
finalized_block_hash: Hash32,
payload_attributes: Optional[PayloadAttributes]) -> Optional[PayloadId]:
pass

def get_payload(self: ExecutionEngine, payload_id: PayloadId) -> GetPayloadResponse:
# pylint: disable=unused-argument
raise NotImplementedError("no default block production")

def is_valid_block_hash(self: ExecutionEngine,
execution_payload: ExecutionPayload,
parent_beacon_block_root: Root) -> bool:
return True

def is_valid_versioned_hashes(self: ExecutionEngine, new_payload_request: NewPayloadRequest) -> bool:
return True

def verify_and_notify_new_payload(self: ExecutionEngine,
new_payload_request: NewPayloadRequest) -> bool:
return True

def notify_new_inclusion_list(self: ExecutionEngine,
inclusion_list_request: NewInclusionListRequest) -> bool:
return True


EXECUTION_ENGINE = NoopExecutionEngine()"""

@classmethod
def imports(cls, preset_name: str):
return f'''
from eth2spec.deneb import {preset_name} as deneb
'''