From 651789b553c0410fe7b827b5fc557a8f7cbc370e Mon Sep 17 00:00:00 2001 From: sgxiang Date: Tue, 10 Jun 2025 00:54:42 +0800 Subject: [PATCH] refactor(pumpswap): refactor account handling logic in logs_parser and optimize account data extraction --- src/common/pumpswap/logs_parser.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/common/pumpswap/logs_parser.rs b/src/common/pumpswap/logs_parser.rs index 8715279..961945c 100755 --- a/src/common/pumpswap/logs_parser.rs +++ b/src/common/pumpswap/logs_parser.rs @@ -90,7 +90,7 @@ fn current_timestamp() -> i64 { } /// 从指令中解析PumpSwap指令 -pub fn parse_pumpswap_instruction(instruction: &CompiledInstruction, accounts: &[Pubkey]) -> Option { +pub fn parse_pumpswap_instruction(instruction: &CompiledInstruction, _accounts: &[Pubkey]) -> Option { if instruction.data.len() < 8 { return None; } @@ -98,6 +98,10 @@ pub fn parse_pumpswap_instruction(instruction: &CompiledInstruction, accounts: & let discriminator = &instruction.data[..8]; let data = &instruction.data[8..]; + let accounts: Vec = instruction.accounts.iter() + .map(|&idx| _accounts[idx as usize]) + .collect(); + match discriminator { d if d == discriminators::BUY_IX => { // buy指令参数: base_amount_out: u64, max_quote_amount_in: u64