Skip to main content

sol_parser_sdk/
lib.rs

1#![allow(clippy::too_many_arguments)]
2
3// 核心模块 - 扁平化结构
4pub mod accounts; // 账户解析器
5pub mod common;
6pub mod core;
7pub mod cpmm_creator_fee;
8pub mod instr; // 指令解析器
9pub mod logs; // 日志解析器
10pub mod stock_prices;
11pub mod stonkfun_registry;
12pub mod transaction_cost;
13pub mod transaction_route;
14pub mod utils;
15// 预热模块
16pub mod warmup;
17#[cfg(test)]
18mod wrapped_pumpfun_rpc_analyzer;
19
20// gRPC 模块 - 支持gRPC订阅和过滤
21pub mod grpc;
22
23// ShredStream 模块 - 支持 Jito ShredStream 订阅
24pub mod shredstream;
25
26// RPC 解析模块 - 支持直接从RPC解析交易
27pub mod rpc_parser;
28
29// 兼容性别名
30pub mod parser {
31    pub use crate::core::*;
32}
33
34// 重新导出主要API - 简化的单一入口解析器
35pub use core::{
36    parse_logs_only,
37    parse_logs_streaming,
38    // 主要解析函数
39    parse_transaction_events,
40    // 流式解析函数
41    parse_transaction_events_streaming,
42    parse_transaction_with_listener,
43    parse_transaction_with_streaming_listener,
44    // 事件类型
45    DexEvent,
46    // 事件监听器
47    EventListener,
48    EventMetadata,
49    ParsedEvent,
50    StreamingEventListener,
51};
52
53// 导出预热函数
54pub use warmup::warmup_parser;
55
56// 导出 RPC 解析函数
57pub use grpc::{yellowstone_message_version, YellowstoneMessageVersion};
58pub use rpc_parser::{
59    convert_rpc_to_grpc, parse_rpc_transaction, parse_rpc_transaction_cost_with_signature,
60    parse_rpc_transaction_with_cost, parse_transaction_from_rpc, ParseError, ParsedRpcTransaction,
61};
62pub use stonkfun_registry::{StonkFunGraduatedPool, StonkFunPoolRegistry};
63pub use transaction_cost::{
64    parse_rpc_transaction_cost, parse_shred_transaction_cost, parse_yellowstone_transaction_cost,
65    SwqosProvider, SwqosTipAccountGroup, TipPayment, TransactionCost, SWQOS_TIP_ACCOUNT_GROUPS,
66};
67pub use transaction_route::{
68    analyze_rpc_transaction_routes, analyze_yellowstone_transaction_routes, InstructionPosition,
69    NativeTokenAction, RouteNativeTokenAction, RouteSwapLeg, RouteTokenTransfer,
70    RouteUnknownInvocation, SwapProtocol, TransactionRoute,
71};
72
73// 账户 / RPC 工具(非 DEX 业务)
74pub use accounts::{rpc_resolve_user_wallet_pubkey, user_wallet_pubkey_for_onchain_account};