Skip to content

Commit c3776fc

Browse files
author
Claude
committed
test(asm): upgrade to litesvm 0.13.1, patch solana-kite, unpin sbpf
Verify end-to-end whether litesvm 0.13.1 (Agave 4.0) loads sbpf's SBPF v3 output, so the sbpf revision pin can be removed. - Workspace litesvm 0.11.0 -> 0.13.1 - [patch.crates-io] points solana-kite at the litesvm-0.13 branch, which relaxes solana-instruction to >=3.2 so it can coexist with litesvm 0.13.1's =3.2.0 pin (the 0.3.0 crates.io release requires ^3.3.0 and blocks the upgrade). solana-kite reaches the root workspace via finance/vault-strategy. - checking-accounts/asm and create-account/asm now inherit litesvm from the workspace, so all four asm crates build against 0.13.1 - Drop the sbpf --rev pin so sbpf HEAD emits SBPF v3; this run is the test If CI is green, litesvm 0.13.1 loads SBPF v3 and the pin can go permanently. If it fails on InvalidAccountData, 0.13.1's default feature set does not enable SBPF v3 execution and the pin (or an explicit FeatureSet) is still needed.
1 parent c1584ad commit c3776fc

4 files changed

Lines changed: 15 additions & 14 deletions

File tree

.github/workflows/solana-asm.yml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -199,17 +199,11 @@ jobs:
199199
# Make the script executable
200200
chmod +x build_and_test.sh
201201
202-
# Install sbpf assembler.
203-
#
204-
# Pin to a specific revision: installing from the branch HEAD makes the
205-
# build non-reproducible and breaks CI whenever sbpf changes its output.
206-
# On 2026-06-29 sbpf merged its SBPF v3 work (PR #127), switching the
207-
# emitted ELF to the v3 / 0x03 OS-ABI format. litesvm 0.11.0's loader
208-
# rejects that format, so every asm test started failing at
209-
# `svm.add_program(...).unwrap()` with Instruction(InvalidAccountData).
210-
# This rev is the last commit before the v3 changes and matches the
211-
# toolchain from the last green run; bump it together with litesvm.
212-
cargo install --git https://github.com/blueshift-gg/sbpf.git --rev 0223df0e7ba622d4956b4ecf3cf2397f6945b76b
202+
# Install sbpf assembler from HEAD. HEAD emits SBPF v3 (0x03 OS-ABI)
203+
# ELF, which requires litesvm >= 0.13 (Agave 4.0) to load; the
204+
# workspace pins litesvm 0.13.1. If a future sbpf change breaks
205+
# loading, pin a revision here with --rev.
206+
cargo install --git https://github.com/blueshift-gg/sbpf.git
213207
- name: Setup Solana Stable
214208
uses: heyAyushh/setup-solana@v5.9
215209
with:

Cargo.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,17 @@ pinocchio-system = "0.5.0"
9898
pinocchio-pubkey = "0.3.0"
9999

100100
# testing
101-
litesvm = "0.11.0"
101+
litesvm = "0.13.1"
102102
solana-instruction = "3.0.0"
103103
solana-keypair = "3.0.1"
104104
solana-pubkey = "3.0.0"
105105
solana-transaction = "3.0.1"
106106
solana-native-token = "3.0.0"
107107
solana-address = "2.6.0"
108+
109+
# Patch solana-kite to a branch that supports litesvm 0.13.x while this is
110+
# validated in CI. solana-kite 0.3.0 on crates.io requires solana-instruction
111+
# ^3.3.0, which cannot coexist with litesvm 0.13.1's pin of =3.2.0; the branch
112+
# relaxes that to >=3.2. Replace with a published version once released.
113+
[patch.crates-io]
114+
solana-kite = { git = "https://github.com/solanakite/kite-rust", branch = "litesvm-0.13" }

basics/checking-accounts/asm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ edition = "2021"
66
[dependencies]
77

88
[dev-dependencies]
9-
litesvm = "0.11.0"
9+
litesvm.workspace = true
1010
solana-instruction = "3.0.0"
1111
solana-keypair = "3.0.1"
1212
solana-native-token = "3.0.0"

basics/create-account/asm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ edition = "2021"
66
[dependencies]
77

88
[dev-dependencies]
9-
litesvm = "0.11.0"
9+
litesvm.workspace = true
1010
solana-instruction = "3.0.0"
1111
solana-keypair = "3.0.1"
1212
solana-native-token = "3.0.0"

0 commit comments

Comments
 (0)