refactor: Update GasFeeStrategy to instance-based API and update docs

This commit is contained in:
ysq
2025-10-07 23:12:37 +08:00
parent e13c891cc9
commit 85154f6c01
28 changed files with 269 additions and 120 deletions
+32 -13
View File
@@ -13,12 +13,20 @@ This module supports users to configure strategies for SwqosType under different
Each (SwqosType, TradeType) combination can only configure one strategy. Subsequent strategy configurations will override previous ones.
### 2. Set Global Strategy (can also be configured individually)
### 2. Create GasFeeStrategy Instance
```rust
use sol_trade_sdk::common::GasFeeStrategy;
// Create a new GasFeeStrategy instance
let gas_fee_strategy = GasFeeStrategy::new();
```
### 3. Set Global Strategy (can also be configured individually)
```rust
use sol_trade_sdk::common::{gas_fee_strategy::GasFeeStrategy};
// Set global strategy (normal strategy)
GasFeeStrategy::set_global_fee_strategy(
gas_fee_strategy.set_global_fee_strategy(
150000, // cu_limit
500000, // cu_price
0.001, // buy tip
@@ -26,24 +34,24 @@ GasFeeStrategy::set_global_fee_strategy(
);
```
### 3. Configuring Single Strategy
### 4. Configuring Single Strategy
```rust
// Configure normal strategy for SwqosType::Jito during Buy
GasFeeStrategy::set_normal_fee_strategy(
// Configure normal strategy for SwqosType::Jito
gas_fee_strategy.set_normal_fee_strategy(
SwqosType::Jito,
xxxxx, // cu_limit
xxxx, // cu_price
xxxxx, // buy_tip
xxxxx, // sell_tip
xxxxx // sell_tip
);
```
### 4. Configuring High-Low Fee Strategy
### 5. Configuring High-Low Fee Strategy
```rust
// Configure high-low fee strategy for SwqosType::Jito during Buy
GasFeeStrategy::set_high_low_fee_strategy(
gas_fee_strategy.set_high_low_fee_strategy(
SwqosType::Jito,
TradeType::Buy,
xxxxx, // cu_limit
@@ -54,15 +62,26 @@ GasFeeStrategy::set_high_low_fee_strategy(
);
```
### 5. Viewing and Cleanup
### 6. Using in Trading Parameters
```rust
use sol_trade_sdk::TradeBuyParams;
let buy_params = TradeBuyParams {
// ... other parameters
gas_fee_strategy: gas_fee_strategy.clone(),
};
```
### 7. Viewing and Cleanup
```rust
// Remove a specific strategy
GasFeeStrategy::del(SwqosType::Jito, TradeType::Buy);
gas_fee_strategy.del_all(SwqosType::Jito, TradeType::Buy);
// View all strategies
GasFeeStrategy::print_all_strategies();
gas_fee_strategy.print_all_strategies();
// Clear all strategies
GasFeeStrategy::clear();
gas_fee_strategy.clear();
```
## 🔗 Related Documents