feat(pumpswap): enhance PumpSwap trading functionality and logs parsing system

- Expand buy/sell trading logic with optimized execution flow
- Improve logs data structures and parser performance
- Enhance common utilities and pool management features
- Refactor main program architecture for better maintainability
- Update library export interfaces with improved API design
This commit is contained in:
sgxiang
2025-06-12 00:00:30 +08:00
parent 6f819be4e0
commit 165335af11
8 changed files with 828 additions and 235 deletions
+36
View File
@@ -252,10 +252,16 @@ impl PumpFun {
self.rpc.clone(),
self.payer.clone(),
mint,
creator,
buy_sol_cost,
slippage_basis_points,
self.priority_fee.clone(),
self.cluster.clone().lookup_table_key,
None,
None,
None,
None,
None,
).await
} else {
Err(anyhow::anyhow!("Unsupported trade platform: {}", trade_platform))
@@ -321,10 +327,16 @@ impl PumpFun {
self.fee_clients.clone(),
self.payer.clone(),
mint,
creator,
buy_sol_cost,
slippage_basis_points,
self.priority_fee.clone(),
self.cluster.clone().lookup_table_key,
None,
None,
None,
None,
None,
).await
} else {
Err(anyhow::anyhow!("Unsupported trade platform: {}", trade_platform))
@@ -378,10 +390,16 @@ impl PumpFun {
self.rpc.clone(),
self.payer.clone(),
mint.clone(),
creator,
percent,
None,
self.priority_fee.clone(),
self.cluster.clone().lookup_table_key,
None,
None,
None,
None,
None,
).await
} else {
Err(anyhow::anyhow!("Unsupported trade platform: {}", trade_platform))
@@ -413,10 +431,16 @@ impl PumpFun {
self.rpc.clone(),
self.payer.clone(),
mint.clone(),
creator,
amount,
None,
self.priority_fee.clone(),
self.cluster.clone().lookup_table_key,
None,
None,
None,
None,
None,
).await
} else {
Err(anyhow::anyhow!("Unsupported trade platform: {}", trade_platform))
@@ -450,10 +474,16 @@ impl PumpFun {
self.fee_clients.clone(),
self.payer.clone(),
mint,
creator,
percent,
None,
self.priority_fee.clone(),
self.cluster.clone().lookup_table_key,
None,
None,
None,
None,
None,
).await
} else {
Err(anyhow::anyhow!("Unsupported trade platform: {}", trade_platform))
@@ -485,10 +515,16 @@ impl PumpFun {
self.fee_clients.clone(),
self.payer.clone(),
mint,
creator,
amount,
None,
self.priority_fee.clone(),
self.cluster.clone().lookup_table_key,
None,
None,
None,
None,
None,
).await
} else {
Err(anyhow::anyhow!("Unsupported trade platform: {}", trade_platform))