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