From 0e7953fe8ab91f4640c86b450dbf6e7e80eefbba Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Wed, 30 Jan 2019 10:39:08 -0800 Subject: [PATCH] verify_bitiefld in aggregate signature section --- specs/core/0_beacon-chain.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/specs/core/0_beacon-chain.md b/specs/core/0_beacon-chain.md index 71ad5c708..1c5af9660 100644 --- a/specs/core/0_beacon-chain.md +++ b/specs/core/0_beacon-chain.md @@ -1631,9 +1631,12 @@ For each `attestation` in `block.body.attestations`: ```python assert attestation.custody_bitfield == b'\x00' * len(attestation.custody_bitfield) # [TO BE REMOVED IN PHASE 1] assert attestation.aggregation_bitfield != b'\x00' * len(attestation.aggregation_bitfield) - - assert len(attestation.aggregation_bitfield) <= len(attestation.custody_bitfield) - for i in range(len(attestation.aggregation_bitfield)): + + crosslink_committee = get_crosslink_committee_at_slot(state, attestation.data.slot)[0] + verify_bitfield(attestation.aggregation_bitfield, len(crosslink_committee)) + verify_bitfield(attestation.custody_bitfield, len(crosslink_committee)) + + for i in range(len(crosslink_committee): if get_bitfield_bit(attestation.aggregation_bitfield, i) == 0b0: assert get_bitfield_bit(attestation.custody_bitfield, i) == 0b0