JAR: Join-Accumulate Refine

16.9. jar1 Codec🔗

The jar1 variant uses Codec.Jar1 — all collection counts and byte lengths are encoded as u32 LE (4 bytes), replacing JAM's variable-length natural encoding. Numeric fields (service IDs, gas values, etc.) use fixed-width LE encoding throughout.

🔗def
Jar.Codec.Jar1.encodeCountPrefixed.{u_1} {α : Type u_1} (f : α ByteArray) (xs : Array α) : ByteArray
Jar.Codec.Jar1.encodeCountPrefixed.{u_1} {α : Type u_1} (f : α ByteArray) (xs : Array α) : ByteArray

Encode a variable-length array with u32 LE count prefix.

🔗def
Jar.Codec.Jar1.encodeLengthPrefixed (data : ByteArray) : ByteArray
Jar.Codec.Jar1.encodeLengthPrefixed (data : ByteArray) : ByteArray

Length-prefixed byte blob: u32 LE byte-length + raw bytes.

16.9.1. jar1 Extrinsic Encoders🔗

🔗def
Jar.Codec.Jar1.encodeTicket [Jar.JarConfig] (t : Jar.Ticket) : ByteArray
Jar.Codec.Jar1.encodeTicket [Jar.JarConfig] (t : Jar.Ticket) : ByteArray

Encode a Ticket.

🔗def
Jar.Codec.Jar1.encodeTicketProof [Jar.JarConfig] (tp : Jar.TicketProof) : ByteArray
Jar.Codec.Jar1.encodeTicketProof [Jar.JarConfig] (tp : Jar.TicketProof) : ByteArray

Encode a TicketProof.

🔗def
Jar.Codec.Jar1.encodeAssurance [Jar.JarConfig] (a : Jar.Assurance) : ByteArray
Jar.Codec.Jar1.encodeAssurance [Jar.JarConfig] (a : Jar.Assurance) : ByteArray

Encode an Assurance. Bitfield uses u32 byte-length prefix.

🔗def
Jar.Codec.Jar1.encodeJudgment [Jar.JarConfig] (j : Jar.Judgment) : ByteArray
Jar.Codec.Jar1.encodeJudgment [Jar.JarConfig] (j : Jar.Judgment) : ByteArray

Encode a single Judgment.

🔗def
Jar.Codec.Jar1.encodeVerdict [Jar.JarConfig] (v : Jar.Verdict) : ByteArray
Jar.Codec.Jar1.encodeVerdict [Jar.JarConfig] (v : Jar.Verdict) : ByteArray

Encode a Verdict. Judgments use u32 count prefix.

🔗def
Jar.Codec.Jar1.encodeCulprit (c : Jar.Culprit) : ByteArray
Jar.Codec.Jar1.encodeCulprit (c : Jar.Culprit) : ByteArray

Encode a Culprit.

🔗def
Jar.Codec.Jar1.encodeFault (f : Jar.Fault) : ByteArray
Jar.Codec.Jar1.encodeFault (f : Jar.Fault) : ByteArray

Encode a Fault.

🔗def
Jar.Codec.Jar1.encodeDisputes [Jar.JarConfig] (d : Jar.DisputesExtrinsic) : ByteArray
Jar.Codec.Jar1.encodeDisputes [Jar.JarConfig] (d : Jar.DisputesExtrinsic) : ByteArray

Encode the disputes extrinsic.

🔗def
Jar.Codec.Jar1.encodePreimages (ps : Jar.PreimagesExtrinsic) : ByteArray
Jar.Codec.Jar1.encodePreimages (ps : Jar.PreimagesExtrinsic) : ByteArray

Encode the preimages extrinsic.

16.9.2. jar1 Work Type Encoders🔗

🔗def
Jar.Codec.Jar1.encodeAvailSpec [Jar.JarConfig] (a : Jar.AvailabilitySpec) : ByteArray
Jar.Codec.Jar1.encodeAvailSpec [Jar.JarConfig] (a : Jar.AvailabilitySpec) : ByteArray

Encode an AvailabilitySpec. erasure_shards NOT encoded (wire format).

🔗def
Jar.Codec.Jar1.encodeRefinementContext (c : Jar.RefinementContext) : ByteArray
Jar.Codec.Jar1.encodeRefinementContext (c : Jar.RefinementContext) : ByteArray

Encode a RefinementContext.

🔗def
Jar.Codec.Jar1.encodeWorkDigest (d : Jar.WorkDigest) : ByteArray
Jar.Codec.Jar1.encodeWorkDigest (d : Jar.WorkDigest) : ByteArray

Encode a WorkDigest. All numeric fields are fixed-width (no compact).

🔗def
Jar.Codec.Jar1.encodeWorkReport [Jar.JarConfig] (wr : Jar.WorkReport) : ByteArray
Jar.Codec.Jar1.encodeWorkReport [Jar.JarConfig] (wr : Jar.WorkReport) : ByteArray

Encode a WorkReport. All numeric fields are fixed-width (no compact).

🔗def
Jar.Codec.Jar1.encodeGuarantee [Jar.JarConfig] (g : Jar.Guarantee) : ByteArray
Jar.Codec.Jar1.encodeGuarantee [Jar.JarConfig] (g : Jar.Guarantee) : ByteArray

Encode a Guarantee.

16.9.3. jar1 Block Encoders🔗

🔗def
Jar.Codec.Jar1.encodeEpochMarker (em : Jar.EpochMarker) : ByteArray
Jar.Codec.Jar1.encodeEpochMarker (em : Jar.EpochMarker) : ByteArray

Encode an EpochMarker. Validators always u32 count-prefixed.

🔗def
Jar.Codec.Jar1.encodeUnsignedHeader [Jar.JarConfig] (h : Jar.Header) : ByteArray
Jar.Codec.Jar1.encodeUnsignedHeader [Jar.JarConfig] (h : Jar.Header) : ByteArray

Encode an unsigned header.

🔗def
Jar.Codec.Jar1.encodeHeader [Jar.JarConfig] (h : Jar.Header) : ByteArray
Jar.Codec.Jar1.encodeHeader [Jar.JarConfig] (h : Jar.Header) : ByteArray

Encode a full header (unsigned + seal).

🔗def
Jar.Codec.Jar1.encodeExtrinsic [Jar.JarConfig] (e : Jar.Extrinsic) : ByteArray
Jar.Codec.Jar1.encodeExtrinsic [Jar.JarConfig] (e : Jar.Extrinsic) : ByteArray

Encode an extrinsic.

🔗def
Jar.Codec.Jar1.encodeBlock [Jar.JarConfig] (b : Jar.Block) : ByteArray
Jar.Codec.Jar1.encodeBlock [Jar.JarConfig] (b : Jar.Block) : ByteArray

Encode a block.