jam.state.components.pi module

class jam.state.components.pi.ValidatorStat(num_blocks: jam.types.base.integers.general.Int, num_tickets: jam.types.base.integers.general.Int, num_preimages: jam.types.base.integers.general.Int, num_octets: jam.types.base.integers.general.Int, num_reports: jam.types.base.integers.general.Int, num_avail: jam.types.base.integers.general.Int)[source]

Bases: Codable

num_blocks: Int
num_tickets: Int
num_preimages: Int
num_octets: Int
num_reports: Int
num_avail: Int
__init__(num_blocks: Int, num_tickets: Int, num_preimages: Int, num_octets: Int, num_reports: Int, num_avail: Int) None

Initialize the Codable.

Parameters:
  • codec – Optional codec to use for encoding/decoding

  • enc_sequence – Optional function that returns sequence of fields to encode

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[T, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

encode_into(buffer: bytearray, offset: int = 0) int

Encode into provided buffer.

encode_size() int

Calculate number of bytes needed to encode.

class jam.state.components.pi.AllValidatorStats(initial: Sequence[T] = [], codec: Codec[T] | None = None)[source]

Bases: Array[ValidatorStat]

All validator stats

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.state.components.pi.Pi(initial: Sequence[T] = [], codec: Codec[T] | None = None)[source]

Bases: Array[AllValidatorStats]

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing