fix: pin spl-pod for lock-free builds

This commit is contained in:
0xfnzero
2026-08-30 09:07:54 +08:00
parent 4c5881a693
commit e63ce2b520
3 changed files with 16 additions and 13 deletions
+4 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "solana-streamer-sdk"
version = "2.0.2"
version = "2.0.3"
edition = "2021"
authors = ["William <byteblock6@gmail.com>", "sgxiang <sgxiang@gmail.com>", "wei <1415121722@qq.com>"]
repository = "https://github.com/0xfnzero/solana-streamer"
@@ -48,6 +48,9 @@ spl-token-2022 = { version = "10.0.0", default-features = false, features = ["no
# spl-token-2022 10.0.0 is incompatible with spl-token-group-interface 0.7.2+ (E0308).
# Keep token-group-interface pinned to 0.7.1 until the upstream token-2022 bump is available.
spl-token-group-interface = "=0.7.1"
# spl-list-view 0.1.0 does not compile with spl-pod 0.7.3 due to its widened
# PodLength::TryFrom error type. Pin the compatible patch for lock-free builds.
spl-pod = "=0.7.2"
solana-commitment-config = { version = "3.1.1", features = ["serde"] }
tonic-prost = "0.14.5"
+6 -6
View File
@@ -129,33 +129,33 @@ Add the dependency to your `Cargo.toml`:
```toml
# Add to your Cargo.toml
solana-streamer-sdk = { path = "./solana-streamer", version = "2.0.2" }
solana-streamer-sdk = { path = "./solana-streamer", version = "2.0.3" }
```
### Use crates.io
```toml
# Add to your Cargo.toml
solana-streamer-sdk = "2.0.2"
solana-streamer-sdk = "2.0.3"
```
Parser backend features:
```toml
# Default: sol-parser-sdk parse-borsh backend
solana-streamer-sdk = "2.0.2"
solana-streamer-sdk = "2.0.3"
# Zero-copy parser backend for latency-sensitive bots
solana-streamer-sdk = { version = "2.0.2", default-features = false, features = ["sdk-parse-zero-copy"] }
solana-streamer-sdk = { version = "2.0.3", default-features = false, features = ["sdk-parse-zero-copy"] }
```
If both `sdk-parse-borsh` and `sdk-parse-zero-copy` are enabled, `sol-parser-sdk 0.6.1+` uses the zero-copy backend.
## 🔄 Migration Guide
### Upgrading to v2.0.2
### Upgrading to v2.0.3
Version 2.0.2 uses `sol-parser-sdk 0.6.6`. PumpFun trade events preserve the parser SDK's optional pre/post token balances in raw mint units and pre/post SOL balances in lamports, populated from transaction metadata without additional RPC calls. Meteora DLMM swaps also preserve `min_amount_out` separately from the executed `amount_out`.
Version 2.0.3 uses `sol-parser-sdk 0.6.6` and pins `spl-pod 0.7.2` to keep fresh, lock-free builds compatible with `spl-list-view 0.1.0`. PumpFun trade events preserve the parser SDK's optional pre/post token balances in raw mint units and pre/post SOL balances in lamports, populated from transaction metadata without additional RPC calls. Meteora DLMM swaps also preserve `min_amount_out` separately from the executed `amount_out`.
### Upgrading to v2.0.1
+6 -6
View File
@@ -128,33 +128,33 @@ git clone https://github.com/0xfnzero/solana-streamer
```toml
# 添加到您的 Cargo.toml
solana-streamer-sdk = { path = "./solana-streamer", version = "2.0.2" }
solana-streamer-sdk = { path = "./solana-streamer", version = "2.0.3" }
```
### 使用 crates.io
```toml
# 添加到您的 Cargo.toml
solana-streamer-sdk = "2.0.2"
solana-streamer-sdk = "2.0.3"
```
解析后端 feature:
```toml
# 默认:sol-parser-sdk parse-borsh 后端
solana-streamer-sdk = "2.0.2"
solana-streamer-sdk = "2.0.3"
# 面向低延迟 Bot 的 zero-copy 解析后端
solana-streamer-sdk = { version = "2.0.2", default-features = false, features = ["sdk-parse-zero-copy"] }
solana-streamer-sdk = { version = "2.0.3", default-features = false, features = ["sdk-parse-zero-copy"] }
```
如果同时启用 `sdk-parse-borsh` 和 `sdk-parse-zero-copy`,`sol-parser-sdk 0.6.1+` 会优先使用 zero-copy 后端。
## 🔄 迁移指南
### 升级到 v2.0.2
### 升级到 v2.0.3
v2.0.2 使用 `sol-parser-sdk 0.6.6`。PumpFun 交易事件会保留 parser SDK 提供的可选交易前后 token 余额(mint 原始精度)和 SOL 余额(lamports),这些字段直接来自交易 metadata,无需额外 RPC 请求。Meteora DLMM swap 也会单独保留 `min_amount_out`,不再与实际成交的 `amount_out` 混淆。
v2.0.3 使用 `sol-parser-sdk 0.6.6`,并固定 `spl-pod 0.7.2`,确保无锁文件的全新构建与 `spl-list-view 0.1.0` 兼容。PumpFun 交易事件会保留 parser SDK 提供的可选交易前后 token 余额(mint 原始精度)和 SOL 余额(lamports),这些字段直接来自交易 metadata,无需额外 RPC 请求。Meteora DLMM swap 也会单独保留 `min_amount_out`,不再与实际成交的 `amount_out` 混淆。
### 升级到 v2.0.1