From 04d7f7b5208873da16dd409d440ee6c4f447c5f7 Mon Sep 17 00:00:00 2001 From: 0xfnzero <0xfnzero@users.noreply.github.com> Date: Fri, 12 Jun 2026 23:55:30 +0800 Subject: [PATCH] test: sync PumpFun quote case examples --- Cargo.toml | 2 +- README.md | 2 +- README_CN.md | 2 +- examples/parse_pumpfun_quote_cases.rs | 29 +++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 52e72a1..35b0cd1 100755 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ sdk-perf-stats = ["sol-parser-sdk/perf-stats"] sdk-ultra-perf = ["sol-parser-sdk/ultra-perf"] [dependencies] -sol-parser-sdk = { git = "https://github.com/0xfnzero/sol-parser-sdk", rev = "4464880", version = "0.5.15", default-features = false } +sol-parser-sdk = { git = "https://github.com/0xfnzero/sol-parser-sdk", rev = "d81bfdb", version = "0.5.15", default-features = false } solana-sdk = "3.0.0" solana-client = "3.1.12" solana-transaction-status = "3.1.12" diff --git a/README.md b/README.md index a84cb44..0f8ed02 100755 --- a/README.md +++ b/README.md @@ -150,7 +150,7 @@ If both `sdk-parse-borsh` and `sdk-parse-zero-copy` are enabled, `sol-parser-sdk ### Upgrading to v1.5.15 -Version 1.5.15 tracks `sol-parser-sdk 0.5.15` at GitHub rev `4464880`. Pump.fun `create_v2` now distinguishes 16-account SOL-sentinel creates from 19-account quote-pool creates, and account filling selects the actual create/create_v2 instruction before reading quote fields. +Version 1.5.15 tracks `sol-parser-sdk 0.5.15` at GitHub rev `d81bfdb`. Pump.fun `create_v2` now distinguishes 16-account SOL-sentinel creates from 19-account quote-pool creates, and account filling selects the actual create/create_v2 instruction before reading quote fields. ### Upgrading to v1.5.14 diff --git a/README_CN.md b/README_CN.md index 4139a1c..0e844d4 100644 --- a/README_CN.md +++ b/README_CN.md @@ -149,7 +149,7 @@ solana-streamer-sdk = { version = "1.5.15", default-features = false, features = ### 升级到 v1.5.15 -v1.5.15 跟随 GitHub rev `4464880` 上的 `sol-parser-sdk 0.5.15`。Pump.fun `create_v2` 现在会区分 16 账户 SOL sentinel 创建和 19 账户 quote-pool 创建;填充账户时会先选择实际的 create/create_v2 指令,再读取 quote 字段。 +v1.5.15 跟随 GitHub rev `d81bfdb` 上的 `sol-parser-sdk 0.5.15`。Pump.fun `create_v2` 现在会区分 16 账户 SOL sentinel 创建和 19 账户 quote-pool 创建;填充账户时会先选择实际的 create/create_v2 指令,再读取 quote 字段。 ### 升级到 v1.5.14 diff --git a/examples/parse_pumpfun_quote_cases.rs b/examples/parse_pumpfun_quote_cases.rs index 5164cb8..699310d 100644 --- a/examples/parse_pumpfun_quote_cases.rs +++ b/examples/parse_pumpfun_quote_cases.rs @@ -38,9 +38,38 @@ fn default_cases() -> Vec { signature: "H6azwLqtRtrnVNC5iwcjYM9idU3e9SRyLZXTwjfJGJxA4X7dZL7vyhFAJNvQy7bb6bmQNmFHUt1KkkPPmhdge3G", expected_create_v2_quote: Some(PUMPFUN_SOLSCAN_SOL_QUOTE_MINT), }, + Case { + name: "19-account create_v2 explicit USDC quote", + signature: "3MVawF6EPtG7rEPXdsyQfQUBLv3epRVNpNS4tRE4uwTPMqLNPqhuABwxU3QZH4uD6CuVupcpGchpNRK5HTbHRLNK", + expected_create_v2_quote: Some(usdc_mint()), + }, + Case { + name: "20-account create_v2 explicit WSOL quote", + signature: "oY9YQbie16Bw11GsqbAPVnW6YjMHAj3kP9sufjcuQjdfcU86iUY8CiSaDrvu4QXJFnGY4jqQc2Kc1YVuAzujvyv", + expected_create_v2_quote: Some(PUMPFUN_WSOL_QUOTE_MINT), + }, + Case { + name: "19-account create_v2 explicit WSOL quote with later buy", + signature: "3jWGFYXT5V33Qc2roEBFDRAWHeybDowr53dSdnYSRkrPdYybU7oyEH9BfgSRxkgFHVKmUjv4e5T33AEnhJvBCuP2", + expected_create_v2_quote: Some(PUMPFUN_WSOL_QUOTE_MINT), + }, + Case { + name: "19-account create_v2 explicit USDC quote exact quote buy", + signature: "2dZAucKwr4n5Lqu3BtJ4P8JsjCDtUXJzthadddfURraEJRTgn6XWaTNUNBbgUfP5c2wcVdubqViQhr48eWsgRqPX", + expected_create_v2_quote: Some(usdc_mint()), + }, + Case { + name: "20-account create_v2 explicit WSOL quote with jit account", + signature: "4h9kYjzYpqqyYZuFnjf14zRwrGyChCuKAYVy6a4ZBig19bydEYsHwp6VbiKqTzT3pLf6NXnf6E25dn1NiU8LR4YB", + expected_create_v2_quote: Some(PUMPFUN_WSOL_QUOTE_MINT), + }, ] } +fn usdc_mint() -> Pubkey { + Pubkey::from_str("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v").unwrap() +} + fn cases_from_env() -> Option> { let raw = std::env::var("TX_SIGNATURES").ok()?; let cases: Vec = raw