Skip to content

Transaction v1 (SIMD-0385) support, kit 8, 0.3.1 - #17

Merged
stevesarmiento merged 2 commits into
mainfrom
feat/transaction-v1
Sep 17, 2026
Merged

stevesarmiento merged 2 commits into
mainfrom
feat/transaction-v1

Conversation

@stevesarmiento

Copy link
Copy Markdown
Owner

Summary

Makes @pipeit/core ready for Solana transaction v1 (SIMD-0385, mainnet-active since 2026-09-15) and moves the workspace to @solana/kit 8.3.0. Cherry-picked from deps/update-all-2026-05-28 (edae8dea), which was left out of the PR #14 merge and the 0.3.0 release. Published as 0.3.1.

  • TransactionBuilder, executePlan and createFlow accept version: 1. Default stays 0.
  • On v1, build() always resolves the compute unit limit and loaded accounts data size (simulation-based estimate with headroom, rounded to 32 KiB pages; no-rpc fallback with a warning) and converts the per-CU priority fee to total lamports. priorityFee: { strategy: 'fixed', lamports } sets the total directly (v1 only).
  • Version-aware size validation (1232 vs 4096) via getTransactionMessageSizeLimit; TRANSACTION_SIZE_LIMIT is a deprecated alias of the legacy limit.
  • New TransactionVersionUnsupportedError / ResourceLimitEstimationError and translateVersionError for kit's v1-related error codes, wired into diagnostics.
  • executePlan returns kit 8's { signature } context; v1 + lookup tables is a type and runtime error.
  • Example app: kit 8 deps, a v1 transfer demo with a wallet capability check, a "Large Transaction (v1)" playground example, landing copy for v1 and @pipeit/actions.
  • Bun pinned to 1.4.0; the example workspace is renamed @pipeit/example-next-js (Bun 1.4 rejects names with two slashes).

Breaking changes

  • Peer dependency @solana/kit ^7 → ^8 (and all @solana/* peers), @solana-program/compute-budget → ^0.18.
  • Removed deprecated re-exports: estimateComputeUnitLimitFactory, fillProvisorySetComputeUnitLimitInstruction, estimateAndUpdateProvisoryComputeUnitLimitFactory, createSetComputeUnitLimitInstruction, createSetComputeUnitPriceInstruction.
  • executePlan result context is { signature } (kit 8) instead of the signed transaction.

Verification

  • bun run typecheck, bun run lint, bun run build clean.
  • Tests: core 13 files / 176 passing (was 128), actions 15 files / 161 passing. Legacy/v0 byte-level builder tests unchanged.
  • Live devnet smoke (packages/core/scripts/v1-devnet-smoke.ts): a 1362-byte v1 transaction landed as version 1 with consumed CU under the estimate; fixed-CU, explicit-lamports-fee and executePlan({ version: 1 }) scenarios all confirmed.

🤖 Generated with Claude Code

stevesarmiento and others added 2 commits September 16, 2026 18:50
0.3.0 was published from main before the transaction v1 work landed, so
the v1 release needs a new version. Raises actions' peer range on core
to ^0.3.1 and refreshes the lockfile after the kit 8 cherry-pick.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pipeit-next-js Ready Ready Preview Sep 17, 2026 1:52am UTC

Request Review

@stevesarmiento
stevesarmiento merged commit 776329a into main Sep 17, 2026
4 of 5 checks passed
@stevesarmiento
stevesarmiento deleted the feat/transaction-v1 branch September 17, 2026 01:51

This branch was successfully deployed

1 active deployment
Preview — aaa590b6 Deployed Sep 17, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant