Skip to content

Commit 691afcd

Browse files
committed
Remove the IL bitlist from bid
1 parent c9d52e0 commit 691afcd

9 files changed

Lines changed: 1 addition & 255 deletions

File tree

specs/_features/eip8148/beacon-chain.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,6 @@ class BeaconState(Container):
122122
execution_payload_availability: Bitvector[SLOTS_PER_HISTORICAL_ROOT]
123123
builder_pending_payments: Vector[BuilderPendingPayment, 2 * SLOTS_PER_EPOCH]
124124
builder_pending_withdrawals: List[BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT]
125-
# [Modified in Heze:EIP7805]
126-
latest_execution_payload_bid: ExecutionPayloadBid
127125
payload_expected_withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
128126
ptc_window: Vector[Vector[ValidatorIndex, PTC_SIZE], (2 + MIN_SEED_LOOKAHEAD) * SLOTS_PER_EPOCH]
129127
# [New in EIP8148]

specs/heze/beacon-chain.md

Lines changed: 0 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
- [`InclusionList`](#inclusionlist)
1515
- [`SignedInclusionList`](#signedinclusionlist)
1616
- [Modified containers](#modified-containers)
17-
- [`ExecutionPayloadBid`](#executionpayloadbid)
18-
- [`SignedExecutionPayloadBid`](#signedexecutionpayloadbid)
1917
- [`BeaconState`](#beaconstate)
2018
- [Helpers](#helpers)
2119
- [Predicates](#predicates)
@@ -70,90 +68,6 @@ class SignedInclusionList(Container):
7068
signature: BLSSignature
7169
```
7270

73-
### Modified containers
74-
75-
#### `ExecutionPayloadBid`
76-
77-
```python
78-
class ExecutionPayloadBid(Container):
79-
parent_block_hash: Hash32
80-
parent_block_root: Root
81-
block_hash: Hash32
82-
prev_randao: Bytes32
83-
fee_recipient: ExecutionAddress
84-
gas_limit: uint64
85-
builder_index: BuilderIndex
86-
slot: Slot
87-
value: Gwei
88-
execution_payment: Gwei
89-
blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]
90-
execution_requests_root: Root
91-
# [New in Heze:EIP7805]
92-
inclusion_list_bits: Bitvector[INCLUSION_LIST_COMMITTEE_SIZE]
93-
```
94-
95-
#### `SignedExecutionPayloadBid`
96-
97-
```python
98-
class SignedExecutionPayloadBid(Container):
99-
# [Modified in Heze:EIP7805]
100-
message: ExecutionPayloadBid
101-
signature: BLSSignature
102-
```
103-
104-
#### `BeaconState`
105-
106-
```python
107-
class BeaconState(Container):
108-
genesis_time: uint64
109-
genesis_validators_root: Root
110-
slot: Slot
111-
fork: Fork
112-
latest_block_header: BeaconBlockHeader
113-
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
114-
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
115-
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
116-
eth1_data: Eth1Data
117-
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
118-
eth1_deposit_index: uint64
119-
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
120-
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
121-
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
122-
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
123-
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
124-
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
125-
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
126-
previous_justified_checkpoint: Checkpoint
127-
current_justified_checkpoint: Checkpoint
128-
finalized_checkpoint: Checkpoint
129-
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
130-
current_sync_committee: SyncCommittee
131-
next_sync_committee: SyncCommittee
132-
latest_block_hash: Hash32
133-
next_withdrawal_index: WithdrawalIndex
134-
next_withdrawal_validator_index: ValidatorIndex
135-
historical_summaries: List[HistoricalSummary, HISTORICAL_ROOTS_LIMIT]
136-
deposit_requests_start_index: uint64
137-
deposit_balance_to_consume: Gwei
138-
exit_balance_to_consume: Gwei
139-
earliest_exit_epoch: Epoch
140-
consolidation_balance_to_consume: Gwei
141-
earliest_consolidation_epoch: Epoch
142-
pending_deposits: List[PendingDeposit, PENDING_DEPOSITS_LIMIT]
143-
pending_partial_withdrawals: List[PendingPartialWithdrawal, PENDING_PARTIAL_WITHDRAWALS_LIMIT]
144-
pending_consolidations: List[PendingConsolidation, PENDING_CONSOLIDATIONS_LIMIT]
145-
proposer_lookahead: Vector[ValidatorIndex, (MIN_SEED_LOOKAHEAD + 1) * SLOTS_PER_EPOCH]
146-
builders: List[Builder, BUILDER_REGISTRY_LIMIT]
147-
next_withdrawal_builder_index: BuilderIndex
148-
execution_payload_availability: Bitvector[SLOTS_PER_HISTORICAL_ROOT]
149-
builder_pending_payments: Vector[BuilderPendingPayment, 2 * SLOTS_PER_EPOCH]
150-
builder_pending_withdrawals: List[BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT]
151-
# [Modified in Heze:EIP7805]
152-
latest_execution_payload_bid: ExecutionPayloadBid
153-
payload_expected_withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
154-
ptc_window: Vector[Vector[ValidatorIndex, PTC_SIZE], (2 + MIN_SEED_LOOKAHEAD) * SLOTS_PER_EPOCH]
155-
```
156-
15771
## Helpers
15872

15973
### Predicates

specs/heze/builder.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

specs/heze/fork.md

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,6 @@ change is made to upgrade to Heze.
3535
```python
3636
def upgrade_to_heze(pre: gloas.BeaconState) -> BeaconState:
3737
epoch = gloas.get_current_epoch(pre)
38-
latest_execution_payload_bid = ExecutionPayloadBid(
39-
parent_block_hash=pre.latest_execution_payload_bid.parent_block_hash,
40-
parent_block_root=pre.latest_execution_payload_bid.parent_block_root,
41-
block_hash=pre.latest_execution_payload_bid.block_hash,
42-
prev_randao=pre.latest_execution_payload_bid.prev_randao,
43-
fee_recipient=pre.latest_execution_payload_bid.fee_recipient,
44-
gas_limit=pre.latest_execution_payload_bid.gas_limit,
45-
builder_index=pre.latest_execution_payload_bid.builder_index,
46-
slot=pre.latest_execution_payload_bid.slot,
47-
value=pre.latest_execution_payload_bid.value,
48-
execution_payment=pre.latest_execution_payload_bid.execution_payment,
49-
blob_kzg_commitments=pre.latest_execution_payload_bid.blob_kzg_commitments,
50-
execution_requests_root=pre.latest_execution_payload_bid.execution_requests_root,
51-
# [New in Heze:EIP7805]
52-
inclusion_list_bits=Bitvector[INCLUSION_LIST_COMMITTEE_SIZE](),
53-
)
5438

5539
post = BeaconState(
5640
genesis_time=pre.genesis_time,
@@ -101,8 +85,7 @@ def upgrade_to_heze(pre: gloas.BeaconState) -> BeaconState:
10185
execution_payload_availability=pre.execution_payload_availability,
10286
builder_pending_payments=pre.builder_pending_payments,
10387
builder_pending_withdrawals=pre.builder_pending_withdrawals,
104-
# [Modified in Heze:EIP7805]
105-
latest_execution_payload_bid=latest_execution_payload_bid,
88+
latest_execution_payload_bid=pre.latest_execution_payload_bid,
10689
payload_expected_withdrawals=pre.payload_expected_withdrawals,
10790
ptc_window=pre.ptc_window,
10891
)

specs/heze/inclusion-list.md

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
- [New `get_inclusion_list_store`](#new-get_inclusion_list_store)
1313
- [New `process_inclusion_list`](#new-process_inclusion_list)
1414
- [New `get_inclusion_list_transactions`](#new-get_inclusion_list_transactions)
15-
- [New `get_inclusion_list_bits`](#new-get_inclusion_list_bits)
16-
- [New `is_inclusion_list_bits_inclusive`](#new-is_inclusion_list_bits_inclusive)
1715

1816
<!-- mdformat-toc end -->
1917

@@ -115,56 +113,3 @@ def get_inclusion_list_transactions(
115113
# Deduplicate inclusion list transactions. Order does not need to be preserved.
116114
return list(set(transactions))
117115
```
118-
119-
### New `get_inclusion_list_bits`
120-
121-
```python
122-
def get_inclusion_list_bits(
123-
store: InclusionListStore, state: BeaconState, slot: Slot, only_timely: bool = True
124-
) -> Bitvector[INCLUSION_LIST_COMMITTEE_SIZE]:
125-
"""
126-
Return a ``Bitvector`` over inclusion list committee indices with bits set
127-
for valid and non-equivocating inclusion list submissions for the given ``slot``.
128-
"""
129-
committee = get_inclusion_list_committee(state, slot)
130-
key = hash_tree_root(committee)
131-
132-
inclusion_lists = store.inclusion_lists[key]
133-
equivocators = store.equivocators[key]
134-
timeliness = store.inclusion_list_timeliness
135-
136-
validator_indices = [
137-
inclusion_lists[inclusion_list_root].validator_index
138-
for inclusion_list_root in inclusion_lists
139-
if inclusion_lists[inclusion_list_root].validator_index not in equivocators
140-
if not only_timely or timeliness[inclusion_list_root]
141-
]
142-
143-
return Bitvector[INCLUSION_LIST_COMMITTEE_SIZE](
144-
validator_index in validator_indices for validator_index in committee
145-
)
146-
```
147-
148-
### New `is_inclusion_list_bits_inclusive`
149-
150-
```python
151-
def is_inclusion_list_bits_inclusive(
152-
store: InclusionListStore,
153-
state: BeaconState,
154-
slot: Slot,
155-
inclusion_list_bits: Bitvector[INCLUSION_LIST_COMMITTEE_SIZE],
156-
only_timely: bool = True,
157-
) -> bool:
158-
"""
159-
Return ``True`` if and only if ``inclusion_list_bits`` is a superset of
160-
the locally observed inclusion list bits for the given ``slot``.
161-
"""
162-
local_inclusion_list_bits = get_inclusion_list_bits(store, state, slot, only_timely)
163-
164-
return all(
165-
inclusion_bit or not local_inclusion_bit
166-
for inclusion_bit, local_inclusion_bit in zip(
167-
inclusion_list_bits, local_inclusion_list_bits, strict=True
168-
)
169-
)
170-
```

specs/heze/validator.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
- [Lookahead](#lookahead)
1818
- [Block and sidecar proposal](#block-and-sidecar-proposal)
1919
- [Constructing the `BeaconBlockBody`](#constructing-the-beaconblockbody)
20-
- [Signed execution payload bid](#signed-execution-payload-bid)
2120
- [ExecutionPayload](#executionpayload)
2221
- [Inclusion list proposal](#inclusion-list-proposal)
2322
- [Constructing the `SignedInclusionList`](#constructing-the-signedinclusionlist)
@@ -108,16 +107,6 @@ list committee slot.
108107

109108
#### Constructing the `BeaconBlockBody`
110109

111-
##### Signed execution payload bid
112-
113-
*Note*: The only change made to `signed_execution_payload_bid` is to require
114-
that `bid.inclusion_list_bits` must satisfy `is_inclusion_list_bits_inclusive()`
115-
with respect to the proposer's inclusion list view, which comprises all valid
116-
and non-equivocating inclusion lists they have observed.
117-
118-
- The `bid.inclusion_list_bits` must satisfy
119-
`is_inclusion_list_bits_inclusive(get_inclusion_list_store(), state, slot - 1, bid.inclusion_list_bits, only_timely=False)`.
120-
121110
##### ExecutionPayload
122111

123112
`prepare_execution_payload` is updated from the Gloas specification to provide

tests/core/pyspec/eth_consensus_specs/test/helpers/execution_payload_bid.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from eth_consensus_specs.test.context import expect_assertion_error
2-
from eth_consensus_specs.test.helpers.forks import is_post_heze
32
from eth_consensus_specs.test.helpers.keys import builder_privkeys
43

54

@@ -37,7 +36,6 @@ def prepare_signed_execution_payload_bid(
3736
block_hash=None,
3837
blob_kzg_commitments=None,
3938
prev_randao=None,
40-
inclusion_list_bits=None,
4139
valid_signature=True,
4240
valid_amount=True,
4341
):
@@ -95,9 +93,6 @@ def prepare_signed_execution_payload_bid(
9593
"value": value,
9694
"blob_kzg_commitments": blob_kzg_commitments,
9795
}
98-
if is_post_heze(spec) and inclusion_list_bits is not None:
99-
bid_kwargs["inclusion_list_bits"] = inclusion_list_bits
100-
10196
bid = spec.ExecutionPayloadBid(**bid_kwargs)
10297

10398
if valid_signature:

tests/core/pyspec/eth_consensus_specs/test/heze/block_processing/__init__.py

Whitespace-only changes.

tests/core/pyspec/eth_consensus_specs/test/heze/block_processing/test_process_execution_payload_bid.py

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)