Skip to content

Commit 5f1d0f9

Browse files
committed
address comments
1 parent e01feff commit 5f1d0f9

File tree

2 files changed

+19
-35
lines changed
  • packages/testing/src/consensus_testing/test_fixtures
  • src/lean_spec/subspecs/containers/state

2 files changed

+19
-35
lines changed

packages/testing/src/consensus_testing/test_fixtures/fork_choice.py

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
from __future__ import annotations
99

10-
import logging
1110
from typing import ClassVar, Mapping, Self
1211

1312
from pydantic import model_validator
@@ -198,19 +197,16 @@ def make_fixture(self) -> Self:
198197
# Test states use placeholder pubkeys.
199198
# We must replace them with the key manager's actual keys.
200199
# Otherwise signature verification will fail.
201-
updated_validators = [
202-
validator.model_copy(
200+
updated_validators = []
201+
for i, validator in enumerate(self.anchor_state.validators):
202+
idx = ValidatorIndex(i)
203+
validator = validator.model_copy(
203204
update={
204-
"attestation_pubkey": key_manager[
205-
ValidatorIndex(i)
206-
].attestation_public.encode_bytes(),
207-
"proposal_pubkey": key_manager[
208-
ValidatorIndex(i)
209-
].proposal_public.encode_bytes(),
205+
"attestation_pubkey": key_manager[idx].attestation_public.encode_bytes(),
206+
"proposal_pubkey": key_manager[idx].proposal_public.encode_bytes(),
210207
}
211208
)
212-
for i, validator in enumerate(self.anchor_state.validators)
213-
]
209+
updated_validators.append(validator)
214210

215211
# Updating validators changes the state root.
216212
# We must also update the anchor block to match.
@@ -299,26 +295,18 @@ def make_fixture(self) -> Self:
299295
if step.block.gossip_proposer_attestation:
300296
proposer_index = block.proposer_index
301297
proposer_att_data = store.produce_attestation_data(block.slot)
302-
try:
303-
proposer_gossip_att = SignedAttestation(
304-
validator_id=proposer_index,
305-
data=proposer_att_data,
306-
signature=key_manager.sign_attestation_data(
307-
proposer_index, proposer_att_data
308-
),
309-
)
310-
store = store.on_gossip_attestation(
311-
proposer_gossip_att,
312-
scheme=LEAN_ENV_TO_SCHEMES[self.lean_env],
313-
is_aggregator=True,
314-
)
315-
except Exception as e:
316-
logging.warning(
317-
"Proposer gossip attestation failed (slot=%s): %s",
318-
block.slot,
319-
e,
320-
exc_info=True,
321-
)
298+
proposer_gossip_att = SignedAttestation(
299+
validator_id=proposer_index,
300+
data=proposer_att_data,
301+
signature=key_manager.sign_attestation_data(
302+
proposer_index, proposer_att_data
303+
),
304+
)
305+
store = store.on_gossip_attestation(
306+
proposer_gossip_att,
307+
scheme=LEAN_ENV_TO_SCHEMES[self.lean_env],
308+
is_aggregator=True,
309+
)
322310

323311
case AttestationStep():
324312
# Process a gossip attestation.

src/lean_spec/subspecs/containers/state/state.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -827,8 +827,6 @@ def aggregate(
827827
):
828828
if entry.validator_id in covered_validators:
829829
continue
830-
if int(entry.validator_id) >= len(self.validators):
831-
continue
832830
public_key = self.validators[entry.validator_id].get_attestation_pubkey()
833831
raw_entries.append((entry.validator_id, public_key, entry.signature))
834832
covered_validators.add(entry.validator_id)
@@ -859,8 +857,6 @@ def aggregate(
859857
for entry in sorted(
860858
gossip_signatures.get(data, set()), key=lambda e: e.validator_id
861859
):
862-
if int(entry.validator_id) >= len(self.validators):
863-
continue
864860
public_key = self.validators[entry.validator_id].get_attestation_pubkey()
865861
raw_entries.append((entry.validator_id, public_key, entry.signature))
866862
if not raw_entries:

0 commit comments

Comments
 (0)