Releases: Lightprotocol/surfpool
Release list
v1.6.0-light
surfpool 1.6.0 built on litesvm 0.16 / agave 4.2.x, which reads a transaction v1 message header. Earlier -light releases accept v1 and then execute it on the legacy per-instruction budget.
v1.5.0-light
Light Protocol build of Surfpool, based on upstream solana-foundation/surfpool v1.5.0 (71a61f5).
Built from branch release/v1.5.0-light, which is upstream main plus the Light-specific commits below. The branch is meant to be rebased onto each new upstream release; main in this fork tracks upstream unchanged.
Light changes on top of v1.5.0
--bpf-program ADDRESS PROGRAM_SO_PATH: load a BPF program at startup (repeatable). Programs are installed with the BPF upgradeable loader layout and registered in the SVM program cache, so they are invocable immediately.--upgradeable-program ADDRESS PROGRAM_SO_PATH UPGRADE_AUTHORITY: same, with a real programdata account carrying the upgrade authority (repeatable).--account-dir DIRECTORY: preload every*.jsonaccount file in a directory, insolana-test-validator/solana account --output jsonformat (repeatable).--account ADDRESS FILENAME: preload a single account file under the given address (repeatable).- JSON-RPC batch requests (
[{...}, {...}]) are accepted and answered per call; previously the middleware rejected anything that was not a single method call. getBlockfor a slot before this surfnet's genesis in--offlinemode returns a reconstructed empty block instead of a "slot too old" error, so indexers walking from slot 0 (photon) get well-formed blocks.
Dropped from the previous -light releases (now in upstream)
getBlock commitment visibility, parent_slot and block_time fixes, programSubscribe notifications, SlotHashes covering the finalized slot, and --snapshot preloading all shipped upstream between v1.1.1 and v1.5.0 and are no longer carried as fork patches.
Consumers
Update the pins to v1.5.0-light / 1.5.0:
Lightprotocol/light-protocol:cli/src/utils/constants.ts(SURFPOOL_RELEASE_TAG,SURFPOOL_VERSION)helius-labs/zolana:xtask/src/create_release.rs(DEFAULT_SURFPOOL_TAG) and the release lock'ssurfpool_tag/surfpool_version
Assets
Each tarball contains a single surfpool binary at the archive root. Built with --features supervisor_ui --features version_check on Rust 1.95.0. The Linux binary is built against glibc 2.34 (Debian bookworm) and runs on Ubuntu 22.04, Debian 12 and newer; it links only libc, libm and libgcc.
| Asset | sha256 |
|---|---|
surfpool-linux-x64.tar.gz |
69ec3fcc77aa033b4b8069b600bd5b4a0af610ad351c6a3748e4f8d32834b995 |
surfpool-darwin-x64.tar.gz |
09345dfc72b5a23ba48b020aad96fba277d681b78eb866dff43b260e63c82221 |
surfpool-darwin-arm64.tar.gz |
bce675954540caa77d14a41d27967971644957bf36a9a39a4c55ff06c5fec00f |
v1.1.1-light
Lightprotocol Surfpool release built from sergey/block-fix.\n\nAssets:\n- surfpool-linux-x64.tar.gz\n- surfpool-darwin-x64.tar.gz\n- surfpool-darwin-arm64.tar.gz
v1.0.1-light
Pre-release with Light Protocol CLI compatibility fixes.
Changes
- Add
--bpf-program ADDRESS PATHCLI flag for loading BPF programs at startup - Add
--account-dir DIRECTORYand--account ADDRESS FILENAMECLI flags for loading accounts in solana-test-validator JSON format - Expose
add_program/add_program_from_fileAPI through SurfnetSvm so programs are registered in LiteSVM's execution cache and invocable by transactions - Fix snapshot loading to use
add_programfor executable BPF accounts instead ofset_account - Fix
parent_slotincorrectly set to own slot instead ofslot - 1 - Fix
block_timedouble-divided by 1000
Built from branch jorrit/feat-light-cli-compat.