From 2b9f9a99f2f87436d386d8a02fbb3a3edce1ffa7 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 Aug 2025 10:05:57 +0200 Subject: [PATCH] test: remove partial_fill_offset from MockRFQState --- .../evm/swap_encoder/swap_encoders.rs | 21 ++++++++++++----- src/encoding/evm/testing_utils.rs | 18 ++------------- .../optimized_transfers_integration_tests.rs | 23 ++++++++++++------- 3 files changed, 32 insertions(+), 30 deletions(-) diff --git a/src/encoding/evm/swap_encoder/swap_encoders.rs b/src/encoding/evm/swap_encoder/swap_encoders.rs index 5f3d9c2..330baec 100644 --- a/src/encoding/evm/swap_encoder/swap_encoders.rs +++ b/src/encoding/evm/swap_encoder/swap_encoders.rs @@ -868,7 +868,7 @@ impl SwapEncoder for HashflowSwapEncoder { let hashflow_router_address = config .get("hashflow_router_address") .ok_or(EncodingError::FatalError( - "Missing bebop settlement address in config".to_string(), + "Missing hashflow router address in config".to_string(), ))? .to_string(); let native_token_address = chain.native_token().address; @@ -2123,8 +2123,17 @@ mod tests { }; let bebop_state = MockRFQState { quote_amount_out, - quote_data: vec![("calldata".to_string(), bebop_calldata.clone())], - quote_partial_fill_offset: partial_fill_offset, + quote_data: HashMap::from([ + ("calldata".to_string(), bebop_calldata.clone()), + ( + "partial_fill_offset".to_string(), + Bytes::from( + partial_fill_offset + .to_be_bytes() + .to_vec(), + ), + ), + ]), }; let token_in = Bytes::from("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"); // USDC @@ -2232,7 +2241,6 @@ mod tests { #[test] fn test_encode_hashflow_single_with_protocol_state() { // 3000 USDC -> 1 WETH using a mocked RFQ state to get a quote - let partial_fill_offset = 12u64; let quote_amount_out = BigUint::from_str("1000000000000000000").unwrap(); let hashflow_component = ProtocolComponent { @@ -2295,8 +2303,9 @@ mod tests { let hashflow_calldata = Bytes::from(hashflow_quote_data_values); let hashflow_state = MockRFQState { quote_amount_out, - quote_data: hashflow_quote_data, - quote_partial_fill_offset: partial_fill_offset, + quote_data: hashflow_quote_data + .into_iter() + .collect(), }; let token_in = Bytes::from("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"); // USDC diff --git a/src/encoding/evm/testing_utils.rs b/src/encoding/evm/testing_utils.rs index e769ac8..fb864a6 100644 --- a/src/encoding/evm/testing_utils.rs +++ b/src/encoding/evm/testing_utils.rs @@ -17,8 +17,7 @@ use tycho_common::{ #[derive(Debug)] pub struct MockRFQState { pub quote_amount_out: BigUint, - pub quote_data: Vec<(String, Bytes)>, - pub quote_partial_fill_offset: u64, + pub quote_data: HashMap, } impl ProtocolSim for MockRFQState { fn fee(&self) -> f64 { @@ -82,25 +81,12 @@ impl IndicativelyPriced for MockRFQState { &self, params: GetAmountOutParams, ) -> Result { - let mut quote_attributes: HashMap = HashMap::new(); - for (attr, value) in &self.quote_data { - quote_attributes.insert(attr.clone(), value.clone()); - } - quote_attributes.insert( - "partial_fill_offset".to_string(), - Bytes::from( - self.quote_partial_fill_offset - .to_be_bytes() - .to_vec(), - ), - ); - Ok(SignedQuote { base_token: params.token_in, quote_token: params.token_out, amount_in: params.amount_in, amount_out: self.quote_amount_out.clone(), - quote_attributes, + quote_attributes: self.quote_data.clone(), }) } } diff --git a/tests/optimized_transfers_integration_tests.rs b/tests/optimized_transfers_integration_tests.rs index d203143..3e20c76 100644 --- a/tests/optimized_transfers_integration_tests.rs +++ b/tests/optimized_transfers_integration_tests.rs @@ -653,8 +653,17 @@ fn test_uniswap_v3_bebop() { let bebop_state = MockRFQState { quote_amount_out, - quote_data: vec![("calldata".to_string(), bebop_calldata)], - quote_partial_fill_offset: partial_fill_offset, + quote_data: HashMap::from([ + ("calldata".to_string(), bebop_calldata), + ( + "partial_fill_offset".to_string(), + Bytes::from( + partial_fill_offset + .to_be_bytes() + .to_vec(), + ), + ), + ]), }; let bebop_component = ProtocolComponent { @@ -719,7 +728,7 @@ fn test_hashflow() { let hashflow_state = MockRFQState { quote_amount_out, - quote_data: vec![ + quote_data: HashMap::from([ ( "pool".to_string(), Bytes::from_str("0x478eca1b93865dca0b9f325935eb123c8a4af011").unwrap(), @@ -763,8 +772,7 @@ fn test_hashflow() { .unwrap(), ), ("signature".to_string(), Bytes::from_str("0x6ddb3b21fe8509e274ddf46c55209cdbf30360944abbca6569ed6b26740d052f419964dcb5a3bdb98b4ed1fb3642a2760b8312118599a962251f7a8f73fe4fbe1c").unwrap()), - ], - quote_partial_fill_offset: 0, + ]), }; let hashflow_component = ProtocolComponent { @@ -851,7 +859,7 @@ fn test_uniswap_v3_hashflow() { let hashflow_state = MockRFQState { quote_amount_out, - quote_data: vec![ + quote_data: HashMap::from([ ( "pool".to_string(), Bytes::from_str("0x478eca1b93865dca0b9f325935eb123c8a4af011").unwrap(), @@ -895,8 +903,7 @@ fn test_uniswap_v3_hashflow() { .unwrap(), ), ("signature".to_string(), Bytes::from_str("0x6ddb3b21fe8509e274ddf46c55209cdbf30360944abbca6569ed6b26740d052f419964dcb5a3bdb98b4ed1fb3642a2760b8312118599a962251f7a8f73fe4fbe1c").unwrap()), - ], - quote_partial_fill_offset: 0, + ]), }; let hashflow_component = ProtocolComponent {