30 lines
832 B
Python
Raw Normal View History

2025-10-20 15:42:12 +02:00
from typing import List, Self
from core.models import NbeSchema
2025-10-30 11:48:34 +01:00
from core.types import HexBytes
from models.block import Block
from models.header.proof_of_leadership import ProofOfLeadership
from models.transactions.transaction import Transaction
2025-10-20 15:42:12 +02:00
class BlockRead(NbeSchema):
id: int
2025-10-30 11:48:34 +01:00
hash: HexBytes
parent_block_hash: HexBytes
2025-10-20 15:42:12 +02:00
slot: int
2025-10-30 11:48:34 +01:00
block_root: HexBytes
proof_of_leadership: ProofOfLeadership
2025-10-20 15:42:12 +02:00
transactions: List[Transaction]
@classmethod
def from_block(cls, block: Block) -> Self:
return cls(
id=block.id,
2025-10-30 11:48:34 +01:00
hash=block.hash,
parent_block_hash=block.parent_block,
slot=block.slot,
block_root=block.block_root,
proof_of_leadership=block.proof_of_leadership,
2025-10-20 15:42:12 +02:00
transactions=block.transactions,
)