feat: UniswapV4 integration test and fixes

- Biggest issue: We must encode the executor address, not the router address, in the USV4 swap encoder
This commit is contained in:
TAMARA LIPOWSKI
2025-02-19 18:12:11 -05:00
parent 81c8a04cbb
commit 45fdfc708d
6 changed files with 191 additions and 103 deletions

View File

@@ -1,7 +1,7 @@
use crate::encoding::{
errors::EncodingError,
evm::swap_encoder::swap_encoders::{
BalancerV2SwapEncoder, UniswapV2SwapEncoder, UniswapV3SwapEncoder,
BalancerV2SwapEncoder, UniswapV2SwapEncoder, UniswapV3SwapEncoder, UniswapV4SwapEncoder,
},
swap_encoder::SwapEncoder,
};
@@ -26,7 +26,7 @@ impl SwapEncoderBuilder {
"vm:balancer_v2" => Ok(Box::new(BalancerV2SwapEncoder::new(self.executor_address))),
"uniswap_v3" => Ok(Box::new(UniswapV3SwapEncoder::new(self.executor_address))),
// TODO replace this with V4 encoder once implemented
"uniswap_v4" => Ok(Box::new(UniswapV2SwapEncoder::new(self.executor_address))),
"uniswap_v4" => Ok(Box::new(UniswapV4SwapEncoder::new(self.executor_address))),
_ => Err(EncodingError::FatalError(format!(
"Unknown protocol system: {}",
self.protocol_system