- Move all evm code inside evm directory - StrategyEncoder: - Kept StrategyEncoder trait but created a new one: EVMStrategyEncoder to implement encode_protocol_header (that is evm specific). - All StrategyEncoders implement both traits now - Renamed DefaultStrategySelector -> EVMStrategySelector - RouterEncoder: - Created a RouterEncoder trait and a EVMRouterEncoder that implements it - Moved utils inside evm directory as well - Renamed config.json -> executor_addresses.json and moved it to a higher config directory - Make alloy optional and dependent on the evm feature gate --- don't change below this line --- ENG-4075 <#DTT#>
13 lines
350 B
Rust
13 lines
350 B
Rust
use anyhow::Error;
|
|
|
|
use crate::encoding::models::{EncodingContext, Swap};
|
|
|
|
#[allow(dead_code)]
|
|
pub trait SwapEncoder: Sync + Send {
|
|
fn new(executor_address: String) -> Self
|
|
where
|
|
Self: Sized;
|
|
fn encode_swap(&self, swap: Swap, encoding_context: EncodingContext) -> Result<Vec<u8>, Error>;
|
|
fn executor_address(&self) -> &str;
|
|
}
|