0.7.24-pre.1
This commit is contained in:
@@ -122,7 +122,7 @@ impl KbPumpSwapDecoder {
|
||||
"mint0",
|
||||
],
|
||||
)
|
||||
.or_else(|| kb_extract_account(&accounts, 1));
|
||||
.or_else(|| kb_extract_account(&accounts, 3));
|
||||
let token_b_mint = kb_extract_string_by_candidate_keys(
|
||||
parsed_json.as_ref(),
|
||||
&[
|
||||
@@ -134,7 +134,7 @@ impl KbPumpSwapDecoder {
|
||||
"mint1",
|
||||
],
|
||||
)
|
||||
.or_else(|| kb_extract_account(&accounts, 2));
|
||||
.or_else(|| kb_extract_account(&accounts, 4));
|
||||
let pool_v2 = kb_extract_string_by_candidate_keys(
|
||||
parsed_json.as_ref(),
|
||||
&[
|
||||
@@ -144,8 +144,9 @@ impl KbPumpSwapDecoder {
|
||||
"bondingCurveV2",
|
||||
"bonding_curve_v2",
|
||||
],
|
||||
)
|
||||
.or_else(|| kb_extract_account(&accounts, 3));
|
||||
);
|
||||
let pool_base_token_account = kb_extract_account(&accounts, 7);
|
||||
let pool_quote_token_account = kb_extract_account(&accounts, 8);
|
||||
let is_buy = kb_log_messages_contain_keyword(&log_messages, "buy");
|
||||
let is_sell = kb_log_messages_contain_keyword(&log_messages, "sell");
|
||||
if !is_buy && !is_sell {
|
||||
@@ -162,7 +163,9 @@ impl KbPumpSwapDecoder {
|
||||
"poolAccount": pool_account,
|
||||
"tokenAMint": token_a_mint,
|
||||
"tokenBMint": token_b_mint,
|
||||
"poolV2": pool_v2
|
||||
"poolV2": pool_v2,
|
||||
"poolBaseTokenAccount": pool_base_token_account,
|
||||
"poolQuoteTokenAccount": pool_quote_token_account
|
||||
});
|
||||
if is_buy {
|
||||
decoded_events.push(crate::KbPumpSwapDecodedEvent::BuyTrade(
|
||||
@@ -376,7 +379,17 @@ mod tests {
|
||||
Some(crate::KB_PUMP_SWAP_PROGRAM_ID.to_string()),
|
||||
Some("pump-amm".to_string()),
|
||||
Some(1),
|
||||
serde_json::json!(["PumpPool111", "TokenA111", "TokenB111", "PoolV2_111"]).to_string(),
|
||||
serde_json::json!([
|
||||
"PumpPool111",
|
||||
"User111",
|
||||
"GlobalConfig111",
|
||||
"TokenA111",
|
||||
"TokenB111",
|
||||
"UserBaseAta111",
|
||||
"UserQuoteAta111",
|
||||
"PoolBaseVault111",
|
||||
"PoolQuoteVault111"
|
||||
]).to_string(),
|
||||
None,
|
||||
None,
|
||||
Some(
|
||||
@@ -414,6 +427,14 @@ mod tests {
|
||||
assert_eq!(event.token_a_mint, Some("TokenA111".to_string()));
|
||||
assert_eq!(event.token_b_mint, Some("TokenB111".to_string()));
|
||||
assert_eq!(event.pool_v2, Some("PoolV2_111".to_string()));
|
||||
assert_eq!(
|
||||
event.payload_json.get("poolBaseTokenAccount"),
|
||||
Some(&serde_json::Value::String("PoolBaseVault111".to_string()))
|
||||
);
|
||||
assert_eq!(
|
||||
event.payload_json.get("poolQuoteTokenAccount"),
|
||||
Some(&serde_json::Value::String("PoolQuoteVault111".to_string()))
|
||||
);
|
||||
assert_eq!(event.trade_side, crate::KbSwapTradeSide::BuyBase);
|
||||
}
|
||||
crate::KbPumpSwapDecodedEvent::SellTrade(_) => {
|
||||
|
||||
Reference in New Issue
Block a user