From 9e471c36a2b35363498bec936e80300f17c6d6c4 Mon Sep 17 00:00:00 2001 From: 0xfnzero <0xfnzero@users.noreply.github.com> Date: Mon, 26 Oct 2026 05:36:59 +0800 Subject: [PATCH] release: solana-streamer 5.0.1 --- .cargo/config.toml | 7 +- Cargo.toml | 4 +- README.md | 34 +- README_CN.md | 34 +- RELEASE_NOTES.md | 29 +- docs/STOCK_BRIDGE_SYNC.md | 2 +- examples/rpc_transaction_replay.rs | 72 +- .../parser_sdk_bridge/pump_pumpswap.rs | 25 +- tests/fixtures/pump_create_alt_20261026.json | 1652 +++++++++++++++++ tests/fixtures/pump_multi_hop_20261025.json | 738 ++++++++ tests/pump_execution.rs | 124 ++ 11 files changed, 2639 insertions(+), 82 deletions(-) create mode 100644 tests/fixtures/pump_create_alt_20261026.json create mode 100644 tests/fixtures/pump_multi_hop_20261025.json diff --git a/.cargo/config.toml b/.cargo/config.toml index cc3faa9..55b6949 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,10 +1,9 @@ -# Standard Cargo settings; sccache is optional, and no local path is required. -# Optional: RUSTC_WRAPPER=sccache SCCACHE_CACHE_SIZE=10G cargo build --release -# Keep target-dir, release optimization and linker settings project-specific. - [build] incremental = false +# Standard Cargo settings; sccache is optional, and no local path is required. +# Optional: RUSTC_WRAPPER=sccache SCCACHE_CACHE_SIZE=10G cargo build --release +# Keep target-dir, release optimization and linker settings project-specific. [profile.dev] debug = 1 diff --git a/Cargo.toml b/Cargo.toml index 53eb269..48c10a8 100755 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-streamer-sdk" -version = "5.0.0" +version = "5.0.1" edition = "2021" rust-version = "1.91" authors = ["William ", "sgxiang ", "wei <1415121722@qq.com>"] @@ -22,7 +22,7 @@ sdk-perf-stats = ["sol-parser-sdk/perf-stats"] sdk-ultra-perf = ["sol-parser-sdk/ultra-perf"] [dependencies] -sol-parser-sdk = { version = "=0.9.1", default-features = false } +sol-parser-sdk = { version = "=0.10.0", default-features = false } solana-sdk = "=4.0.1" solana-client = "=4.2.2" solana-transaction-status = { version = "=4.2.2", features = ["agave-unstable-api"] } diff --git a/README.md b/README.md index 65a2556..31c29ce 100755 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Discord

-Current version: **5.0.0**. Read the [migration notes](RELEASE_NOTES.md) before upgrading; see the [changelog](CHANGELOG.md) for historical changes. +Current version: **5.0.1**. Read the [migration notes](RELEASE_NOTES.md) before upgrading; see the [changelog](CHANGELOG.md) for historical changes. ## Contents @@ -63,17 +63,17 @@ Repositories are versioned independently; follow each SDK’s installation guide | Language | Repository | Purpose | Version | |----------|------------|-------------|---------| -| Rust | [sol-parser-sdk](https://github.com/0xfnzero/sol-parser-sdk) | DEX transaction and account event parsing | `v0.9.1` | -| Node.js | [sol-parser-sdk-nodejs](https://github.com/0xfnzero/sol-parser-sdk-nodejs) | DEX transaction and account event parsing | `v0.9.1` | -| Python | [sol-parser-sdk-python](https://github.com/0xfnzero/sol-parser-sdk-python) | DEX transaction and account event parsing | `v0.9.1` | -| Go | [sol-parser-sdk-golang](https://github.com/0xfnzero/sol-parser-sdk-golang) | DEX transaction and account event parsing | `v0.9.1` | -| Rust | [sol-trade-sdk](https://github.com/0xfnzero/sol-trade-sdk) | Transaction building, signing and multi-channel submission | `v9.0.1` | -| Node.js | [sol-trade-sdk-nodejs](https://github.com/0xfnzero/sol-trade-sdk-nodejs) | Transaction building, signing and multi-channel submission | `v9.0.1` | -| Python | [sol-trade-sdk-python](https://github.com/0xfnzero/sol-trade-sdk-python) | Transaction building, signing and multi-channel submission | `v9.0.1` | -| Go | [sol-trade-sdk-golang](https://github.com/0xfnzero/sol-trade-sdk-golang) | Transaction building, signing and multi-channel submission | `v9.0.1` | -| Rust | [sol-shred-sdk](https://github.com/0xfnzero/sol-shred-sdk) | Raw shred decoding and ShredStream instruction events | `v6.0.1` | -| Rust | [solana-streamer](https://github.com/0xfnzero/solana-streamer) | gRPC / ShredStream subscriptions and event streaming | `v5.0.0` | -| Rust | [sol-trade-router-sdk](https://github.com/0xfnzero/sol-trade-router-sdk) | On-chain multi-hop router and client SDK | `v0.3.0` | +| Rust | [sol-parser-sdk](https://github.com/0xfnzero/sol-parser-sdk) | DEX transaction and account event parsing | `v0.10.0` | +| Node.js | [sol-parser-sdk-nodejs](https://github.com/0xfnzero/sol-parser-sdk-nodejs) | DEX transaction and account event parsing | `v0.10.0` | +| Python | [sol-parser-sdk-python](https://github.com/0xfnzero/sol-parser-sdk-python) | DEX transaction and account event parsing | `v0.10.0` | +| Go | [sol-parser-sdk-golang](https://github.com/0xfnzero/sol-parser-sdk-golang) | DEX transaction and account event parsing | `v0.10.0` | +| Rust | [sol-trade-sdk](https://github.com/0xfnzero/sol-trade-sdk) | Transaction building, signing and multi-channel submission | `v10.0.0` | +| Node.js | [sol-trade-sdk-nodejs](https://github.com/0xfnzero/sol-trade-sdk-nodejs) | Transaction building, signing and multi-channel submission | `v10.0.0` | +| Python | [sol-trade-sdk-python](https://github.com/0xfnzero/sol-trade-sdk-python) | Transaction building, signing and multi-channel submission | `v10.0.0` | +| Go | [sol-trade-sdk-golang](https://github.com/0xfnzero/sol-trade-sdk-golang) | Transaction building, signing and multi-channel submission | `v10.0.0` | +| Rust | [sol-shred-sdk](https://github.com/0xfnzero/sol-shred-sdk) | Raw shred decoding and ShredStream instruction events | `v6.0.2` | +| Rust | [solana-streamer](https://github.com/0xfnzero/solana-streamer) | gRPC / ShredStream subscriptions and event streaming | `v5.0.1` | +| Rust | [sol-trade-router-sdk](https://github.com/0xfnzero/sol-trade-router-sdk) | On-chain multi-hop router and client SDK | `v0.4.0` | @@ -81,17 +81,17 @@ Repositories are versioned independently; follow each SDK’s installation guide ```toml # Add to your Cargo.toml -solana-streamer-sdk = "5.0.0" +solana-streamer-sdk = "5.0.1" ``` Parser backend features: ```toml # Default: sol-parser-sdk parse-borsh backend -solana-streamer-sdk = "5.0.0" +solana-streamer-sdk = "5.0.1" # Zero-copy parser backend for latency-sensitive bots -solana-streamer-sdk = { version = "5.0.0", default-features = false, features = ["sdk-parse-zero-copy"] } +solana-streamer-sdk = { version = "5.0.1", 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. @@ -109,7 +109,7 @@ Add the dependency to your `Cargo.toml`: ```toml # Add to your Cargo.toml -solana-streamer-sdk = { path = "./solana-streamer", version = "5.0.0" } +solana-streamer-sdk = { path = "./solana-streamer", version = "5.0.1" } ``` @@ -309,6 +309,8 @@ gRPC/RPC use supplied execution metadata and actual CPI instructions; Shred sees The parsing hot path performs no RPC. Check `parse_status` before interpreting defaults as amounts. Original account order and instruction bytes remain in `third_program`; transaction position and receive time remain in event metadata. A local Shred index is not confirmed slot-wide execution order. See [wrapped transactions](docs/wrapped-pumpfun.md). +Known Pump.fun create/trade instructions keep their callbacks with unresolved ALT accounts; unknown addresses stay unknown. The bridge preserves `create_v2`, V2/V3 method names, original creation accounts and official `multi_hop_swap` provenance. Run `cargo run --example rpc_transaction_replay` to compare the reported signed transactions through the static Shred and execution facades offline. Shred route budgets are not per-hop fill amounts; execution metadata supplies actual quote/token amounts. + ## ⚙️ Configuration System diff --git a/README_CN.md b/README_CN.md index 43af07e..fd1182f 100644 --- a/README_CN.md +++ b/README_CN.md @@ -40,7 +40,7 @@ Discord

