From 80d8e39d73e8a097f4f6c4466e21e053459aae27 Mon Sep 17 00:00:00 2001 From: Junha Park <0xjunha@gmail.com> Date: Tue, 17 Feb 2026 23:26:21 +0900 Subject: [PATCH 1/3] [Codec] Use fixed-length encoding for TicketsXtEntry index --- block/src/types/extrinsics/tickets.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/block/src/types/extrinsics/tickets.rs b/block/src/types/extrinsics/tickets.rs index c3327e52..bf3f277f 100644 --- a/block/src/types/extrinsics/tickets.rs +++ b/block/src/types/extrinsics/tickets.rs @@ -30,7 +30,7 @@ impl Display for TicketsXt { } } -#[derive(Debug, Clone, PartialEq, Eq, JamEncode, JamDecode)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct TicketsXtEntry { /// `e`: The ticket entry index, either 0 or 1. pub entry_index: u8, @@ -38,6 +38,30 @@ pub struct TicketsXtEntry { pub ticket_proof: BandersnatchRingVrfSig, } +impl JamEncode for TicketsXtEntry { + fn size_hint(&self) -> usize { + self.entry_index.size_hint() + self.ticket_proof.size_hint() + } + + fn encode_to(&self, dest: &mut T) -> Result<(), JamCodecError> { + self.entry_index.encode_to_fixed(dest, 1)?; + self.ticket_proof.encode_to(dest)?; + Ok(()) + } +} + +impl JamDecode for TicketsXtEntry { + fn decode(input: &mut I) -> Result + where + Self: Sized, + { + Ok(Self { + entry_index: u8::decode_fixed(input, 1)?, + ticket_proof: BandersnatchRingVrfSig::decode(input)?, + }) + } +} + impl Display for TicketsXtEntry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self.ticket_proof.output_hash() { From 119af007a7b9c09de0ec9e38cfd28e91966baefa Mon Sep 17 00:00:00 2001 From: Junha Park <0xjunha@gmail.com> Date: Tue, 17 Feb 2026 23:27:34 +0900 Subject: [PATCH 2/3] Cleanup Deps --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 752a0311..4b2a2500 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -88,7 +88,6 @@ quote = "1.0.40" rand = "0.8.5" rayon = "1.11.0" reed-solomon-simd = "3.0.1" -regex = "1.11.2" rcgen = { version = "0.13.2", default-features = false, features = ["ring"] } rocksdb = { version = "0.24.0", default-features = false, features = ["snappy"] } rustls = { version = "0.23.31", default-features = false, features = ["std"] } From 089d0f44534f44424807e7ba6995bbc1486597d6 Mon Sep 17 00:00:00 2001 From: Junha Park <0xjunha@gmail.com> Date: Tue, 17 Feb 2026 23:27:50 +0900 Subject: [PATCH 3/3] Bump version to v0.1.36 --- Cargo.lock | 58 +++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d3ba3fe5..2b157638 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -736,7 +736,7 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastroll" -version = "0.1.35" +version = "0.1.36" dependencies = [ "clap", "fr-common", @@ -766,7 +766,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fr-asn-types" -version = "0.1.35" +version = "0.1.36" dependencies = [ "bitvec", "fr-block", @@ -780,7 +780,7 @@ dependencies = [ [[package]] name = "fr-block" -version = "0.1.35" +version = "0.1.36" dependencies = [ "bitvec", "fr-codec", @@ -795,7 +795,7 @@ dependencies = [ [[package]] name = "fr-clock" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-common", "time", @@ -803,7 +803,7 @@ dependencies = [ [[package]] name = "fr-codec" -version = "0.1.35" +version = "0.1.36" dependencies = [ "bitvec", "fr-codec-derive", @@ -813,7 +813,7 @@ dependencies = [ [[package]] name = "fr-codec-derive" -version = "0.1.35" +version = "0.1.36" dependencies = [ "quote", "syn", @@ -821,7 +821,7 @@ dependencies = [ [[package]] name = "fr-common" -version = "0.1.35" +version = "0.1.36" dependencies = [ "cfg-if", "fr-codec", @@ -838,14 +838,14 @@ dependencies = [ [[package]] name = "fr-config" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-db", ] [[package]] name = "fr-crypto" -version = "0.1.35" +version = "0.1.36" dependencies = [ "ark-vrf", "base32", @@ -865,7 +865,7 @@ dependencies = [ [[package]] name = "fr-db" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-codec", "fr-common", @@ -877,7 +877,7 @@ dependencies = [ [[package]] name = "fr-erasure-coding" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-common", "rayon", @@ -888,7 +888,7 @@ dependencies = [ [[package]] name = "fr-extrinsics" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-block", "fr-codec", @@ -904,7 +904,7 @@ dependencies = [ [[package]] name = "fr-fuzz" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-block", "fr-codec", @@ -924,7 +924,7 @@ dependencies = [ [[package]] name = "fr-integration" -version = "0.1.35" +version = "0.1.36" dependencies = [ "async-trait", "fr-asn-types", @@ -953,14 +953,14 @@ dependencies = [ [[package]] name = "fr-limited-vec" -version = "0.1.35" +version = "0.1.36" dependencies = [ "thiserror 2.0.17", ] [[package]] name = "fr-merkle" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-codec", "fr-common", @@ -970,7 +970,7 @@ dependencies = [ [[package]] name = "fr-network" -version = "0.1.35" +version = "0.1.36" dependencies = [ "async-trait", "dashmap 6.1.0", @@ -989,7 +989,7 @@ dependencies = [ [[package]] name = "fr-node" -version = "0.1.35" +version = "0.1.36" dependencies = [ "clap", "fr-block", @@ -1016,7 +1016,7 @@ dependencies = [ [[package]] name = "fr-node-bench" -version = "0.1.35" +version = "0.1.36" dependencies = [ "criterion", "fr-clock", @@ -1028,7 +1028,7 @@ dependencies = [ [[package]] name = "fr-pvm-core" -version = "0.1.35" +version = "0.1.36" dependencies = [ "bitvec", "fr-codec", @@ -1040,7 +1040,7 @@ dependencies = [ [[package]] name = "fr-pvm-host" -version = "0.1.35" +version = "0.1.36" dependencies = [ "async-trait", "fr-codec", @@ -1057,7 +1057,7 @@ dependencies = [ [[package]] name = "fr-pvm-interface" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-codec", "fr-common", @@ -1073,7 +1073,7 @@ dependencies = [ [[package]] name = "fr-pvm-invocation" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-codec", "fr-common", @@ -1091,7 +1091,7 @@ dependencies = [ [[package]] name = "fr-pvm-types" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-codec", "fr-common", @@ -1100,7 +1100,7 @@ dependencies = [ [[package]] name = "fr-state" -version = "0.1.35" +version = "0.1.36" dependencies = [ "async-trait", "bitvec", @@ -1127,7 +1127,7 @@ dependencies = [ [[package]] name = "fr-state-merkle-v2" -version = "0.1.35" +version = "0.1.36" dependencies = [ "bitvec", "fr-codec", @@ -1143,7 +1143,7 @@ dependencies = [ [[package]] name = "fr-storage" -version = "0.1.35" +version = "0.1.36" dependencies = [ "async-trait", "fr-block", @@ -1156,7 +1156,7 @@ dependencies = [ [[package]] name = "fr-test-utils" -version = "0.1.35" +version = "0.1.36" dependencies = [ "async-trait", "fr-asn-types", @@ -1180,7 +1180,7 @@ dependencies = [ [[package]] name = "fr-transition" -version = "0.1.35" +version = "0.1.36" dependencies = [ "fr-block", "fr-codec", diff --git a/Cargo.toml b/Cargo.toml index 4b2a2500..cc62ca73 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ members = [ ] [workspace.package] -version = "0.1.35" +version = "0.1.36" edition = "2021" license = "Apache-2.0" authors = ["Junha Park <0xjunha@gmail.com>"]