From 1d16b6b1dcab4931ffdedcc0545cdfe04153fee0 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 23:18:26 +0000 Subject: [PATCH] Require spl-tlv-account-resolution 0.11.3 in the two Anchor v1 hook examples The weekly Anchor v1 run on 31 August failed in two projects, transfer-cost and allow-block-list-token, both at `anchor build`: Compiling spl-list-view v0.1.0 error[E0277]: `?` couldn't convert the error to `ProgramError` --> src/list_view.rs:104:38 Neither project names spl-list-view. Both depend on spl-tlv-account-resolution "0.11.1", and 0.11.2, published on 26 August, added spl-list-view 0.1.0 as a dependency. That crate was written in February against spl-pod 0.7.2, whose `PodLength` fixed the `TryFrom` error type to `PodSliceError`. spl-pod 0.7.3 in April dropped that constraint, so `L::try_from(..)?` no longer had a `From` impl to go through, and spl-list-view 0.1.0 has not compiled against a fresh resolution since. Nothing here pulled it in until 0.11.2 appeared, and the scheduled run was the first fresh resolution after that. Upstream fixed it within hours of the run: spl-list-view 0.1.1, spl-pod 0.7.4 and spl-tlv-account-resolution 0.11.3 all shipped on 31 August, and 0.11.3 requires spl-list-view 0.1.1. A fresh resolution today lands on 0.11.3 and both programs build; the re-run of the failed jobs confirms it. Nothing in this repository was wrong, so the change is a floor, not a fix: requiring 0.11.3 means a lockfile generated between the 26th and the 31st cannot keep the broken pair after `cargo update`, and the comment records why the number is what it is. The other transfer-hook examples pin the 0.9 line, which never depended on spl-list-view. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_015wh3nRzs8oAUpNbCY97gDi --- .../anchor-v1/programs/abl-token/Cargo.toml | 6 +++++- .../anchor-v1/programs/transfer-hook/Cargo.toml | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/programs/abl-token/Cargo.toml b/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/programs/abl-token/Cargo.toml index 387b5b193..aa4918cca 100644 --- a/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/programs/abl-token/Cargo.toml +++ b/tokens/token-extensions/transfer-hook/allow-block-list-token/anchor-v1/programs/abl-token/Cargo.toml @@ -28,7 +28,11 @@ anchor-spl = { version = "1.1.2", features = [ "token_2022", ] } -spl-tlv-account-resolution = "0.11.1" +# 0.11.3 or later. 0.11.2 pulled in spl-list-view 0.1.0, which was written +# against spl-pod 0.7.2's `PodLength` and stopped compiling once spl-pod 0.7.3 +# relaxed that trait's error type. Upstream fixed it in 0.11.3 the same day, but a +# lockfile made in that window still holds the broken pair; this floor forces it past. +spl-tlv-account-resolution = "0.11.3" spl-transfer-hook-interface = { version = "2.1.0" } spl-discriminator = "0.5.1" diff --git a/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/programs/transfer-hook/Cargo.toml b/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/programs/transfer-hook/Cargo.toml index 53c6e80ed..009384dec 100644 --- a/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/programs/transfer-hook/Cargo.toml +++ b/tokens/token-extensions/transfer-hook/transfer-cost/anchor-v1/programs/transfer-hook/Cargo.toml @@ -24,7 +24,11 @@ anchor-lang = "1.1.2" anchor-spl = "1.1.2" # SPL crates v3.x-compatible - uses solana-program-error 3.x matching anchor-lang 1.0 spl-discriminator = "0.5.2" -spl-tlv-account-resolution = "0.11.1" +# 0.11.3 or later. 0.11.2 pulled in spl-list-view 0.1.0, which was written +# against spl-pod 0.7.2's `PodLength` and stopped compiling once spl-pod 0.7.3 +# relaxed that trait's error type. Upstream fixed it in 0.11.3 the same day, but a +# lockfile made in that window still holds the broken pair; this floor forces it past. +spl-tlv-account-resolution = "0.11.3" spl-transfer-hook-interface = "2.1.0" [dev-dependencies]