feat: Simplify StrategyEncoders and RouterEncoder

No more SingleSwapStrategyEncoder or SequentialStrategyEncoder
No more batch routing (so no need for batch permits as well). If multiple solutions are found, return multiple Transactions

--- don't change below this line ---
ENG-4076 <#DTT#>
This commit is contained in:
Diana Carvalho
2025-01-17 16:21:26 +00:00
parent b07cb9bc76
commit 38b8bb0e78
9 changed files with 26 additions and 186 deletions

View File

@@ -1,8 +1,5 @@
use crate::encoding::{
evm::strategy_encoder::encoder::{
SequentialStrategyEncoder, SingleSwapStrategyEncoder, SplitSwapStrategyEncoder,
StraightToPoolStrategyEncoder,
},
evm::strategy_encoder::encoder::{SplitSwapStrategyEncoder, StraightToPoolStrategyEncoder},
models::Solution,
strategy_encoder::{StrategyEncoder, StrategySelector},
};
@@ -13,14 +10,6 @@ impl StrategySelector for EVMStrategySelector {
fn select_strategy(&self, solution: &Solution) -> Box<dyn StrategyEncoder> {
if solution.straight_to_pool {
Box::new(StraightToPoolStrategyEncoder {})
} else if solution.swaps.len() == 1 {
Box::new(SingleSwapStrategyEncoder {})
} else if solution
.swaps
.iter()
.all(|s| s.split == 0.0)
{
Box::new(SequentialStrategyEncoder {})
} else {
Box::new(SplitSwapStrategyEncoder {})
}