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