fix: add maverick for build

This commit is contained in:
zach
2025-04-11 08:43:03 +08:00
parent bd642d7b45
commit bab30e3958
2 changed files with 22 additions and 7 deletions

View File

@@ -3,8 +3,8 @@ use std::collections::HashMap;
use crate::encoding::{ use crate::encoding::{
errors::EncodingError, errors::EncodingError,
evm::swap_encoder::swap_encoders::{ evm::swap_encoder::swap_encoders::{
BalancerV2SwapEncoder, CurveSwapEncoder, EkuboSwapEncoder, UniswapV2SwapEncoder, BalancerV2SwapEncoder, CurveSwapEncoder, EkuboSwapEncoder, MaverickV2SwapEncoder,
UniswapV3SwapEncoder, UniswapV4SwapEncoder, UniswapV2SwapEncoder, UniswapV3SwapEncoder, UniswapV4SwapEncoder,
}, },
models::Chain, models::Chain,
swap_encoder::SwapEncoder, swap_encoder::SwapEncoder,
@@ -76,6 +76,11 @@ impl SwapEncoderBuilder {
"vm:curve" => { "vm:curve" => {
Ok(Box::new(CurveSwapEncoder::new(self.executor_address, self.chain, self.config)?)) Ok(Box::new(CurveSwapEncoder::new(self.executor_address, self.chain, self.config)?))
} }
"vm::maverick_v2" => Ok(Box::new(MaverickV2SwapEncoder::new(
self.executor_address,
self.chain,
self.config,
)?)),
_ => Err(EncodingError::FatalError(format!( _ => Err(EncodingError::FatalError(format!(
"Unknown protocol system: {}", "Unknown protocol system: {}",
self.protocol_system self.protocol_system

View File

@@ -570,9 +570,14 @@ pub struct MaverickV2SwapEncoder {
} }
impl SwapEncoder for MaverickV2SwapEncoder { impl SwapEncoder for MaverickV2SwapEncoder {
fn new(executor_address: String) -> Self { fn new(
Self { executor_address } executor_address: String,
_chain: Chain,
_config: Option<HashMap<String, String>>,
) -> Result<Self, EncodingError> {
Ok(Self { executor_address })
} }
fn encode_swap( fn encode_swap(
&self, &self,
swap: Swap, swap: Swap,
@@ -1451,12 +1456,17 @@ mod tests {
// The receiver was generated with `makeAddr("bob") using forge` // The receiver was generated with `makeAddr("bob") using forge`
receiver: Bytes::from("0x1d96f2f6bef1202e4ce1ff6dad0c2cb002861d3e"), receiver: Bytes::from("0x1d96f2f6bef1202e4ce1ff6dad0c2cb002861d3e"),
exact_out: false, exact_out: false,
router_address: Bytes::zero(20), router_address: Some(Bytes::default()),
group_token_in: token_in.clone(), group_token_in: token_in.clone(),
group_token_out: token_out.clone(), group_token_out: token_out.clone(),
}; };
let encoder = let encoder = MaverickV2SwapEncoder::new(
MaverickV2SwapEncoder::new(String::from("0x543778987b293C7E8Cf0722BB2e935ba6f4068D4")); String::from("0x543778987b293C7E8Cf0722BB2e935ba6f4068D4"),
TychoCoreChain::Ethereum.into(),
None,
)
.unwrap();
let encoded_swap = encoder let encoded_swap = encoder
.encode_swap(swap, encoding_context) .encode_swap(swap, encoding_context)
.unwrap(); .unwrap();