from rlp.sedes import (
    CountableList,
)
from eth.rlp.headers import (
    BlockHeader,
)
from eth.vm.forks.byzantium.blocks import (
    ByzantiumBlock,
)

from .transactions import (
    PetersburgTransaction,
)


class PetersburgBlock(ByzantiumBlock):
    transaction_builder = PetersburgTransaction
    fields = [
        ('header', BlockHeader),
        ('transactions', CountableList(transaction_builder)),
        ('uncles', CountableList(BlockHeader))
    ]

[((20, 25, 20, 59), 'rlp.sedes.CountableList', 'CountableList', ({(20, 39, 20, 58): 'transaction_builder'}, {}), '(transaction_builder)', False, 'from rlp.sedes import CountableList\n'), ((21, 19, 21, 45), 'rlp.sedes.CountableList', 'CountableList', ({(21, 33, 21, 44): 'BlockHeader'}, {}), '(BlockHeader)', False, 'from rlp.sedes import CountableList\n')]