-当前版本:**5.0.0**。升级前请阅读 [迁移说明](RELEASE_NOTES.md);历史变更见 [版本记录](CHANGELOG_CN.md)。 +当前版本:**5.0.1**。升级前请阅读 [迁移说明](RELEASE_NOTES.md);历史变更见 [版本记录](CHANGELOG_CN.md)。 ## 目录 @@ -63,17 +63,17 @@ | 语言 | 仓库 | 用途 | 版本 | |----------|------------|-------------|---------| -| Rust | [sol-parser-sdk](https://github.com/0xfnzero/sol-parser-sdk) | DEX 交易与账户事件解析 | `v0.9.1` | -| Node.js | [sol-parser-sdk-nodejs](https://github.com/0xfnzero/sol-parser-sdk-nodejs) | DEX 交易与账户事件解析 | `v0.9.1` | -| Python | [sol-parser-sdk-python](https://github.com/0xfnzero/sol-parser-sdk-python) | DEX 交易与账户事件解析 | `v0.9.1` | -| Go | [sol-parser-sdk-golang](https://github.com/0xfnzero/sol-parser-sdk-golang) | DEX 交易与账户事件解析 | `v0.9.1` | -| Rust | [sol-trade-sdk](https://github.com/0xfnzero/sol-trade-sdk) | 交易构建、签名与多通道提交 | `v9.0.1` | -| Node.js | [sol-trade-sdk-nodejs](https://github.com/0xfnzero/sol-trade-sdk-nodejs) | 交易构建、签名与多通道提交 | `v9.0.1` | -| Python | [sol-trade-sdk-python](https://github.com/0xfnzero/sol-trade-sdk-python) | 交易构建、签名与多通道提交 | `v9.0.1` | -| Go | [sol-trade-sdk-golang](https://github.com/0xfnzero/sol-trade-sdk-golang) | 交易构建、签名与多通道提交 | `v9.0.1` | -| Rust | [sol-shred-sdk](https://github.com/0xfnzero/sol-shred-sdk) | 原始 Shred 解码与 ShredStream 指令事件 | `v6.0.1` | -| Rust | [solana-streamer](https://github.com/0xfnzero/solana-streamer) | gRPC / ShredStream 订阅与事件流封装 | `v5.0.0` | -| Rust | [sol-trade-router-sdk](https://github.com/0xfnzero/sol-trade-router-sdk) | 链上多跳 Router 与客户端 SDK | `v0.3.0` | +| Rust | [sol-parser-sdk](https://github.com/0xfnzero/sol-parser-sdk) | DEX 交易与账户事件解析 | `v0.10.0` | +| Node.js | [sol-parser-sdk-nodejs](https://github.com/0xfnzero/sol-parser-sdk-nodejs) | DEX 交易与账户事件解析 | `v0.10.0` | +| Python | [sol-parser-sdk-python](https://github.com/0xfnzero/sol-parser-sdk-python) | DEX 交易与账户事件解析 | `v0.10.0` | +| Go | [sol-parser-sdk-golang](https://github.com/0xfnzero/sol-parser-sdk-golang) | DEX 交易与账户事件解析 | `v0.10.0` | +| Rust | [sol-trade-sdk](https://github.com/0xfnzero/sol-trade-sdk) | 交易构建、签名与多通道提交 | `v10.0.0` | +| Node.js | [sol-trade-sdk-nodejs](https://github.com/0xfnzero/sol-trade-sdk-nodejs) | 交易构建、签名与多通道提交 | `v10.0.0` | +| Python | [sol-trade-sdk-python](https://github.com/0xfnzero/sol-trade-sdk-python) | 交易构建、签名与多通道提交 | `v10.0.0` | +| Go | [sol-trade-sdk-golang](https://github.com/0xfnzero/sol-trade-sdk-golang) | 交易构建、签名与多通道提交 | `v10.0.0` | +| Rust | [sol-shred-sdk](https://github.com/0xfnzero/sol-shred-sdk) | 原始 Shred 解码与 ShredStream 指令事件 | `v6.0.2` | +| Rust | [solana-streamer](https://github.com/0xfnzero/solana-streamer) | gRPC / ShredStream 订阅与事件流封装 | `v5.0.1` | +| Rust | [sol-trade-router-sdk](https://github.com/0xfnzero/sol-trade-router-sdk) | 链上多跳 Router 与客户端 SDK | `v0.4.0` | @@ -81,17 +81,17 @@ ```toml # 添加到您的 Cargo.toml -solana-streamer-sdk = "5.0.0" +solana-streamer-sdk = "5.0.1" ``` 解析后端 feature: ```toml # 默认:sol-parser-sdk parse-borsh 后端 -solana-streamer-sdk = "5.0.0" +solana-streamer-sdk = "5.0.1" # 面向低延迟 Bot 的 zero-copy 解析后端 -solana-streamer-sdk = { version = "5.0.0", default-features = false, features = ["sdk-parse-zero-copy"] } +solana-streamer-sdk = { version = "5.0.1", default-features = false, features = ["sdk-parse-zero-copy"] } ``` 如果同时启用 `sdk-parse-borsh` 和 `sdk-parse-zero-copy`,`sol-parser-sdk 0.6.1+` 会优先使用 zero-copy 后端。 @@ -109,7 +109,7 @@ git clone https://github.com/0xfnzero/solana-streamer ```toml # 添加到您的 Cargo.toml -solana-streamer-sdk = { path = "./solana-streamer", version = "5.0.0" } +solana-streamer-sdk = { path = "./solana-streamer", version = "5.0.1" } ``` @@ -289,6 +289,8 @@ gRPC/RPC 使用提供的执行元数据和实际 CPI 指令;Shred 只能看到 解析热路径不调用 RPC。按 `parse_status` 判断证据,缺失字段的默认值不代表实际零成交。账户顺序与原始指令数据保留在 `third_program`;交易序号和接收时间仍在事件元数据中,本地 Shred 序号不等于全 slot 执行顺序。详见 [第三方包装交易](docs/wrapped-pumpfun.md)。 +已知 Pump.fun 创建/交易指令在 ALT 未展开时仍保留回调,未知账户保持未知。适配层保留 `create_v2`、V2/V3 方法名、创建账户和官方 `multi_hop_swap` 来源。运行 `cargo run --example rpc_transaction_replay`,可用已报告的真实签名交易离线比较纯 Shred 与执行解析;Shred 路由预算不是各跳成交金额,实际报价币/代币金额来自执行元数据。 + ## ⚙️ 配置系统 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 5421903..23cc863 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,28 +1,11 @@ -# solana-streamer v5.0.0 +# solana-streamer v5.0.1 -Released 2026-10-22. The Rust, Node.js, Python and Go parser packages use the same family version, 0.9.0. Streamer 5.0.0 and Shred 6.0.1 are separately versioned integrations. +Released 2026-10-26. -## Default stock pools / 默认股票代币池子 +Use sol-parser-sdk 0.10.0 and preserve create_v2 method names, unknown quotes and official multi-hop Pump callbacks across the streamer bridge. Update real-transaction replay examples. -Remove five pools from the default catalog: two have captured single-transaction withdrawals reducing both vault balances by at least 50%; four have less than $500 in USDC/WSOL-side reserves at the 2026-10-22 04:25 UTC+8 snapshot (one meets both criteria). Defaults now contain 58 stock pools across 33 mints; trading adds the SOL/USDC conversion pool for 59 pools total. COPX.US is no longer a default mint. See [the synchronized catalog notes](docs/STOCK_BRIDGE_SYNC.md) for addresses and evidence. +升级解析核心到 0.10.0,事件桥接保留 create_v2 指令名、未知报价和官方多跳回调,更新真实交易回放示例。 -This is a static catalog refresh, not continuous liquidity monitoring, certified executable depth, or an LP-lock guarantee. Explicit custom catalogs remain supported. No RPC or history scanning was added to parsing or trading hot paths. +## Validation / 验证 -中文:默认目录剔除 5 个池子,涵盖整池双边储备单笔下降至少 50% 的历史记录,以及快照中 USDC/WSOL 一侧储备不足 500 美元的池子。保留 58 个股票池、33 个 mint;交易侧加 SOL/USDC 共 59 个池子。该目录为静态快照,不保证实时深度或流动性锁定。 - -## Changes / 更新 - -- Remove standalone PumpRouteIntent and RawInstruction callbacks and their obsolete decoding helpers/examples. Wrapped Pump.fun callbacks retain the original outer program, ordered accounts and data in third_program. -- Preserve the distinction between unresolved Shred candidates, decoded instruction inputs and confirmed execution. The parser hot path performs no RPC and does not infer opaque third-party arguments. -- Synchronize Pump.fun V3 instruction handling, gRPC execution evidence and create-before-trade ordering. Preserve supplied transaction-position and receive-time metadata. -- Clean up examples and README navigation; maintain the shared stock catalog and native-language validation. - -## Migration / 升级 - -Subscribe to PumpFunTrade and inspect third_program and parse_status. Remove matches/filters for the retired PumpRouteIntent and RawInstruction events. Unresolved is only a possible interaction; defaults are not a proven direction or zero fill. ExecutionConfirmed does not guarantee all amounts are available. Unresolved ALT addresses remain unknown. - -中文:独立的路由意图和原始指令回调已删除。第三方包装信息保留在交易事件的 third_program 中;Shred 候选与实际成交必须按 parse_status 区分。SDK 不猜测第三方合约参数,热路径不调用 RPC。 - -Version alignment does not imply identical APIs across languages. Offline fixtures validate captured cases, not current chain state or production latency. See README and docs/wrapped-pumpfun.md for the supported surface. - -Pins sol-parser-sdk =0.9.1 and forwards the simplified callback model. Update exhaustive streamer event matches when upgrading. +Native-language regression suites and replay/build checks passed for the synchronized changes. Four trade implementations completed curve buy/sell and pool buy/sell unsigned mainnet simulations (16 successful simulations); these small-amount interface checks do not replace fresh production quotes. No transaction was broadcast. diff --git a/docs/STOCK_BRIDGE_SYNC.md b/docs/STOCK_BRIDGE_SYNC.md index 9e17cb2..a9da1da 100644 --- a/docs/STOCK_BRIDGE_SYNC.md +++ b/docs/STOCK_BRIDGE_SYNC.md @@ -32,7 +32,7 @@ quote/search and preparation perform no RPC; no cache miss triggers a fallback. Parser SDKs own parsing, stock monitoring and historical identities. Streamer and Shred transport signals; incomplete Shred observations never become confirmed prices or executable reserves. Trade SDKs own quoting and transaction preparation. -The router reuses parser 0.9.1 and trade 9.0.1; its re-exported PumpSwapRouting +The router reuses parser 0.10.0 and trade 10.0.0; its re-exported PumpSwapRouting builds trade-sdk direct instructions, not automatic router-program CPI dispatch. Single-market conversion cannot resolve PumpSwapAutoRoute without a routing cache. diff --git a/examples/rpc_transaction_replay.rs b/examples/rpc_transaction_replay.rs index 4efd50b..3b1bd46 100644 --- a/examples/rpc_transaction_replay.rs +++ b/examples/rpc_transaction_replay.rs @@ -1,19 +1,39 @@ //! Fetch once or replay an RPC fixture through the public streamer facade. -//! With no arguments: replay the 2026-10-19 Delta SellV2 transaction offline. +//! With no arguments: replay the reported ALT creates and official multi-hop offline. //! cargo run --example rpc_transaction_replay -- --fetch SIGNATURE OUTPUT.json //! cargo run --example rpc_transaction_replay -- --fixture OUTPUT.json use anyhow::{bail, ensure, Context, Result}; use solana_client::{rpc_client::RpcClient, rpc_config::RpcTransactionConfig}; use solana_sdk::signature::Signature; -use solana_streamer_sdk::parse_encoded_rpc_transaction_as_streamer_events; +use solana_streamer_sdk::{ + parse_encoded_rpc_transaction_as_streamer_events, + streaming::{ + common::event_processor::process_shred_transaction, + event_parser::{DexEvent, Protocol}, + shred::TransactionWithSlot, + }, +}; use solana_transaction_status::{EncodedConfirmedTransactionWithStatusMeta, UiTransactionEncoding}; use std::{fs, str::FromStr, time::Duration}; -fn main() -> Result<()> { +#[tokio::main] +async fn main() -> Result<()> { let args: Vec<_> = std::env::args().skip(1).collect(); - let tx: EncodedConfirmedTransactionWithStatusMeta = match args.as_slice() { - [] => serde_json::from_str(include_str!("../tests/fixtures/pump_execution_20261019.json"))?, - [mode, path] if mode == "--fixture" => serde_json::from_slice(&fs::read(path)?)?, + let transactions: Vec = match args.as_slice() { + [] => { + let mut transactions = Vec::new(); + for source in [ + include_str!("../tests/fixtures/pump_create_alt_20261026.json"), + include_str!("../tests/fixtures/pump_multi_hop_20261025.json"), + ] { + let fixture: serde_json::Value = serde_json::from_str(source)?; + for case in fixture["cases"].as_array().context("Missing cases")? { + transactions.push(serde_json::from_value(case["wire_rpc"].clone())?); + } + } + transactions + } + [mode, path] if mode == "--fixture" => vec![serde_json::from_slice(&fs::read(path)?)?], [mode, signature, path] if mode == "--fetch" => { let signature = Signature::from_str(signature)?; let url = std::env::var("SOLANA_RPC_URL") @@ -35,16 +55,40 @@ fn main() -> Result<()> { "RPC returned a different signature" ); fs::write(path, serde_json::to_vec_pretty(&tx)?)?; - tx + vec![tx] } _ => bail!("usage: --fetch SIGNATURE OUTPUT.json | --fixture INPUT.json"), }; - let events = parse_encoded_rpc_transaction_as_streamer_events(&tx, 0, &[], None)?; - println!( - "{{\"slot\":{},\"execution_error\":{},\"events\":{}}}", - tx.slot, - serde_json::to_string(&tx.transaction.meta.as_ref().and_then(|meta| meta.err.as_ref()))?, - serde_json::to_string_pretty(&events)? - ); + for tx in transactions { + let signed = tx.transaction.transaction.decode().context("Invalid wire transaction")?; + let captured = std::sync::Arc::new(std::sync::Mutex::new(Vec::::new())); + let output = captured.clone(); + process_shred_transaction( + TransactionWithSlot::new(signed, tx.slot, 123456, Some(888)), + &[Protocol::PumpFun], + None, + std::sync::Arc::new(move |e| output.lock().unwrap().push(e)), + None, + ) + .await?; + println!( + "{}", + serde_json::json!({"source":"shred_static", "slot":tx.slot, "events":*captured.lock().unwrap()}) + ); + let events = parse_encoded_rpc_transaction_as_streamer_events( + &tx, + 123456, + &[Protocol::PumpFun], + None, + )?; + println!( + "{{\"slot\":{},\"execution_error\":{},\"events\":{}}}", + tx.slot, + serde_json::to_string( + &tx.transaction.meta.as_ref().and_then(|meta| meta.err.as_ref()) + )?, + serde_json::to_string_pretty(&events)? + ); + } Ok(()) } diff --git a/src/streaming/parser_sdk_bridge/pump_pumpswap.rs b/src/streaming/parser_sdk_bridge/pump_pumpswap.rs index f0c1b30..490ff03 100644 --- a/src/streaming/parser_sdk_bridge/pump_pumpswap.rs +++ b/src/streaming/parser_sdk_bridge/pump_pumpswap.rs @@ -52,14 +52,27 @@ pub(crate) fn pumpfun_create_token_from_parser( token_program: c.token_program, is_mayhem_mode: c.is_mayhem_mode, is_cashback_enabled: c.is_cashback_enabled, - quote_mint: normalize_pumpfun_quote_mint(c.quote_mint), + quote_mint: c.quote_mint, quote_vault: c.quote_vault, quote_token_program: c.quote_token_program, virtual_quote_reserves: c.virtual_quote_reserves, creator_fee_bps: c.creator_fee_bps, is_holder_reward: c.is_holder_reward, depth: c.depth, - ix_name: "create".to_string(), + ix_name: if c.ix_name.is_empty() { "create".into() } else { c.ix_name }, + mint_authority: c.mint_authority, + associated_bonding_curve: c.associated_bonding_curve, + global: c.global, + system_program: c.system_program, + associated_token_program: c.associated_token_program, + mayhem_program_id: c.mayhem_program_id, + global_params: c.global_params, + sol_vault: c.sol_vault, + mayhem_state: c.mayhem_state, + mayhem_token_vault: c.mayhem_token_vault, + event_authority: c.event_authority, + program: c.program, + observed_fee_recipient: c.observed_fee_recipient, ..Default::default() } } @@ -85,7 +98,7 @@ pub(crate) fn pumpfun_create_token_from_parser_v2( token_program: c.token_program, is_mayhem_mode: c.is_mayhem_mode, is_cashback_enabled: c.is_cashback_enabled, - quote_mint: normalize_pumpfun_quote_mint(c.quote_mint), + quote_mint: c.quote_mint, quote_vault: c.quote_vault, quote_token_program: c.quote_token_program, virtual_quote_reserves: c.virtual_quote_reserves, @@ -776,7 +789,7 @@ pub(crate) fn pumpfun_trade_from_parser_with_event_type( buyback_fee_basis_points: t.buyback_fee_basis_points, buyback_fee: t.buyback_fee, shareholders: t.shareholders.into_iter().map(pump_fees_shareholder_from_parser).collect(), - quote_mint: normalize_pumpfun_quote_mint(t.quote_mint), + quote_mint: t.quote_mint, quote_amount: t.quote_amount, virtual_quote_reserves: t.virtual_quote_reserves, creator_fee_unclaimed: t.creator_fee_unclaimed, @@ -896,7 +909,7 @@ mod tests { use super::*; #[test] - fn pumpfun_default_quote_mint_uses_solscan_sol_sentinel() { + fn pumpfun_unknown_quote_mint_stays_unknown() { let ev = pumpfun_trade_from_parser_with_event_type( sol_parser_sdk::core::events::PumpFunTradeEvent { is_buy: true, ..Default::default() }, None, @@ -906,7 +919,7 @@ mod tests { match ev { DexEvent::PumpFunTradeEvent(t) => { - assert_eq!(t.quote_mint.to_string(), "So11111111111111111111111111111111111111111"); + assert_eq!(t.quote_mint, Pubkey::default()); } _ => panic!("expected PumpFunTradeEvent"), } diff --git a/tests/fixtures/pump_create_alt_20261026.json b/tests/fixtures/pump_create_alt_20261026.json new file mode 100644 index 0000000..b867dde --- /dev/null +++ b/tests/fixtures/pump_create_alt_20261026.json @@ -0,0 +1,1652 @@ +{ + "source": "Solana mainnet getTransaction (base64), captured 2026-10-26", + "cases": [ + { + "signature": "2ydaZvMnQzFi9JbPXHtG8syYdDg3tGsrUqNTDre6ZE6sxxHe4GuL1qPeEqRdTouZaWg6ksuioNaamMqnFh9nJvYG", + "wire_rpc": { + "blockTime": 1792942614, + "meta": { + "computeUnitsConsumed": 201800, + "costUnits": 212064, + "err": null, + "fee": 10000, + "innerInstructions": [ + { + "index": 2, + "instructions": [ + { + "accounts": [ + 0, + 1 + ], + "data": "111157R57fqNzgMjCi7yd8cD1yQhPAwhedzS6uysMaAGbDUZUYiji1TswMPKaASzZW6nQT", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "GC3i2jSx8awwe9xBfbR9LBTrzgFPUE9b56kGnez3cWMeYXQ2cFNKiQUY7EEVH9jcszFqVmnye4NFAHCp5PiUxfbRM8", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "2zt6UCCHp66bJGRS4G7bTsjdxFh6FQ9sBEyRfGyPQKxYisAw", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 3 + ], + "data": "1111cioyWkTQuLPfwxMoT2birGzJRhJTioHPSoXiyqTZ8i2Uit2xjR4zNTmWA8HgNbgfR", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 4, + 3, + 1, + 11, + 24 + ], + "data": "1", + "programIdIndex": 13, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 4 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 11, + "stackHeight": 3 + }, + { + "accounts": [ + 4 + ], + "data": "P", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 4, + 1 + ], + "data": "6PodQZYVbMGuzwHJM1M5ATvw3qgxt7w2D5y7PKtqmAvt2", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 1 + ], + "data": "3Bxs4TdjXjKj5fWP", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 22, + 1, + 22 + ], + "data": "C6sbS3FULsxQaF1VsYpdMpZCwqdkrYm4CM4Hq8YfnHq41cUs1MhNSbgDUvJBqYwkJ81PdibSV8pV1BYeCcgf2z3yWZnvGFSN7r2FTH6b7c3L1WfftFGbeGDGriT3c1", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 22 + ], + "data": "BjBG9fDQbu1raSNbBZQYubkmLijGDjgXJHpedBBGGrFrgSFFPaBAwnF", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 4, + 22 + ], + "data": "6ApXSNCamGdm", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 22 + ], + "data": "31tb", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 26 + ], + "data": "H3QSeD5qWuFtwgJDRysCP3rrUTzhm1nsEVyxKF8cFU3HyAACteMeZUa9SwBk5a7kdaKFoe8SMmU8PbVi61CMt4DNMRHYSEgmJudrkHGN13k5a1KKkWjKqhQkDR6ErW3Z4m68CNJbT3WuHBHGvB6EspaURxL6qhN5N3KoWt2RPYFwFFxu7XBo6KegscGZT9RCRRpFWhyH61Qf1QVCkGdTuxArA7X4P2hxSdu9VaRmo9PkoF9rTeF2CzYntDnU1kiqJj8dEHkq7qyMJ9AMatXspy7DSL3msfp7NPDRAbzxB4kwovfEZQbzAbHrooGSBYCHXYjyzhxViNEv6sVfp6K4qmNVegU6a6KFkqSbutDC6Yjxwgk683p6q67pPdDGRGq7jTGJUPYmwkxC2ypcRexGa6DS38yhEJm2DFBD7zgG5twWzygxCi35kS4R3yshsSPM7Hq4jYtcSBVUMxC6CHoEvC4ao7H21k423", + "programIdIndex": 12, + "stackHeight": 2 + } + ] + }, + { + "index": 4, + "instructions": [ + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 8 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 8 + ], + "data": "P", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 8, + 1 + ], + "data": "6QUZcAKxfMnQRAU9Bjhw51MMTZXZQBKHHTDoJgVnNFxSE", + "programIdIndex": 24, + "stackHeight": 2 + } + ] + }, + { + "index": 5, + "instructions": [ + { + "accounts": [ + 0, + 10 + ], + "data": "11116bYLo9rxSJafavUq2JFtAzXVr9gGTLdp8nq8DtrzRm2TtRqSRrLVYvo86Gbnaa3y3V", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 29, + 12 + ], + "data": "KX69VKtJ7u4E8WRrYUqgt3XUX8TcDnzuCpML1U78HbvSY3b6R3Fmk5hZdYT43YMC1VSWpVqHwFfau5", + "programIdIndex": 20, + "stackHeight": 2 + }, + { + "accounts": [ + 4, + 1, + 8, + 3 + ], + "data": "j65z4jJa2sgN9", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 9 + ], + "data": "3Bxs411c3MuNu6nj", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 9 + ], + "data": "3Bxs445376bshZxj", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 3 + ], + "data": "3Bxs4WN48ZZhz4Md", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 21 + ], + "data": "3Bxs4TP7ddRnkwSw", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 18 + ], + "data": "3Bxs4TYpJeEcFYiT", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 26 + ], + "data": "3qsuqwaLDbwxk7Vdz3663PEy1huFEFdbRmFirS8ME34wqiDkVNoK2YzQFoXMnPL69iCeXqSLsVPBoBKaJvhES6wikQ4N7ABD1TscjmkEZGGwpLDqf6Vd3BnQ84Ln1UGfdrWfmCvJqMTnabCPWzSJ1ZB61YzNUg9LfM422A3VSaBhAA9LXqBeLtSZyGt2tvjqEXea7JT9zB4aQZ9YYAqJM8RTcR17dx1EZeu7rhzW2k5DEFS99d1B5H4BQUVAmrRwKSPBB9S91UJTRctmdhRw14s4UndA5TPk6UwtEXBV3Fg6Pr1fkjqPgNp6Gk4g68UVaWYBZFrAhPuYbAPTnrR6BGojSaC5jyN4UdQxgjWjXTy1oyxLjjSHjAvCsjTB9N5xVx4yiTSN97ivpwkwsxmR2BxDFEfB9r3qA58WbtjkcjmugsoLwMn6GAWWd7SBoE16LLdWFgcRTEeGqFBtCK48f4FWTFnqXm3QdHd2VKC6x33Ao848pNBah1t8YzQW2Ka43yaQYinpazNEtqacphTRNUubYxWFyUhx1mPGGfhNCQGFr3bjEP", + "programIdIndex": 12, + "stackHeight": 2 + } + ] + } + ], + "loadedAddresses": { + "readonly": [ + "TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM", + "4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf", + "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "13ec7XdrjF3h3YcqBTFDSReRcUFwbCnJaAQspM4j6DDJ", + "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1", + "So11111111111111111111111111111111111111112", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "8Wf5TiAheLUqBrKXeYg2JtAFFMWtKdG2BSFgqUcPVwTt" + ], + "writable": [ + "uxtoRPdPjRekYmxs1uUqVRZWh38iqonc9KgPuZXPeSY", + "MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e", + "BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s", + "62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV", + "Hq2wp8uJ9jCPsYgNHex8RtqdvMPfVGoYwjvF1ATiwn2Y", + "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ", + "5cjcW9wExnJJiqgLjq7DEG75Pm6JBgE1hNv4B2vHXUW6" + ] + }, + "logMessages": [ + "Program 11111111111111111111111111111111 invoke [1]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [1]", + "Program 11111111111111111111111111111111 success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: CreateV2", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: MetadataPointerInstruction::Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1331 of 792724 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeMint2", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2094 of 789730 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]", + "Program log: Create", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1426 of 769447 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [3]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 763199 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2852 of 760129 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 17807 of 774780 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 4582 of 730694 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: UpdateAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 4924 of 723862 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: MintTo", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2126 of 716746 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: SetAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1477 of 712684 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program data: G3KpTd7rY3YEAAAATHVuYQQAAABMdW5hQAAAAGh0dHBzOi8vbWV0YS51eGVudG8uaW8vZGF0YS9mNTFjODdiMi1hYTZhLTQ2MTEtOTlkZC0xY2U5NGU4ODQyMjbT3Yj3eCDAF0bJceHkg98ri52ec/VM/wdWVnBKAlA4PyewM/CYRh1AxHIt4rUif46MckJH9LZOZ8jeKbeT2AnrMamOyavIP/1iFXe/X3zbd4TlILwSinxmrvdvrDstK5NDaBTwXWs0KVB4ojl7fPnIPewaK6asebf9bxV62zw95RUi3moAAAAAABDYR+PPAwAArCP8BgAAAAB4xftR0QIAAIDGpH6NAwAG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArCP8BgAAAAAAAAAAAAAAAQA=", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 704932 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 104581 of 805700 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: ExtendAccount", + "Program log: Account already has the correct size", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 3780 of 701119 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", + "Program log: CreateIdempotent", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1495 of 692079 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 685762 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 3107 of 682695 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 18034 of 697339 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: BuyExactSolIn", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ invoke [2]", + "Program log: Instruction: GetFeesWithQuoteMint", + "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ consumed 3360 of 639424 compute units", + "Program return: pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ AAAAAAAAAABfAAAAAAAAAB4AAAAAAAAA", + "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: TransferChecked", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2977 of 630933 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program data: vdt/007mYe7T3Yj3eCDAF0bJceHkg98ri52ec/VM/wdWVnBKAlA4P7Bo3joAAAAA6oVanxofAAABMamOyavIP/1iFXe/X3zbd4TlILwSinxmrvdvrDstK5MVIt5qAAAAALAUAjcHAAAAFop9qMiwAwCwaN46AAAAABbyalw3sgIASsL40N1cvJfjKJwZfLUGKlTz2Va5zm5RFfllZ6pcs+ZfAAAAAAAAAD0rjwAAAAAAQ2gU8F1rNClQeKI5e3z5yD3sGiumrHm3/W8Vets8PeUeAAAAAAAAABM2LQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGJ1eV9leGFjdF9zb2xfaW4AAAAAAAAAAAAAAAAAAAAAAIgTAAAAAAAAnpVHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwaN46AAAAALAUAjcHAAAAsGjeOgAAAAAeAAAAAAAAABM2LQAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 608707 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 75105 of 679305 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success" + ], + "postBalances": [ + 500818920, + 2631440, + 3909617008, + 989147840, + 1513840, + 0, + 0, + 0, + 1513840, + 3613203, + 1346200, + 1, + 9700912471, + 3388612899, + 0, + 723866076759, + 11149834, + 64317142011530, + 16116617234718, + 17016138, + 6046721, + 6398238, + 1020235881, + 4089842911, + 70228638, + 3104160, + 168261611, + 1857492067281, + 230130698, + 37292293 + ], + "postTokenBalances": [ + { + "accountIndex": 4, + "mint": "FG2x9vQuYR9cFmyKu666LgLsSkKMX2VMLEZfnJTxpump", + "owner": "3fvjdLxo4ReAfoCpvBspyxVfLoP4iBkWP3wXqK9wsnT4", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "965800796879382", + "decimals": 6, + "uiAmount": 965800796.879382, + "uiAmountString": "965800796.879382" + } + }, + { + "accountIndex": 8, + "mint": "FG2x9vQuYR9cFmyKu666LgLsSkKMX2VMLEZfnJTxpump", + "owner": "4LrwE8Rs4w8atz3feYjjXNv54dyama1akJdTBv6Yxp1G", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "34199203120618", + "decimals": 6, + "uiAmount": 34199203.120618, + "uiAmountString": "34199203.120618" + } + } + ], + "preBalances": [ + 1522978000, + 0, + 3906617008, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 9700912471, + 3388612899, + 0, + 723856076759, + 11149834, + 64317142011530, + 16116612543359, + 17016138, + 6046721, + 1706880, + 1020235881, + 4089842911, + 70228638, + 3104160, + 168261611, + 1857492067281, + 230130698, + 37292293 + ], + "preTokenBalances": [], + "rewards": [], + "status": { + "Ok": null + } + }, + "slot": 461310600, + "transaction": [ + "AmLaZy64v5Di4lKbiwXNuKSFnpIpUo0+hM5amgvIlrXdx8PG8Wv2GfY0LWZ7i3VpF6rmYl6c4yCYXkRjwdpTjwFCY07mm0amcd7Db/KqnFYK6y814e6GJ9GTAyIGdCjV/Qa6lU18HmnR112WjQe578cCxQbYo51vzFRX6QKfjMEDgAIABA8xqY7Jq8g//WIVd79ffNt3hOUgvBKKfGau92+sOy0rk9PdiPd4IMAXRslx4eSD3yuLnZ5z9Uz/B1ZWcEoCUDg/C3p64JtYSIDv2HRsHDwZxm3I1PPhBs4HJGR0gOyOLmMnsDPwmEYdQMRyLeK1In+OjHJCR/S2TmfI3im3k9gJ65a0ZMYhSWbEvklg1JffwGb++DYghdFvhyXCPwn4Et7jD754hjSR8Y8mfITubhvtNifqBioGd/4zEarjzssuN634x/8WjHPKbOlKfi6+Az0ELlpXqT7gnKLHqXaVPa/7ELp3wr3SKuwpawE2KoLtxaP4WINA37YLgDSTAcn2z2P6ULnbRiVka/P6cCtqF3tiboYiKlE8lQAWnCFWimyt4riJqbBmEfVXwRVZbU/GSrUBnTDz0itOQnWeU+ST264UoK8Gr1MaKkNOSPgZ6HfJXKNmbP1dMTdyUptExKVtrfK9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVuD2k2Zaz0TbFWi/F1uqUYnLl/XS/ztlXSu2/W0YsIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZhrHAB/wQXhF2JwN803m1aGqKTuDB/4iuzeWPdgHr8/7pVxHQ5Qf3a6U51JEurJ5kVRXk5lQqleKIxGh6gNGXGQYLAgACDAIAAADAxi0AAAAAAAsCAA8MAgAAAICWmAAAAAAADBMBFgMEFwALGA0QGREFBhoMGwcchwHWkEzsX4sxtAQAAABMdW5hBAAAAEx1bmFAAAAAaHR0cHM6Ly9tZXRhLnV4ZW50by5pby9kYXRhL2Y1MWM4N2IyLWFhNmEtNDYxMS05OWRkLTFjZTk0ZTg4NDIyNjGpjsmryD/9YhV3v19823eE5SC8Eop8Zq73b6w7LSuTAAAAAAAAAAAAAAEMBQMACxoMCOpmwsuWSD7lDQYACAABCxgBAQwSFxIBAwQIAAsYCRoMEwodFA4VGTj8dAie381fAMqaOwAAAABKYQHE2R4AAAAB86MJJaK1tQQ9RWP2BnSut2xs8dgsl8Sweg3R3jfPB+kHKgQGKwgKEggWCwEFDBcYCQ==", + "base64" + ], + "transactionIndex": 152, + "version": 0 + } + }, + { + "signature": "3x3nv3Ri7F6SmR5dMxUvwKy1ZMnU1HTKV97qPg3zMu2sFUw4KCvnEWf6CND6xDutJtX4gitEjXHzUMgiciWt99WE", + "wire_rpc": { + "blockTime": 1792942583, + "meta": { + "computeUnitsConsumed": 268765, + "costUnits": 279330, + "err": null, + "fee": 38221, + "innerInstructions": [ + { + "index": 2, + "instructions": [ + { + "accounts": [ + 0, + 1 + ], + "data": "111157R57fqNzgMjCi7yd8cD1yQhPAwhedzS6uysMaAGbDUZUYiji1TswMPKaASzZW6nQT", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "GC3i2jSx8awwe9xBfbR9LBTrzgFPUE9b56kGnez3cWMeYXFo7rdd1bC4XjJqBLo6WrMZA44oLtD7131WJ57pfFbRM8", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "2zt6UCCHp66bJGRS4G7bTsjdxFh6FQ9sBEyRfGyPQKxYisAw", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 2 + ], + "data": "1111cioyWkTQuLPfwxMoT2birGzJRhJTioHPSoXiyqTZ8i2Uit2xjR4zNTmWA8HgNbgfR", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 3, + 2, + 1, + 25, + 26 + ], + "data": "1", + "programIdIndex": 15, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 26, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 3 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 25, + "stackHeight": 3 + }, + { + "accounts": [ + 3 + ], + "data": "P", + "programIdIndex": 26, + "stackHeight": 3 + }, + { + "accounts": [ + 3, + 1 + ], + "data": "6YcCzwBZipQCmRUoapnYzaKtF2Df1CBdopuqRTamDdEKY", + "programIdIndex": 26, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 1 + ], + "data": "3Bxs4XdxXNY3raXh", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 23, + 1, + 23 + ], + "data": "LiXfnnua5xgmuNSDANdhKMYJkMgHaxDT9HcLVrUzSG3nnreWxRUThgN2w5uxSkapxy6yVo3q4q6HA8UzpLeRJxiMCAwn5z3T69gZrzgXwXGbUuyh23tqkj2LEc6LDAttPKyeZ8qXwy978iwmPxxE8xbPNwK6kw3E", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 23 + ], + "data": "BjBG9fDQbu1raSNbBZQYubkmLijGDjgXJHpedBBGGrFrgSFFPaBAwnF", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 27, + 23, + 18, + 1, + 5, + 4, + 25, + 26, + 15 + ], + "data": "TPGpxKtZ4cc", + "programIdIndex": 17, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 5, + 18, + 1, + 25, + 26 + ], + "data": "1", + "programIdIndex": 15, + "stackHeight": 3 + }, + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 26, + "stackHeight": 4 + }, + { + "accounts": [ + 0, + 5 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 25, + "stackHeight": 4 + }, + { + "accounts": [ + 5 + ], + "data": "P", + "programIdIndex": 26, + "stackHeight": 4 + }, + { + "accounts": [ + 5, + 1 + ], + "data": "6Y5CywK9PapDLSofGZi8LSK3ktu8KPKXMhZ5N6USqvnXq", + "programIdIndex": 26, + "stackHeight": 4 + }, + { + "accounts": [ + 0, + 4 + ], + "data": "111157ahBMy1h2Ko3fiGCyAzowWFaCUcNokZWgXLGpnL32Q7yHcf3ZYrAXhkiD3quiLXsG", + "programIdIndex": 25, + "stackHeight": 3 + }, + { + "accounts": [ + 1, + 3, + 23 + ], + "data": "6ApXSNCamGdm", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 5, + 23 + ], + "data": "6ApXSNCamGdm", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 23 + ], + "data": "31tb", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 28 + ], + "data": "VVR3SFMUXjgyuXe8dEmRYDeAhCA4pcSoG9dH6hEKx5CcYTztnp8VdvG53QyCXwUx92pqTHT2Q7NV1UhtxF1b3qKiRCzZVddTxoUvaEgsa4xMdyiS86NEFj3fwpit9UgtHrWKSvH6uQdo4mptQvALNLJKCkdjxrFGjGRD1xcxZ919PszUQ35mKr1gc73NwPBMzkynUaJrgmV6mZ4Joo3LiBZwBAwsc41v9X9bhx1BiVi1zvnQi5qdkgntE2C8rvvhYnKW96S4PN71KZ4TVCq3caB3dcsCmrakUXT96v9GsehCjbKbAGEv2fqbFp1rN6G9nW1wx7CmXATUzv7MXHzURnjg2YwhiqTyC7qiGw7TqAgnZuuRtBJvWNYJj2oF2mebHgChw46tDXAS7Jof8kX4TLuiha3y9GrAC8u6CVuv344BiCKPV57MdeTQ2mWGLXnC4yJoTvUg9kNFmKhGmkNNo8nZCs8P17rmcyupFbfLzfareggbLqSTScYuXfuPzsCnvBH", + "programIdIndex": 14, + "stackHeight": 2 + } + ] + }, + { + "index": 3, + "instructions": [ + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 6 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 6 + ], + "data": "P", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 6, + 1 + ], + "data": "6a3WQS3h99EDmtEC7w1Xrst9aHS5c1kvTNXuq95uTkK4g", + "programIdIndex": 26, + "stackHeight": 2 + } + ] + }, + { + "index": 4, + "instructions": [ + { + "accounts": [ + 32, + 14 + ], + "data": "KX69VKtJ7u4E8WRrYUqgt3XUX8TcDnzuCpML1U78HbvSY3b6R3Fmk5hZdYT43YMC1VSWpVqHwFfau5", + "programIdIndex": 33, + "stackHeight": 2 + }, + { + "accounts": [ + 3, + 1, + 6, + 2 + ], + "data": "gkVJ4Mnxf8cXw", + "programIdIndex": 26, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 9 + ], + "data": "3Bxs4bpbtfv6H53D", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 2 + ], + "data": "3Bxs4gr3g2qGpZx3", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 19 + ], + "data": "3Bxs4Bfgc9vaoYbH", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 28 + ], + "data": "8jV3ThAnvn3jwQVVxYoxU8RAhs66oSMjgHu7DbgSrXTcqUKk6tdzazt8eHgPFf9pXL95ZCnzc13EaR9JmC1sY3GKseng5LwaBMrYtWTv3hQ6e4X1AneiwDSmXGpCHcT6RAd3qWuiDE1EFAsNTvr9w5yBzf5V14LbM1cy2fwDpLNYat8TD73pntMc41h5PRDfLTuveW8TvxZJ5niwmX6nN9Pmo8jT6eedrHuMcURefC9S5DvneknvXJ8CRbAdsm5TME4UDm9QHWSdvYvoF4y7KcLY8cXDsR43b3XtoGPi9AYJziK9Nkzv8KS7cgBpUxoYkSee8qnhR75dYJYBnC3NCNgh9WPfdD9MTc6KBwP29ChxK57e5VwHAhKiiSRADT9q6xvRTjxuGiF3Y5fSqPk9SbuJaTSbcf7bwqhJhHs4AE9eEYECYSnSMZPJjLhweFqcJwinwaUHobKYe6xeW3rYue51tXJKAQXEtdd3ntu2wbDKkzSLHjD8BbPgYGL4JesrHcfWCZQVqEF4mssAfwPX6eZXhzgQrr2j", + "programIdIndex": 14, + "stackHeight": 2 + } + ] + } + ], + "loadedAddresses": { + "readonly": [ + "TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM", + "4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf", + "11111111111111111111111111111111", + "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "13ec7XdrjF3h3YcqBTFDSReRcUFwbCnJaAQspM4j6DDJ", + "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1", + "So11111111111111111111111111111111111111112", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "Hq2wp8uJ9jCPsYgNHex8RtqdvMPfVGoYwjvF1ATiwn2Y", + "8Wf5TiAheLUqBrKXeYg2JtAFFMWtKdG2BSFgqUcPVwTt", + "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ" + ], + "writable": [ + "MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e", + "BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s", + "8sNeir4QsLsJdYpc9RZacohhK1Y5FLU3nC5LXgYB4aa6", + "21L1QB6DJ9HBvePgwN6jFuK3UT9mq2SgTq1oJ7D6cNiV", + "5cjcW9wExnJJiqgLjq7DEG75Pm6JBgE1hNv4B2vHXUW6", + "GYH1Gae1wJytMSvMvw8JVcv7nuAbxi8i9erNVbERnzXd" + ] + }, + "logMessages": [ + "Program ComputeBudget111111111111111111111111111111 invoke [1]", + "Program ComputeBudget111111111111111111111111111111 success", + "Program ComputeBudget111111111111111111111111111111 invoke [1]", + "Program ComputeBudget111111111111111111111111111111 success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: CreateV2", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: MetadataPointerInstruction::Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1331 of 269327 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeMint2", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2094 of 266333 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]", + "Program log: Create", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1426 of 247550 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [3]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 241302 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2852 of 238232 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 17807 of 252883 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 4874 of 210386 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: UpdateAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 5216 of 203262 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e invoke [2]", + "Program log: Instruction: InitializeMayhemState", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [3]", + "Program log: Create", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [4]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1495 of 175605 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [4]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [4]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 169288 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [4]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 3107 of 166217 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 19633 of 182439 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 11111111111111111111111111111111 invoke [3]", + "Program 11111111111111111111111111111111 success", + "Program MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e consumed 51975 of 191582 compute units", + "Program MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: MintTo", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2126 of 137207 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: MintTo", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2126 of 132931 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: SetAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1477 of 128871 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program data: G3KpTd7rY3YYAAAA8J+SjvCfj6ZUaGUgQm9zc/Cfj6bwn5KOBgAAACRUQk9TU0MAAABodHRwczovL2lwZnMuaW8vaXBmcy9RbVVLTFZXdGIzNXFac1VFRG5QTlFRejNNSlhhQ3MxOWhXa3l1TGc2ZzFZYk1hWYti2x0Mh9pIvEGWYxEAQ3QxoZzdSRnrQ+c7+9WxvJ+qfGYaKio2CgL0Q2OG634L/6tPzNGlbi3VPX3dlQ5wJ7/TSTmgCGnvY0/wTQy9qXxG5u+deZIjXUMBGOwvL081v9NJOaAIae9jT/BNDL2pfEbm7515kiNdQwEY7C8vTzX3Id5qAAAAAAAQ2EfjzwMAAKwj/AYAAAAAeMX7UdECAACAxqR+jQMABt324e51j94YQl285GzN2rYa/E2DuQ0n/r35KNihi/wBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwj/AYAAAAAAAAAAAAAAAAA", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 120894 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 164762 of 281903 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", + "Program log: CreateIdempotent", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1495 of 111881 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 105564 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 3107 of 102497 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 18034 of 117141 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: BuyV2", + "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ invoke [2]", + "Program log: Instruction: GetFeesWithQuoteMint", + "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ consumed 3360 of 42314 compute units", + "Program return: pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ AAAAAAAAAABfAAAAAAAAAB4AAAAAAAAA", + "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: TransferChecked", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2977 of 35513 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program data: vdt/007mYe5Zi2LbHQyH2ki8QZZjEQBDdDGhnN1JGetD5zv71bG8n+8UxgsAAAAAMtlyMWIGAAABv9NJOaAIae9jT/BNDL2pfEbm7515kiNdQwEY7C8vTzX3Id5qAAAAAO/A6QcHAAAAzjZlFoHJAwDvFMYLAAAAAM6eUsrvygIAdOlUPz43otBGInrdy06cd0xEJYxD7fJKqKrh8AIUZltfAAAAAAAAAECiHAAAAAAAv9NJOaAIae9jT/BNDL2pfEbm7515kiNdQwEY7C8vTzUeAAAAAAAAANEKCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAGJ1eQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8UxgsAAAAA78DpBwcAAADvFMYLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 18823 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 85669 of 99107 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success" + ], + "postBalances": [ + 2678299563, + 2758440, + 199024383, + 1513840, + 1188720, + 1513840, + 1513840, + 0, + 0, + 1971612, + 0, + 1346200, + 0, + 1, + 9700912471, + 3388612899, + 0, + 11149834, + 64313594372486, + 22270897203, + 1181359835, + 1753415991, + 889527199, + 1020235881, + 4089842911, + 1, + 70228638, + 3104160, + 168261611, + 1857492067281, + 230130698, + 17016138, + 37292293, + 6046721 + ], + "postTokenBalances": [ + { + "accountIndex": 3, + "mint": "72YZRDi6Fwa7L7sWxZixSQ19ia2BMtL78vnMBeAYpump", + "owner": "CUWKzz2vXYvw9zi4jdMf6MSrXL5BnSN77zfZy15QL5ta", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "992981193828046", + "decimals": 6, + "uiAmount": 992981193.828046, + "uiAmountString": "992981193.828046" + } + }, + { + "accountIndex": 5, + "mint": "72YZRDi6Fwa7L7sWxZixSQ19ia2BMtL78vnMBeAYpump", + "owner": "BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "1000000000000000", + "decimals": 6, + "uiAmount": 1000000000.0, + "uiAmountString": "1000000000" + } + }, + { + "accountIndex": 6, + "mint": "72YZRDi6Fwa7L7sWxZixSQ19ia2BMtL78vnMBeAYpump", + "owner": "DuojVrALrNwwck6bqrLXPuiBnYVnc1ekfcjyeWDeTAdi", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "7018806171954", + "decimals": 6, + "uiAmount": 7018806.171954, + "uiAmountString": "7018806.171954" + } + }, + { + "accountIndex": 20, + "mint": "So11111111111111111111111111111111111111112", + "owner": "8sNeir4QsLsJdYpc9RZacohhK1Y5FLU3nC5LXgYB4aa6", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1179320555", + "decimals": 9, + "uiAmount": 1.179320555, + "uiAmountString": "1.179320555" + } + }, + { + "accountIndex": 22, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5cjcW9wExnJJiqgLjq7DEG75Pm6JBgE1hNv4B2vHXUW6", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "888038759", + "decimals": 9, + "uiAmount": 0.888038759, + "uiAmountString": "0.888038759" + } + } + ], + "preBalances": [ + 2888319984, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1379019, + 0, + 1346200, + 0, + 1, + 9700912471, + 3388612899, + 0, + 11149834, + 64313594372486, + 22269020659, + 1181359835, + 1753415991, + 889527199, + 1020235881, + 4089842911, + 1, + 70228638, + 3104160, + 168261611, + 1857492067281, + 230130698, + 17016138, + 37292293, + 6046721 + ], + "preTokenBalances": [ + { + "accountIndex": 20, + "mint": "So11111111111111111111111111111111111111112", + "owner": "8sNeir4QsLsJdYpc9RZacohhK1Y5FLU3nC5LXgYB4aa6", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1179320555", + "decimals": 9, + "uiAmount": 1.179320555, + "uiAmountString": "1.179320555" + } + }, + { + "accountIndex": 22, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5cjcW9wExnJJiqgLjq7DEG75Pm6JBgE1hNv4B2vHXUW6", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "888038759", + "decimals": 9, + "uiAmount": 0.888038759, + "uiAmountString": "0.888038759" + } + } + ], + "rewards": [], + "status": { + "Ok": null + } + }, + "slot": 461310455, + "transaction": [ + "ApOBYu7KcbyZG3yJWcztb857w7UztOgbrh9gzO8gLaumnJEQKuK+zZ0r9RtRa9k53QIEcVdW5RWn8ssPSLcLtQ8g1XKKV6pgqdOHmWMW7xbIofiEwzThgawka9vUbI0ZtKqmhjA3HQ8VZt58rdzQm6j0EXZmVFI4VcRKiCbPpZMEgAIABBG/00k5oAhp72NP8E0Mval8RubvnXmSI11DARjsLy9PNVmLYtsdDIfaSLxBlmMRAEN0MaGc3UkZ60PnO/vVsbyfqnxmGioqNgoC9ENjhut+C/+rT8zRpW4t1T193ZUOcCeIjlT2MKm7pJiQ5qiZK0RSIx6/zk636E9A9BR8waDAUylImSAiLqoaLPo/mNPbI5dwzyiUarUCJfI2M1Cy/n8JZtwJXl3P7zjKJyzc10H7fhCEmfSl2uphzXI+QkXhrqC0oGcD1XeXHTsYnbTkQKUBfXe7BhFGnkKZhC8DTF2wrVGwM+OXHwQzqgSBQpNDWYnQ5Ikv27h5fJtC2Zuq4GD0z7rIUq6eA2dT6Oce1TFmb23QqbP3+xsQmbK4KyieMhobPujzXGQXgW6rXFHH4rKSyZA4z0Q/H97bM2agU8MUuwnowM4K4Csk6GzlfM/MXZ9ca7EB2JRLaY69SZ75byHBIUG25IXqe7xTxDat6lxfGTADjom+Md6/kGTPF96faXt6zprGO8bnc8c/rfUEBtJ0ofeFGtIhmx8kZaX4dcJKzgMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAAAVbg9pNmWs9E2xVovxdbqlGJy5f10v87ZV0rtv1tGLCMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WZi8gH65lUN0uXTq5Q9BCwuzk7NpvdM3AxhmtLgrjl/JotiAG8497vM5mgw9aVeD/Wrw7b+gBeako0tbeoV51BEFDQAFAltOBAANAAkDoIYBAAAAAAAOEAEXAgMYABkaDxEbEgQFHA6fAdaQTOxfizG0GAAAAPCfko7wn4+mVGhlIEJvc3Pwn4+m8J+SjgYAAAAkVEJPU1NDAAAAaHR0cHM6Ly9pcGZzLmlvL2lwZnMvUW1VS0xWV3RiMzVxWnNVRURuUE5RUXozTUpYYUNzMTloV2t5dUxnNmcxWWJNYb/TSTmgCGnvY0/wTQy9qXxG5u+deZIjXUMBGOwvL081AQAAAAAAAAAAAA8GAAYAARkaAQEOGxgBHRoeDxMUFRYCAwcABggJChAfCwwgIRkcDhi4F+5hZ8XTPTLZcjFiBgAAgEYKDAAAAAAB/EKeIF6Hp0DirM2FrbwRsMURgUdUy05+88jCpuXCokoGEBMpaiFSC54BCgsSA3wMBA4P", + "base64" + ], + "transactionIndex": 145, + "version": 0 + } + }, + { + "signature": "2uR6R3N1KLk2gDKpb7SbUp6246enm8qmzF6TtVcLTiq1AphTPKkVhnP7XApw6Xi7DqFMTMWRM4R6mLreo2mUA6GT", + "wire_rpc": { + "blockTime": 1792943276, + "meta": { + "computeUnitsConsumed": 176607, + "costUnits": 185441, + "err": null, + "fee": 110000, + "innerInstructions": [ + { + "index": 3, + "instructions": [ + { + "accounts": [ + 0, + 1 + ], + "data": "111157R57fqNzgMjCi7yd8cD1yQhPAwhedzS6uysMaAGbDUZUYiji1TswMPKaASzZW6nQT", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "GC3i2jSx8awwe9xBfbR9LBTrzgFPUE9b56kGnez3cWMeYXPS1yM6mge4Xp1VduEaRdv9ZLAkbP3k5gSwvSUUY9bRM8", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "2zt6UCCHp66bJGRS4G7bTsjdxFh6FQ9sBEyRfGyPQKxYisAw", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 9 + ], + "data": "1111cioyWkTQuLPfwxMoT2birGzJRhJTioHPSoXiyqTZ8i2Uit2xjR4zNTmWA8HgNbgfR", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 4, + 9, + 1, + 11, + 22 + ], + "data": "1", + "programIdIndex": 14, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 22, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 4 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 11, + "stackHeight": 3 + }, + { + "accounts": [ + 4 + ], + "data": "P", + "programIdIndex": 22, + "stackHeight": 3 + }, + { + "accounts": [ + 4, + 1 + ], + "data": "6dT8h4sobtbvT9qKUNHeauXpEosJQ1a41b9hrUEnnS1TT", + "programIdIndex": 22, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 1 + ], + "data": "3Bxs4iQWmNjpUu19", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 20, + 1, + 20 + ], + "data": "ThwfeqJLQw4J7bCaUkvS8A5UKCvYvGsaFj8FmQNki7hy7YHWqyeGfsMmdZJNFibM1J832FvaHUjrTk5PXKQwwtqckgekdhkQU1p5GpSD3WTJtUo3wxYzfMuQYuoRrnVkCgpVfRUxPfaA3RBRQd1jZ", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 20 + ], + "data": "BjBG9fDQbu1raSNbBZQYubkmLijGDjgXJHpedBBGGrFrgSFFPaBAwnF", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 4, + 20 + ], + "data": "6ApXSNCamGdm", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 20 + ], + "data": "31tb", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 25 + ], + "data": "fbF5zar7kCarqTeMRhpbp5ZD8mYY84z4dHKMtLQBd9mSDoTmbhs5F4nJ7vBM6cMGcrBnnamw4DSMWwGT1jDatLNqKXMRdjTnkbPQwVJpggVdpi1jzVo1ksMuARmpzB9B64EvxZgtGRPWY46LGqdQ1BDyhtGV6CEPTHtgDJtkkAPpRjtBahq32HsGpzWujdsD41WXc5bkw1baAKQ1Ca6byF1zqcaKEbc62REKZEDsCUcK3cTZcEEUWXpK9YJY6bmyZTWuxVLGvVVzQbixH6Pnz9FptvtDXaygYVwp2rUec4hJSHBoBhXQzU3GTAJ96FH8acu2PWfNirpCRHZ3mPdScHEtRFb6J3RD4sGcJoknn9RFt2JwunY1jx3LTpmT5NJdj8TN2C7awDQQBmqCMiKND7Byqm2Qo2z2FD3WQ5NxU7yApWictHMJDsNaHQnL7p68FbiN5Mqy9qYwkSEuYZ69eg9NSXryfhjuvWbuFUYesNjXbGP7tciTUa8F", + "programIdIndex": 12, + "stackHeight": 2 + } + ] + }, + { + "index": 5, + "instructions": [ + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 6 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 6 + ], + "data": "P", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 6, + 1 + ], + "data": "6bwXvLCdcB1UEj7Zy2uA3vMehQT3S3RMpmc5rvS4XsBd2", + "programIdIndex": 22, + "stackHeight": 2 + } + ] + }, + { + "index": 6, + "instructions": [ + { + "accounts": [ + 0, + 2 + ], + "data": "11116bYLo9rxSJafavUq2JFtAzXVr9gGTLdp8nq8DtrzRm2TtRqSRrLVYvo86Gbnaa3y3V", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 4, + 1, + 6, + 9 + ], + "data": "gHnaQDCHSv87P", + "programIdIndex": 22, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 9 + ], + "data": "3Bxs49Wh7iD1ZrBR", + "programIdIndex": 11, + "stackHeight": 2 + }, + { + "accounts": [ + 25 + ], + "data": "8jV3ThAnvn3jwQVVxYoxU8YDhChvVjpis3zDYBF31DvEHg5wXWbmSzuXGaQYLLovqFegZGmNKrbtRwtG9d66eRR7ZtH6GDFuRiWWcKZsKubrFie4PYTggHLgqhjoRbRWcdgLpU9YpLvKsJAkVHZ5ZjpQaMgt1YGe9wDVm6mR268EH1LvumetkmBWr742TrqVzgDqeA6KHDzNS2Tc4n36mbG5X4aCqBNAq4ct8SKJbaDg4KezTzUehHLmWEKPmyjv9G5vUGrsw79z172aMyXrAozBNgrHJ3GwVZJNBvBaMej7jHppuzggFXf6iUgqRBXMG7QTLnEYBwNX9yGhqg6gNb8qnLVzZ42qLy2VDjCvP8d9DzfmQMNRv5RYZaFUkF3Zku1FUot32rZYWRxCUwKGzuijbQ1q9zUDszHw4ED2sKntJRL7BPqgM9zLPr6tZFNovNDKNPWqyh892Pu5CdHbhnnxpJYgaSSW4zXYf19h5ZtZdHwiUDfMHmX1RhCViaFoNC2qTfiMcRWte6J7t3EjA2a8YReP369m", + "programIdIndex": 12, + "stackHeight": 2 + } + ] + } + ], + "loadedAddresses": { + "readonly": [ + "13ec7XdrjF3h3YcqBTFDSReRcUFwbCnJaAQspM4j6DDJ", + "So11111111111111111111111111111111111111112", + "TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf", + "8Wf5TiAheLUqBrKXeYg2JtAFFMWtKdG2BSFgqUcPVwTt", + "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1" + ], + "writable": [ + "MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e", + "5YxQFdt3Tr9zJLvkFccqXVUwhdTWJQc1fFg2YPbxvxeD", + "BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s" + ] + }, + "logMessages": [ + "Program 11111111111111111111111111111111 invoke [1]", + "Program 11111111111111111111111111111111 success", + "Program ComputeBudget111111111111111111111111111111 invoke [1]", + "Program ComputeBudget111111111111111111111111111111 success", + "Program ComputeBudget111111111111111111111111111111 invoke [1]", + "Program ComputeBudget111111111111111111111111111111 success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: CreateV2", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: MetadataPointerInstruction::Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1331 of 487147 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeMint2", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2094 of 484153 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]", + "Program log: Create", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1426 of 465370 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [3]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 459122 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2852 of 456052 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 17807 of 470703 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 4747 of 428251 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: UpdateAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 5089 of 421254 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: MintTo", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2126 of 413973 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: SetAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1477 of 409911 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program data: G3KpTd7rY3YHAAAAVW5pV2lzZQIAAABVV1AAAABodHRwczovL2lwZnMuaW8vaXBmcy9iYWZrcmVpY2ZjN3g2bTN5MzRyNGx1NmZqZmZjejJ3YXVnbGlwZ2o3NDVmNGdhampsaHZmeTd6YnZlNMsBCAEFzNTXQOeyJTkoysWAlBez5Ub6FXtJMwR1X49f8nO8LEOkVvpCj6ZaSXI8ROu+HGbghPhRLrDthjQHqpbcAuN8i/Nt/6S/2ho6nxeYBm4wkw9EL1p1bPq6AOnN4dwC43yL823/pL/aGjqfF5gGbjCTD0QvWnVs+roA6c3hrCTeagAAAAAAENhH488DAACsI/wGAAAAAHjF+1HRAgAAgMakfo0DAAbd9uHudY/eGEJdvORszdq2GvxNg7kNJ/69+SjYoYv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsI/wGAAAAAAAAAAAAAAAAAA==", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 402006 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 101297 of 499550 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: ExtendAccount", + "Program log: Account already has the correct size", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 3780 of 398253 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", + "Program log: CreateIdempotent", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1495 of 389213 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 382896 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 3107 of 379829 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 18034 of 394473 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: BuyV3", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: TransferChecked", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2977 of 340682 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program data: vdt/007mYe7LAQgBBczU10DnsiU5KMrFgJQXs+VG+hV7STMEdV+PXwEPx1EAAAAADq5Dw60qAAAB3ALjfIvzbf+kv9oaOp8XmAZuMJMPRC9adWz6ugDpzeGsJN5qAAAAAAG76k0HAAAA8mGUhDWlAwABD8dRAAAAAPLJgTikpgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAAAAAAABHixgAAAAAA3ALjfIvzbf+kv9oaOp8XmAZuMJMPRC9adWz6ugDpzeEeAAAAAAAAACHOPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAGJ1eQAAAAAAAAAAAAAAAAAAAAAAiBMAAAAAAAAIcWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEPx1EAAAAAAbvqTQcAAAABD8dRAAAAAAAAAAAAAAAAAAAAAAAAAAAhzj4AAAAAAAAAAAAAAAAA", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 327877 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 53046 of 376439 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success" + ], + "postBalances": [ + 99954797, + 2717800, + 1346200, + 0, + 1513840, + 0, + 1513840, + 7871099, + 0, + 1384126523, + 0, + 1, + 9700912471, + 1, + 3388612899, + 11149834, + 658254713, + 64284172293739, + 3104160, + 1857492067281, + 1020235881, + 230130698, + 70228638, + 4089842911, + 37292293, + 168261611 + ], + "postTokenBalances": [ + { + "accountIndex": 4, + "mint": "EfSg8hUBhwaC2nL5Q3djzzQRpXGgCXQkaNQiYJ3Spump", + "owner": "HKS28gGobkectMDxH8TFRZNrJyiabpnJtEXzyf6y8s2V", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "953074206298610", + "decimals": 6, + "uiAmount": 953074206.29861, + "uiAmountString": "953074206.29861" + } + }, + { + "accountIndex": 6, + "mint": "EfSg8hUBhwaC2nL5Q3djzzQRpXGgCXQkaNQiYJ3Spump", + "owner": "FoqFQ16otACQTdUSwjxiSPDJuZTcdg684gv1RrNia3C4", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "46925793701390", + "decimals": 6, + "uiAmount": 46925793.70139, + "uiAmountString": "46925793.70139" + } + } + ], + "preBalances": [ + 1499000000, + 0, + 0, + 0, + 0, + 0, + 0, + 6671099, + 0, + 0, + 0, + 1, + 9700912471, + 1, + 3388612899, + 11149834, + 651737713, + 64284172293739, + 3104160, + 1857492067281, + 1020235881, + 230130698, + 70228638, + 4089842911, + 37292293, + 168261611 + ], + "preTokenBalances": [], + "rewards": [], + "status": { + "Ok": null + } + }, + "slot": 461313715, + "transaction": [ + "Al830kFip5oFWq64i4FyQQtRrlj/eej4nlVqVhwHQm/6lXDFH1kkJKJkA1ZfFNhmsPneYpaSNT87Q2k769Z1DQyZsFRXsslEPM0f1N6ToKl4w4Lw6JPT90V55zkVGMBngUnDx9JkNZn0ya+6SU2tWoNj4L6yKcwvrPySzcupdvcPgAIABA/cAuN8i/Nt/6S/2ho6nxeYBm4wkw9EL1p1bPq6AOnN4csBCAEFzNTXQOeyJTkoysWAlBez5Ub6FXtJMwR1X49fHUncrF8vnvsvgCls5xeEW7l+JW/oTfQ2OMM+wViVkg0ppt9/UV7O2iBgCegF4hxFJr/BrHNhCznsqTI8bOxxN3PL8KZmDMgHsxqlQLKzUEg9eDTGLmdtPthLHc+gtoqKd4B2M97wplx9NySw1buqyLHiW4VEpd8TRiKCLcQ62uipJGOnf6OD++X0MC0Vkdy5/VQH65zXsw8p8u+85YbmC7wrVwZe8d1mVDC+YGumWWwClTAbre+LWvxBAUFQ9BJ038dEn7hCdn1vAe4xqObtni/0NHue2niWgsJWtd02lDryc7wsQ6RW+kKPplpJcjxE674cZuCE+FEusO2GNAeqlv1CBnAg5/ha2rogsnuQx/tZpyqiWXqe9XpFGoyIu+18AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVuD2k2Zaz0TbFWi/F1uqUYnLl/XS/ztlXSu2/W0YsAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAAjJclj04kifG7PRApFI4NgwtaE5na/xCEBI572Nvp+Fn705OSvgzrXwnnI2jYp1yjd7Dr2yNAZrlpZEXWNamQAAcLAgAHDAIAAACATxIAAAAAAA0ABQIgoQcADQAJA0ANAwAAAAAADBABFAkEFwALFg4PEhEKCBkMjgHWkEzsX4sxtAcAAABVbmlXaXNlAgAAAFVXUAAAAGh0dHBzOi8vaXBmcy5pby9pcGZzL2JhZmtyZWljZmM3eDZtM3kzNHI0bHU2ZmpmZmN6MndhdWdsaXBnajc0NWY0Z2FqamxodmZ5N3pidmU03ALjfIvzbf+kv9oaOp8XmAZuMJMPRC9adWz6ugDpzeEADAUJAAsZDAjqZsLLlkg+5Q4GAAYAAQsWAQEMERcBExYVCQQDAAYFAhgQCxkMGQcFHcT1F2VQDq5Dw60qAAAATnJTAAAAAAABG6DngEJJzfc2bPejKeKBMlAqmMPYkUywgxbjHFbC/IoDPU1ACD8UbggHDzUW", + "base64" + ], + "transactionIndex": 234, + "version": 0 + } + } + ] +} diff --git a/tests/fixtures/pump_multi_hop_20261025.json b/tests/fixtures/pump_multi_hop_20261025.json new file mode 100644 index 0000000..7306712 --- /dev/null +++ b/tests/fixtures/pump_multi_hop_20261025.json @@ -0,0 +1,738 @@ +{ + "cases": [ + { + "name": "official_pool_then_curve_multi_hop", + "signature": "g1fC9wYKdndDZAyMCWkfFAqUNBCzj1brvNb3aAnRjxkrVhaSzsvELXFXz11U3DdmbM2AeFbwcaSgG86BqxApvFZ", + "wire_rpc": { + "blockTime": 1792857598, + "meta": { + "computeUnitsConsumed": 330408, + "costUnits": 342704, + "err": null, + "fee": 110000, + "innerInstructions": [ + { + "index": 0, + "instructions": [ + { + "accounts": [ + 0, + 1 + ], + "data": "111157R57fqNzgMjCi7yd8cD1yQhPAwhedzS6uysMaAGbDUZUYiji1TswMPKaASzZW6nQT", + "programIdIndex": 17, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "GC3i2jSx8awwe9xBfbR9LBTrzgFPUE9b56kGnez3cWMeYXKVKFy48aGGgCCFsnW7KNcwSK5HwFW1oqdg5mpGRhbRM8", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "2zt6UCCHp66bJGRS4G7bTsjdxFh6FQ9sBEyRfGyPQKxYisAw", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 8 + ], + "data": "1111cioyWkTQuLPfwxMoT2birGzJRhJTioHPSoXiyqTZ8i2Uit2xjR4zNTmWA8HgNbgfR", + "programIdIndex": 17, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 9, + 8, + 1, + 17, + 24 + ], + "data": "1", + "programIdIndex": 32, + "stackHeight": 2 + }, + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 9 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 17, + "stackHeight": 3 + }, + { + "accounts": [ + 9 + ], + "data": "P", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 9, + 1 + ], + "data": "6RqEKvU6HozdvNpvqsqC7pKHvLDaGf7W6JEGUaMKFsupm", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 14, + 8, + 28, + 17, + 24 + ], + "data": "1", + "programIdIndex": 32, + "stackHeight": 2 + }, + { + "accounts": [ + 28 + ], + "data": "84eT", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 14 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 17, + "stackHeight": 3 + }, + { + "accounts": [ + 14 + ], + "data": "P", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 14, + 28 + ], + "data": "6RqEKvU6HozdvNpvqsqC7pKHvLDaGf7W6JEGUaMKFsupm", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 0, + 1 + ], + "data": "3Bxs4eQHmjXVhyyq", + "programIdIndex": 17, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 22, + 1, + 22 + ], + "data": "G39KkjFmSSvsp9rL284N1x1o4GjqWfwgpvFBSUyPhnZotWbkk6er13bxKpwQRfVRsk4NNhjsdoKWXds2z4gefCtmt3AdM1nHXMr2rPTjE2SPEwx3N7u", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 22 + ], + "data": "BjBG9fDQbu1raSNbBZQYubkmLijGDjgXJHpedBBGGrFrgSFFPaBAwnF", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 9, + 22 + ], + "data": "6ApXSNCamGdm", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 1, + 22 + ], + "data": "31tb", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 33 + ], + "data": "NjG2ksDpCjg2vBAkvbNwNzbTBtkyZDQb88PDWQjMroYL6grYWjrj4qLgzhHuLuc7Vm88sE96VnmXfwWimEfoC2eFN6MSJNpCVQNoGExjPJsr9JdRbHckX5qgaozExVPbhPq6o5JF9FvJhHN9Ta7Jyg6VDzJx5PXFwNoMQPo2WHwRXSD8QguNLYwZZsykDCu1k2AxxBBY66AMJtN7qBn29s21EvXHZEYWgUsfZqiZPuWQ9yZsom7rUg5JsvGXgEoUq46TCnLSWX3Sa4njfBXQyUbNXFUHtcUNxHxWNYVJrQve34oY9MitHB3oWYYJ6bKPPLbBzynMFvZTmYUxDugS5SaVcKUwno1GtXMskmxQ77ezBXGxjjeoTLwrDavNA5pC59Q1LveSyxSrpmtDgzn3ou7FTn6hkyG7isHW6JhuakuXTMgG6TdDCDg2tFNcpEBCuVy5DKNCb5cjryaKW3dMBE", + "programIdIndex": 19, + "stackHeight": 2 + } + ] + }, + { + "index": 1, + "instructions": [ + { + "accounts": [ + 1 + ], + "data": "84eT", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 3 + ], + "data": "111157Vt9WuCLrLm8Bv7v3tbuxTXo5Bq7vv6Fb1ngBYUyZPEU62jGZ4xnkMV46KCckXWDq", + "programIdIndex": 17, + "stackHeight": 2 + }, + { + "accounts": [ + 3 + ], + "data": "P", + "programIdIndex": 24, + "stackHeight": 2 + }, + { + "accounts": [ + 3, + 1 + ], + "data": "6MeUrS32FsZaaMBU7i6ndCe6ozfwT4krHfHdvoL8eDRLZ", + "programIdIndex": 24, + "stackHeight": 2 + } + ] + }, + { + "index": 2, + "instructions": [ + { + "accounts": [ + 20 + ], + "data": "84eT", + "programIdIndex": 23, + "stackHeight": 2 + }, + { + "accounts": [ + 0, + 10 + ], + "data": "111135fAZn8PZBEU8J8iUmUTdbmBE6po1LhhgEJXngDjhxmUTshDA8EHdXaMJUsXdMg3PE", + "programIdIndex": 17, + "stackHeight": 2 + }, + { + "accounts": [ + 10 + ], + "data": "P", + "programIdIndex": 23, + "stackHeight": 2 + }, + { + "accounts": [ + 10, + 20 + ], + "data": "6MeUrS32FsZaaMBU7i6ndCe6ozfwT4krHfHdvoL8eDRLZ", + "programIdIndex": 23, + "stackHeight": 2 + } + ] + }, + { + "index": 5, + "instructions": [ + { + "accounts": [ + 10, + 20, + 13, + 0 + ], + "data": "g7eSRZwiTurnL", + "programIdIndex": 23, + "stackHeight": 2 + }, + { + "accounts": [ + 13, + 20, + 16, + 7 + ], + "data": "hdAm9QA8DyPL4", + "programIdIndex": 23, + "stackHeight": 2 + }, + { + "accounts": [ + 35 + ], + "data": "F5sjDwsY6unG7Vuxump49QEE6GPqsKRRjbYtvmBf93sHQrJjyd2SWsqYMsC3jRbZjYqC6TpPoCa9YVFFmTuM7KrrgBEzsecRKsWW35TGCY4PvSRsecK9Ak5Gi6n7Xb5FtXSL29LVpz4CkRq6ZMxBDnLaPbb2BYNhRo4jvfZBQjpUFnpcu2QHfJa2j3ZG6PjnRHiVCQekDEZn3sGBUdV9fPHCr9Y1fzEwmSFyjXhVCBJkrpTRKhN8DHJxno5haENhinpsftYV6NaT9FkfK2y5pnCYjTAFzJdNM7Me4TZ8bzh4U8krcd8qvJRz6Ss3WAogEpjGzhXf12zeX1TN7rbPpLBqfHYF71b93BUXryppLsTC6WTcqJzANfCjPSGNQLTkP2cPmL8VQvMVT1drnzAdUoz2nUgLy7P7v3EBVNhyLVSd1zwEvweMGwjRAyUx4MUe3kYtoWiXPrrYno2w3Mro8TrHBTJVrnjbfRBtTgacu1zQdFjmUhyDxnKp4LaJKFctnmn6m9978PAAXXdxvzKUwf58EXBpZrcBuei5g5f1c73J5324DB9BbQpC45nFXR1MZZDwn4qD82SQPdqd5AsanLm45tE2AHm7cQPjowZ7MpPbKNKHAJv82WCQ6ytDFhxyjCL24pU9owU2dVUG2qJyatgRxXoAaLLKmKsMpaDKUPCAR5CZfXjxTKpCBa13it2t7", + "programIdIndex": 25, + "stackHeight": 2 + }, + { + "accounts": [ + 26, + 30, + 31, + 0, + 7, + 5, + 3, + 16, + 23, + 24, + 17, + 33, + 19, + 1, + 28, + 8, + 9, + 14 + ], + "data": "EscmTVC6NvfETrL1otmWhREDggH7X", + "programIdIndex": 19, + "stackHeight": 2 + }, + { + "accounts": [ + 5, + 28, + 14, + 7 + ], + "data": "h1WdvkWkwUXW5", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 9, + 1, + 3, + 8 + ], + "data": "gFVNA6XUw8Kcy", + "programIdIndex": 24, + "stackHeight": 3 + }, + { + "accounts": [ + 33 + ], + "data": "9TsSUqX1EufA2BpJyqWH324DfDhMu3qhRmuFSiJDzmVAyjhGyzbzB7vDVNKPSd8wv7F9VXMHiMSuqHhBsvriTrsEesvVmoJuzggcLmx6fdffKmsRrrAA3k1wPSyj8G98SkSNkrrgyu85SV5C5ibBFiVDQGPfPDakxFieYV2cxxdDDf2nUr8g9dTcy8FaDQ3kRpWzwxWo5GCooa9S6ryid1WMTbwYY5pMyr1xNGDgVFdihtQzD2qGXWCbuA4LNVyJnW9PLLVACpRxpcmza4wGubuG43yHBzBMZVkZ69fpCbnUWD3qxr7gCC1FM3swX5znzBbESLoGmBmaRhknJXfzR638oFDpGeD2tt9w24qRH6m9oFkCFqBxEZ8Qu8Td1Hv6cnu5aFGSKAzaEx3gpkfPJjH2fVgMbEEngsQt8s6mLy6k5q7coyn1HzM1ZSzquEmp49ZKiPEBCVj1CDLx95nR8CuhPJ6gDneVrewJTC5tmZBaYMaA92NDJZwkHb91cQdEHhpRMBeyN9J5ebWwzHbFqzFFhaeVpQt2fyDUXJw1xUF192f", + "programIdIndex": 19, + "stackHeight": 3 + } + ] + } + ], + "loadedAddresses": { + "readonly": [], + "writable": [] + }, + "logMessages": [ + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]", + "Program log: Instruction: CreateV2", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: MetadataPointerInstruction::Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1331 of 485765 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeMint2", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2094 of 482771 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]", + "Program log: Create", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1426 of 460988 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [3]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 454740 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2852 of 451670 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 19307 of 467821 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]", + "Program log: Create", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1495 of 385015 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [3]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 378698 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 3107 of 375627 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 18133 of 390349 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: Initialize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 4824 of 365854 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: TokenMetadataInstruction: UpdateAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 5166 of 358780 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: MintTo", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2126 of 351422 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: SetAuthority", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1477 of 347360 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program data: G3KpTd7rY3YPAAAARnJhbmNlIFZzIEphcGFuBwAAAE1lbWVXYXIqAAAAaHR0cHM6Ly9tZXRhZGF0YS5qN3RyYWNrZXIuaW8vbS9pUzFwWm5Tc1dEkGqSa3DQn5YpeAiT6kbIRpBHxziDiuRYGDjQPuonhf9F0KRI1oF1euQgDdX5W46C3mF00T8f9NRaFTpiLCbSkgeg7gUvefDJd46H38wlFS5JA8z2pDw6r2Q+fbLY0XseLfwX+3v045LhBSq17mBDRvgnGFoLrCT2EWoiOsuFdrr+1dxqAAAAAAAQ2EfjzwMAujSNABgiAAAAeMX7UdECAACAxqR+jQMABt324e51j94YQl285GzN2rYa/E2DuQ0n/r35KNihi/wAAFGnXo45VriLt1LFro/0CFI9JysLTPoCRaoGsZ5zE4bPujSNABgiAAAAAAAAAAAAAAEB", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 339678 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 164228 of 500000 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", + "Program log: CreateIdempotent", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: GetAccountDataSize", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 1495 of 325865 compute units", + "Program return: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb qgAAAAAAAAA=", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeImmutableOwner", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 734 of 319548 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]", + "Program log: Instruction: InitializeAccount3", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 3107 of 316481 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 22715 of 335772 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", + "Program log: CreateIdempotent", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 179 of 304559 compute units", + "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program 11111111111111111111111111111111 invoke [2]", + "Program 11111111111111111111111111111111 success", + "Program log: Initialize the associated token account", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 37 of 299470 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 229 of 297009 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 16594 of 313057 compute units", + "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", + "Program 11111111111111111111111111111111 invoke [1]", + "Program 11111111111111111111111111111111 success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [1]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 201 of 296313 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA invoke [1]", + "Program log: Instruction: MultiHopSwap", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 112 of 261523 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 112 of 248861 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program data: Z/RSHyz1d3f+1dxqAAAAAEcy3OayCgAAAPIFKgEAAAAAAAAAAAAAAADyBSoBAAAAb+BrAQXAAACVr417DwAAAADyBSoBAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAAAA7/6+AgAAAAAR80YnAQAAABHzRicBAAAAE/CTjcQkdFWIXilfKn8jXLG4GFA1iQxStgvX0ermnTwHoO4FL3nwyXeOh9/MJRUuSQPM9qQ8Oq9kPn2y2NF7HgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjqBnU1qOxwDQqX2cSlDp976NZXsciQaj4vjZ1Ja6ZIsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH6PSSVbHelkGfZnq/cNN0PUojdpY4Dn486kXNTq3lIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAbXVsdGlfaG9wX3N3YXAAAAAAAAAAAAAAAAAAAAAAiBMAAAAAAAB3f18BAAAAAOCJtxAEAAAAAAAAAAAAAAABya43amJbAwAAAAAAAAAAAAAAAAAAAAAAPAa8AgAAAAAAAAAAAAAAAA==", + "Program pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA invoke [2]", + "Program pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA consumed 2116 of 240383 compute units", + "Program pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]", + "Program log: Instruction: MultiHopCurveSwap", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: TransferChecked", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2977 of 192860 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [3]", + "Program log: Instruction: TransferChecked", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb consumed 2977 of 187370 compute units", + "Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success", + "Program data: vdt/007mYe6QapJrcNCflil4CJPqRshGkEfHOIOK5FgYONA+6ieF/wAAAAAAAAAAC5HY/Y/oAAABB6DuBS958Ml3joffzCUVLkkDzPakPDqvZD59stjRex7+1dxqAAAAAAAAAAAAAAAA9X7/SVPnAgAAAAAAAAAAAPXm7P3B6AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALfwX+3v045LhBSq17mBDRvgnGFoLrCT2EWoiOsuFdroeAAAAAAAAANNdLzEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAG11bHRpX2hvcF9zd2FwAAAAAAAAAAAAAAAAAAAAAACIEwAAAAAAAAAAAAAAAAAAAAAAAFGnXo45VriLt1LFro/0CFI9JysLTPoCRaoGsZ5zE4bPdNSstaoKAAAuCTq2wiwAAHTUrLWqCgAAHgAAAAAAAADTXS8xCAAAANNdLzEIAAAAAAAAAAAAAAA=", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [3]", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2170 of 176900 compute units", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 51919 of 224564 compute units", + "Program return: 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P C5HY/Y/oAAAAAAAAAAAAAA==", + "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success", + "Program pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA consumed 126252 of 296112 compute units", + "Program return: pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA C5HY/Y/oAAAAAAAAAAAAAA==", + "Program pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [1]", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 118 of 169860 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program 11111111111111111111111111111111 invoke [1]", + "Program 11111111111111111111111111111111 success" + ], + "postBalances": [ + 29512904014, + 2590800, + 11149834, + 1513840, + 7702527344, + 1513840, + 0, + 2179320, + 1493520, + 1513840, + 0, + 64321466186961, + 0, + 71475845206, + 1513840, + 1346200, + 1721866966, + 1, + 3104160, + 9700912471, + 1856043097572, + 1009200, + 1020235881, + 230130698, + 70228638, + 1260746836, + 4089842911, + 33103977, + 2626360, + 46715680, + 37292293, + 9272823, + 3388612899, + 168261611, + 1493520, + 4641093 + ], + "postTokenBalances": [ + { + "accountIndex": 3, + "mint": "Aijxkeq5L9iaDYZxfaXUhnHQj4cYeo8um6a3t5vzpump", + "owner": "WnBVqVTaiJk5hNbcwbHiffRVnMdf1aaxNU5JkSpvGub", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "255705136795915", + "decimals": 6, + "uiAmount": 255705136.795915, + "uiAmountString": "255705136.795915" + } + }, + { + "accountIndex": 5, + "mint": "6Vk3fAQWYEot6JbQb8Nx8j5wZeDnMhzk8FajjHhZpump", + "owner": "2LqWmWBNPr1Jm17ovm7GmUf9qbL4Z7sh6kJvfbRpj8FM", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "199364237569576", + "decimals": 6, + "uiAmount": 199364237.569576, + "uiAmountString": "199364237.569576" + } + }, + { + "accountIndex": 9, + "mint": "Aijxkeq5L9iaDYZxfaXUhnHQj4cYeo8um6a3t5vzpump", + "owner": "5hXezGZVX9N67LqKnfznLLrXqKzTFNEPbK6d5mdSamPo", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "744294863204085", + "decimals": 6, + "uiAmount": 744294863.204085, + "uiAmountString": "744294863.204085" + } + }, + { + "accountIndex": 13, + "mint": "So11111111111111111111111111111111111111112", + "owner": "2LqWmWBNPr1Jm17ovm7GmUf9qbL4Z7sh6kJvfbRpj8FM", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "71474356766", + "decimals": 9, + "uiAmount": 71.474356766, + "uiAmountString": "71.474356766" + } + }, + { + "accountIndex": 14, + "mint": "6Vk3fAQWYEot6JbQb8Nx8j5wZeDnMhzk8FajjHhZpump", + "owner": "5hXezGZVX9N67LqKnfznLLrXqKzTFNEPbK6d5mdSamPo", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "11763493646919", + "decimals": 6, + "uiAmount": 11763493.646919, + "uiAmountString": "11763493.646919" + } + }, + { + "accountIndex": 16, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5YxQFdt3Tr9zJLvkFccqXVUwhdTWJQc1fFg2YPbxvxeD", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1720378526", + "decimals": 9, + "uiAmount": 1.720378526, + "uiAmountString": "1.720378526" + } + } + ], + "preBalances": [ + 34524139854, + 0, + 11149834, + 0, + 7700027344, + 1513840, + 0, + 2179320, + 0, + 0, + 0, + 64321466186961, + 0, + 66498880973, + 0, + 1346200, + 1698831199, + 1, + 3104160, + 9700912471, + 1856043097572, + 1009200, + 1020235881, + 230130698, + 70228638, + 1260746836, + 4089842911, + 33103977, + 2626360, + 46715680, + 37292293, + 9272823, + 3388612899, + 168261611, + 1493520, + 4641093 + ], + "preTokenBalances": [ + { + "accountIndex": 5, + "mint": "6Vk3fAQWYEot6JbQb8Nx8j5wZeDnMhzk8FajjHhZpump", + "owner": "2LqWmWBNPr1Jm17ovm7GmUf9qbL4Z7sh6kJvfbRpj8FM", + "programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", + "uiTokenAmount": { + "amount": "211127731216495", + "decimals": 6, + "uiAmount": 211127731.216495, + "uiAmountString": "211127731.216495" + } + }, + { + "accountIndex": 13, + "mint": "So11111111111111111111111111111111111111112", + "owner": "2LqWmWBNPr1Jm17ovm7GmUf9qbL4Z7sh6kJvfbRpj8FM", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "66497392533", + "decimals": 9, + "uiAmount": 66.497392533, + "uiAmountString": "66.497392533" + } + }, + { + "accountIndex": 16, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5YxQFdt3Tr9zJLvkFccqXVUwhdTWJQc1fFg2YPbxvxeD", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1697342759", + "decimals": 9, + "uiAmount": 1.697342759, + "uiAmountString": "1.697342759" + } + } + ], + "rewards": [], + "status": { + "Ok": null + } + }, + "slot": 460910106, + "transaction": [ + "gQIAEw8AAADuplIcfoI5+NM+JsLRez/F4rPA3kDylJb82Vk9KDyiJAgkB6DuBS958Ml3joffzCUVLkkDzPakPDqvZD59stjRex6QapJrcNCflil4CJPqRshGkEfHOIOK5FgYONA+6ieF/wUq5den2qckpuqwpylUkYVa1KBnFmBnTE4DRVmAPWWjCLDxIpfBlHqo+hB8J8jBGWGjKr85tO6jmJ6F7BHSIzILenraVjsKcbQjbq96PNHHSzM4E8nhxnuDjJJD/LB5Ag5kEENds7PaqvY/r7TFmfsriA8CuQCUKk2gkRgBP/ugDw+AxLHokm3P8/Iuqu9Za+28sb5Pkzq/zvnNz/0SE+ET8JONxCR0VYheKV8qfyNcsbgYUDWJDFK2C9fR6uadPEXQpEjWgXV65CAN1flbjoLeYXTRPx/01FoVOmIsJtKSS9Sfo7G+q/kmSSDli65dBWcCj1SkqVfN5b8qLkWB6xeOoGdTWo7HANCpfZxKUOn3vo1lexyJBqPi+NnUlrpki6KLX9JqtHmmqcxsv2sLI+thiFo3HgEgrKkTvu89E4p4sLzLJxNLg3KurmvU76Ujt4LBz4XWJEPV3ghUoLSBYve0DoeojgT4YH71L6OoQsTUyujGi9d/LzRdxRzrh+3S1sxo3SrPopt+z8bNClx7MHrXlsw1WQ0UX9pfxe5yZoiy8TChts8jrPEe6Ry4uXPVdHZ0XrK7K84CS8RL7zApWZT4mDmhy33pWV3Nd9HChdVqdsj1K33kLk8feNqCH2xK2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2uon2zxvPQTlzwogKfA+M5jwhTle/v7xcfxkr4F0EBVuD2k2Zaz0TbFWi/F1uqUYnLl/XS/ztlXSu2/W0YsAabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAABBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGxcHOY40lZ9JkaLBeuVHRoo3MbhI0grXGdRSXcOYr8gbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpBt324e51j94YQl285GzN2rYa/E2DuQ0n/r35KNihi/wMFN78gl7GdpQlCBi7ZUBl9CmNMVbVcbTU+AkMGOmoYzqGXmnuD1SAyrz2Y1fk3C8Y1Y1Fwep0ifs3I9l5PHKmQSRuzH14/oHkF3OkaWVBmTeSOgdkR5ffbz61FEJgEMtRp16OOVa4i7dSxa6P9AhSPScrC0z6AkWqBrGecxOGz1jqfa4Amr8lmfXvlZydKTkUO3LQ/9RH7GB12vl/nRAib5q0pPGVjcCpyUw/tywHmVhD7aSF46JPEMaTmfgZlA+JC6ZE/h9VqhnxHNLS7BTTIztuCkvq7vcraYWOIeFw1oyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZrPE26wH8HE6IPSPItYRKtZo39mrdV8XprDtT4FnTXGTeQFkkftcYf6bSoHih4E35NyUX7aTiV4YWj1rLSreDquVKcJUog59hwLm4YHmJHBOSFuR6cbYvtzvschaUWHReoIYBAAAAAAAgoQcAAAAABBMYfwAgBwEAIAcBABECDAAXAQEAGRoYABcDAQARAgwAARYICRoAERggAhILBgwhExwOGB0iBwUN1pBM7F+LMbQPAAAARnJhbmNlIFZzIEphcGFuBwAAAE1lbWVXYXIqAAAAaHR0cHM6Ly9tZXRhZGF0YS5qN3RyYWNrZXIuaW8vbS9pUzFwWm5Tc1dEB6DuBS958Ml3joffzCUVLkkDzPakPDqvZD59stjRex4AAAAAAAAAAAAAAQADAAERGBUBAAoAFBEXFQEACgIAAAAA8gUqAQAAAAoRAAoDHxsPEBcYESMZExoeIRwUBwUNARwICQ4rZEkT6fZvlADyBSoBAAAAAQAAAAAAAAAKAAAJAAQCAAAAoCUmAAAAAAAhpFQ6PMMcXxvIz9bL0gxRYSqpBeUdN+2XL69G0mX++TEu6uN11L0o4eDDjcMoCQtZbP+iMvsijNwDCdkKMzgIKZMd9ctr5ClvtKTUCmDp3vp+SDiyExdlHzB7YgmCH5mmOmn7Blloe4XTnj+OEMOI51EUDkgxI1jg4iLfforiAQ==", + "base64" + ], + "transactionIndex": 126, + "version": 1 + } + } + ] +} diff --git a/tests/pump_execution.rs b/tests/pump_execution.rs index 3896839..5a6876b 100644 --- a/tests/pump_execution.rs +++ b/tests/pump_execution.rs @@ -3,6 +3,130 @@ use solana_streamer_sdk::{ }; use solana_transaction_status::EncodedConfirmedTransactionWithStatusMeta; +#[tokio::test] +async fn reported_alt_creates_and_multi_hop_survive_the_streamer_facade() { + use solana_sdk::pubkey::Pubkey; + use solana_streamer_sdk::streaming::{ + common::event_processor::process_shred_transaction, + event_parser::{ + common::{filter::EventTypeFilter, types::EventType}, + Protocol, + }, + shred::TransactionWithSlot, + }; + use std::sync::{Arc, Mutex}; + let filter = + EventTypeFilter::include_only(vec![EventType::PumpFunCreateToken, EventType::PumpFunTrade]); + for source in [ + include_str!("fixtures/pump_create_alt_20261026.json"), + include_str!("fixtures/pump_multi_hop_20261025.json"), + ] { + let fixture: serde_json::Value = serde_json::from_str(source).unwrap(); + for case in fixture["cases"].as_array().unwrap() { + let rpc: EncodedConfirmedTransactionWithStatusMeta = + serde_json::from_value(case["wire_rpc"].clone()).unwrap(); + let signed = rpc.transaction.transaction.decode().unwrap(); + signed.verify_and_hash_message().unwrap(); + let captured = Arc::new(Mutex::new(Vec::new())); + let output = captured.clone(); + process_shred_transaction( + TransactionWithSlot::new(signed, rpc.slot, 123456, Some(888)), + &[Protocol::PumpFun], + Some(&filter), + Arc::new(move |e| output.lock().unwrap().push(e)), + None, + ) + .await + .unwrap(); + let events = captured.lock().unwrap(); + assert_eq!(events.len(), 2, "{}", case["signature"]); + let DexEvent::PumpFunCreateTokenEvent(create) = &events[0] else { + panic!("create must be first") + }; + let DexEvent::PumpFunTradeEvent(trade) = &events[1] else { panic!("trade missing") }; + assert_eq!(create.ix_name, "create_v2"); + assert_eq!(create.mint, trade.mint); + assert!(trade.is_created_buy && trade.is_buy); + for event in &*events { + assert_eq!(event.metadata().tx_index, Some(888)); + assert_eq!(event.metadata().recv_us, 123456); + } + let multi_hop = trade.ix_name == "multi_hop_swap"; + if multi_hop { + assert!(trade.third_program.is_some()); + assert_eq!((trade.sol_amount, trade.token_amount, trade.quote_amount), (0, 0, 0)); + } else { + assert_eq!(trade.token_program, Pubkey::default()); + if trade.ix_name != "buy_exact_sol_in" { + assert_eq!( + trade.quote_mint, + Pubkey::default(), + "unknown quote must stay unknown" + ); + } + } + for mode in 0..3 { + let mut rpc = rpc.clone(); + if let Some(meta) = rpc.transaction.meta.as_mut() { + if let solana_transaction_status::option_serializer::OptionSerializer::Some( + logs, + ) = &mut meta.log_messages + { + if mode == 1 { + logs.clear(); + } + if mode == 2 { + logs.truncate(logs.len() / 2); + } + } + } + let rpc_events = parse_encoded_rpc_transaction_as_streamer_events( + &rpc, + 123456, + &[Protocol::PumpFun], + Some(&filter), + ) + .unwrap(); + let (meta, transaction) = + solana_streamer_sdk::parser_sdk::convert_rpc_to_grpc(&rpc).unwrap(); + let signature = transaction.signatures[0].clone(); + let grpc_events = solana_streamer_sdk::streaming::common::event_processor::parse_grpc_transaction_events( + solana_streamer_sdk::streaming::grpc::TransactionPretty { + slot: rpc.slot, tx_index: Some(888), recv_us: 123456, + grpc_tx: yellowstone_grpc_proto::prelude::SubscribeUpdateTransactionInfo { + signature, transaction: Some(transaction), meta: Some(meta), index: 888, + ..Default::default() + }, + ..Default::default() + }, &[Protocol::PumpFun], Some(&filter), None); + for executed in [rpc_events, grpc_events] { + assert!( + matches!(&executed[0], DexEvent::PumpFunCreateTokenEvent(c) if c.ix_name == "create_v2"), + "{} mode {mode}: {:?}", + case["signature"], + executed[0] + ); + let fill = executed + .iter() + .find_map(|e| match e { + DexEvent::PumpFunTradeEvent(t) if t.mint == trade.mint => Some(t), + _ => None, + }) + .unwrap(); + assert_eq!(fill.ix_name, trade.ix_name); + if multi_hop { + assert!(fill.third_program.is_some()); + assert_eq!( + (fill.sol_amount, fill.token_amount, fill.quote_amount), + (0, 255705136795915, 11728308720756) + ); + } + } + } + } + } +} + #[test] fn delta_sell_execution_survives_truncated_logs() { let fixture: serde_json::Value =