Source code for jam.state.components.theta

from dataclasses import dataclass
from jam.types.base.sequences.array import Array, decodable_array
from jam.types.base.sequences.vector import Vector, decodable_vector
from jam.types.protocol.crypto import WorkReportHash
from jam.types.work.report import WorkReport
from jam.utils.codec.codable import Codable
from jam.utils.codec.decorators.dataclasses import decodable_dataclass
from jam.utils.constants import EPOCH_LENGTH


[docs] @decodable_dataclass @dataclass class ReadyWR(Codable): report: WorkReport dependencies: WorkReportHash
[docs] @decodable_vector(ReadyWR) class AllReadyWRs(Vector[ReadyWR]): """All ready work reports""" ...
[docs] @decodable_array(EPOCH_LENGTH, AllReadyWRs) class Theta(Array[AllReadyWRs]): """Theta""" ...