diff --git a/examples/quickstart/main.rs b/examples/quickstart/main.rs index 77a18c9..e0db168 100644 --- a/examples/quickstart/main.rs +++ b/examples/quickstart/main.rs @@ -10,7 +10,7 @@ use tycho_execution::encoding::{ strategy_encoder::strategy_encoder_registry::EVMStrategyEncoderRegistry, tycho_encoder::EVMTychoEncoder, }, - models::{Chain, Solution, Swap}, + models::{Solution, Swap}, strategy_encoder::StrategyEncoderRegistry, tycho_encoder::TychoEncoder, }; @@ -23,13 +23,13 @@ fn main() { let user_address = Bytes::from_str("0xcd09f75E2BF2A4d11F3AB23f1389FcC1621c0cc2") .expect("Failed to create user address"); - let eth_chain = Chain::from(TychoCoreChain::Ethereum); // Initialize the encoder let strategy_encoder_registry = - EVMStrategyEncoderRegistry::new(eth_chain.clone(), None, signer_pk.clone()) + EVMStrategyEncoderRegistry::new(TychoCoreChain::Ethereum, None, signer_pk.clone()) .expect("Failed to create strategy encoder registry"); - let encoder = EVMTychoEncoder::new(strategy_encoder_registry, router_address, eth_chain) - .expect("Failed to create encoder"); + let encoder = + EVMTychoEncoder::new(strategy_encoder_registry, router_address, TychoCoreChain::Ethereum) + .expect("Failed to create encoder"); // ------------------- Encode a simple swap ------------------- diff --git a/src/encoding/evm/strategy_encoder/strategy_encoder_registry.rs b/src/encoding/evm/strategy_encoder/strategy_encoder_registry.rs index a245476..ddcfcd9 100644 --- a/src/encoding/evm/strategy_encoder/strategy_encoder_registry.rs +++ b/src/encoding/evm/strategy_encoder/strategy_encoder_registry.rs @@ -21,10 +21,11 @@ pub struct EVMStrategyEncoderRegistry { impl StrategyEncoderRegistry for EVMStrategyEncoderRegistry { fn new( - chain: Chain, + chain: tycho_core::dto::Chain, executors_file_path: Option<&str>, signer_pk: Option, ) -> Result { + let chain = Chain::from(chain); let swap_encoder_registry = SwapEncoderRegistry::new(executors_file_path, chain.clone())?; let mut strategies: HashMap> = HashMap::new(); diff --git a/src/encoding/evm/tycho_encoder.rs b/src/encoding/evm/tycho_encoder.rs index baa4f0f..d9912ff 100644 --- a/src/encoding/evm/tycho_encoder.rs +++ b/src/encoding/evm/tycho_encoder.rs @@ -31,10 +31,11 @@ impl EVMTychoEncoder { pub fn new( strategy_registry: S, router_address: String, - chain: Chain, + chain: tycho_core::dto::Chain, ) -> Result { let router_address = Bytes::from_str(&router_address) .map_err(|_| EncodingError::FatalError("Invalid router address".to_string()))?; + let chain: Chain = Chain::from(chain); if chain.name != *"ethereum" { return Err(EncodingError::InvalidInput( "Currently only Ethereum is supported".to_string(), @@ -151,10 +152,6 @@ mod tests { strategy: Box, } - fn eth_chain() -> Chain { - TychoCoreChain::Ethereum.into() - } - fn dai() -> Bytes { Bytes::from_str("0x6b175474e89094c44da98b954eedeac495271d0f").unwrap() } @@ -169,7 +166,7 @@ mod tests { impl StrategyEncoderRegistry for MockStrategyRegistry { fn new( - _chain: Chain, + _chain: tycho_core::dto::Chain, _executors_file_path: Option<&str>, _signer_pk: Option, ) -> Result { @@ -210,11 +207,12 @@ mod tests { } fn get_mocked_tycho_encoder() -> EVMTychoEncoder { - let strategy_registry = MockStrategyRegistry::new(eth_chain(), None, None).unwrap(); + let strategy_registry = + MockStrategyRegistry::new(TychoCoreChain::Ethereum, None, None).unwrap(); EVMTychoEncoder::new( strategy_registry, "0x1234567890abcdef1234567890abcdef12345678".to_string(), - eth_chain(), + TychoCoreChain::Ethereum, ) .unwrap() } diff --git a/src/encoding/strategy_encoder.rs b/src/encoding/strategy_encoder.rs index 101eaa4..89a128f 100644 --- a/src/encoding/strategy_encoder.rs +++ b/src/encoding/strategy_encoder.rs @@ -1,10 +1,6 @@ -use tycho_core::Bytes; +use tycho_core::{dto::Chain, Bytes}; -use crate::encoding::{ - errors::EncodingError, - models::{Chain, Solution}, - swap_encoder::SwapEncoder, -}; +use crate::encoding::{errors::EncodingError, models::Solution, swap_encoder::SwapEncoder}; /// Encodes a solution using a specific strategy. pub trait StrategyEncoder {