refactor: PR comments

- rename utils.rs to group_swaps.rs
- extend instead of push in order to avoid calling abi_encode_packed again
This commit is contained in:
TAMARA LIPOWSKI
2025-02-19 10:25:16 -05:00
parent ac831176d4
commit 5ab233ed0a
3 changed files with 8 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
mod group_swaps;
pub mod strategy_encoder_registry; pub mod strategy_encoder_registry;
mod strategy_encoders; mod strategy_encoders;
mod strategy_validators; mod strategy_validators;
mod utils;

View File

@@ -8,7 +8,7 @@ use crate::encoding::{
errors::EncodingError, errors::EncodingError,
evm::{ evm::{
approvals::permit2::Permit2, approvals::permit2::Permit2,
strategy_encoder::{strategy_validators::SplitSwapValidator, utils::group_swaps}, strategy_encoder::{group_swaps::group_swaps, strategy_validators::SplitSwapValidator},
swap_encoder::swap_encoder_registry::SwapEncoderRegistry, swap_encoder::swap_encoder_registry::SwapEncoderRegistry,
utils::{ utils::{
biguint_to_u256, bytes_to_address, encode_input, get_min_amount_for_solution, biguint_to_u256, bytes_to_address, encode_input, get_min_amount_for_solution,
@@ -190,11 +190,11 @@ impl StrategyEncoder for SplitSwapStrategyEncoder {
exact_out: solution.exact_out, exact_out: solution.exact_out,
router_address: solution.router_address.clone(), router_address: solution.router_address.clone(),
}; };
let mut grouped_protocol_data: Vec<Vec<u8>> = vec![]; let mut grouped_protocol_data: Vec<u8> = vec![];
for swap in grouped_swap.swaps.iter() { for swap in grouped_swap.swaps.iter() {
let protocol_data = let protocol_data =
swap_encoder.encode_swap(swap.clone(), encoding_context.clone())?; swap_encoder.encode_swap(swap.clone(), encoding_context.clone())?;
grouped_protocol_data.push(protocol_data); grouped_protocol_data.extend(protocol_data);
} }
let swap_data = self.encode_swap_header( let swap_data = self.encode_swap_header(
@@ -205,7 +205,7 @@ impl StrategyEncoder for SplitSwapStrategyEncoder {
EncodingError::FatalError("Invalid executor address".to_string()) EncodingError::FatalError("Invalid executor address".to_string())
})?, })?,
self.encode_executor_selector(swap_encoder.executor_selector()), self.encode_executor_selector(swap_encoder.executor_selector()),
grouped_protocol_data.abi_encode_packed(), grouped_protocol_data,
); );
swaps.push(swap_data); swaps.push(swap_data);
} }
@@ -286,7 +286,7 @@ impl StrategyEncoder for ExecutorStrategyEncoder {
)) ))
})?; })?;
let mut grouped_protocol_data: Vec<Vec<u8>> = vec![]; let mut grouped_protocol_data: Vec<u8> = vec![];
for swap in grouped_swap.swaps.iter() { for swap in grouped_swap.swaps.iter() {
let encoding_context = EncodingContext { let encoding_context = EncodingContext {
receiver: receiver.clone(), receiver: receiver.clone(),
@@ -294,14 +294,14 @@ impl StrategyEncoder for ExecutorStrategyEncoder {
router_address: router_address.clone(), router_address: router_address.clone(),
}; };
let protocol_data = swap_encoder.encode_swap(swap.clone(), encoding_context.clone())?; let protocol_data = swap_encoder.encode_swap(swap.clone(), encoding_context.clone())?;
grouped_protocol_data.push(protocol_data); grouped_protocol_data.extend(protocol_data);
} }
let executor_address = Bytes::from_str(swap_encoder.executor_address()) let executor_address = Bytes::from_str(swap_encoder.executor_address())
.map_err(|_| EncodingError::FatalError("Invalid executor address".to_string()))?; .map_err(|_| EncodingError::FatalError("Invalid executor address".to_string()))?;
Ok(( Ok((
grouped_protocol_data.abi_encode_packed(), grouped_protocol_data,
executor_address, executor_address,
Some( Some(
swap_encoder swap_encoder