From 7f3aca90ba20ec68fa6f3ba3267aa87cb2540d70 Mon Sep 17 00:00:00 2001 From: royvardhan Date: Wed, 19 Feb 2025 21:50:43 +0530 Subject: [PATCH] fix: update EncodingContext in strategy_encoder --- .../evm/strategy_encoder/strategy_encoders.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/encoding/evm/strategy_encoder/strategy_encoders.rs b/src/encoding/evm/strategy_encoder/strategy_encoders.rs index a9b3107..1d2aaf3 100644 --- a/src/encoding/evm/strategy_encoder/strategy_encoders.rs +++ b/src/encoding/evm/strategy_encoder/strategy_encoders.rs @@ -2,6 +2,7 @@ use std::{collections::HashSet, str::FromStr}; use alloy_primitives::{aliases::U24, FixedBytes, U256, U8}; use alloy_sol_types::SolValue; +use num_bigint::BigUint; use tycho_core::{keccak256, Bytes}; use crate::encoding::{ @@ -189,6 +190,9 @@ impl StrategyEncoder for SplitSwapStrategyEncoder { receiver: solution.router_address.clone(), exact_out: solution.exact_out, router_address: solution.router_address.clone(), + group_token_in: Some(tokens.first().unwrap().clone()), + group_token_out: Some(tokens.last().unwrap().clone()), + amount_out_min: Some(min_amount_out.clone()), }; let mut grouped_protocol_data: Vec = vec![]; for swap in grouped_swap.swaps.iter() { @@ -204,7 +208,7 @@ impl StrategyEncoder for SplitSwapStrategyEncoder { Bytes::from_str(swap_encoder.executor_address()).map_err(|_| { EncodingError::FatalError("Invalid executor address".to_string()) })?, - self.encode_executor_selector(swap_encoder.executor_selector()), + self.encode_executor_selector(swap_encoder.swap_selector()), grouped_protocol_data, ); swaps.push(swap_data); @@ -292,6 +296,9 @@ impl StrategyEncoder for ExecutorStrategyEncoder { receiver: receiver.clone(), exact_out: solution.exact_out, router_address: router_address.clone(), + group_token_in: Some(swap.token_in.clone()), + group_token_out: Some(swap.token_out.clone()), + amount_out_min: Some(BigUint::from(1u128)), }; let protocol_data = swap_encoder.encode_swap(swap.clone(), encoding_context.clone())?; grouped_protocol_data.extend(protocol_data); @@ -303,11 +310,7 @@ impl StrategyEncoder for ExecutorStrategyEncoder { Ok(( grouped_protocol_data, executor_address, - Some( - swap_encoder - .executor_selector() - .to_string(), - ), + Some(swap_encoder.swap_selector().to_string()), )) } @@ -964,4 +967,4 @@ mod tests { assert_eq!(hex_calldata[..520], expected_input); assert_eq!(hex_calldata[1288..], expected_swaps); } -} \ No newline at end of file +}