44from lean_spec .types import Bytes32 , Uint64
55from lean_spec .types .container import Container
66
7- from .types import Attestations
7+ from ..checkpoint import Checkpoint
8+ from ..vote .vote import ProposerAttestationData
9+ from .types import Attestations , BlockSignatures
10+
11+ _DEFAULT_PROPOSER_ATTESTATION = ProposerAttestationData (
12+ target = Checkpoint (root = Bytes32 .zero (), slot = Slot (0 )),
13+ source = Checkpoint (root = Bytes32 .zero (), slot = Slot (0 )),
14+ )
815
916
1017class BlockBody (Container ):
@@ -17,6 +24,11 @@ class BlockBody(Container):
1724 Note: This will eventually be replaced by aggregated attestations.
1825 """
1926
27+ proposer_attestation : ProposerAttestationData = (
28+ _DEFAULT_PROPOSER_ATTESTATION
29+ )
30+ """The proposer sourced attestation kept separate from the list."""
31+
2032
2133class BlockHeader (Container ):
2234 """The header of a block, containing metadata."""
@@ -57,13 +69,10 @@ class Block(Container):
5769
5870
5971class SignedBlock (Container ):
60- """A container for a block and the proposer's signature ."""
72+ """A container for a block and its aggregated signatures ."""
6173
6274 message : Block
6375 """The block being signed."""
6476
65- signature : Bytes32
66- """
67- The proposer's signature of the block message.
68- Note: Bytes32 is a placeholder; the actual signature is much larger.
69- """
77+ signature : BlockSignatures
78+ """Naive list of signatures aggregated for the block."""
0 commit comments