Trait StrategyEncoder

Source
pub trait StrategyEncoder {
    // Required methods
    fn encode_strategy(
        &self,
        solution: &Solution<'_>,
    ) -> Result<EncodedSolution, EncodingError>;
    fn get_swap_encoder(
        &self,
        protocol_system: &str,
    ) -> Option<&Box<dyn SwapEncoder>>;
    fn clone_box(&self) -> Box<dyn StrategyEncoder>;
}
Expand description

A trait that defines how to encode a Solution for execution.

Required Methods§

Source

fn encode_strategy( &self, solution: &Solution<'_>, ) -> Result<EncodedSolution, EncodingError>

encode_strategy takes a Solution, which contains all the necessary information about the swaps to be performed, and encodes it into a format that can be executed by the router or executor contracts.

§Arguments
  • solution - The Solution to encode, containing swap details, amounts, and execution path
§Returns
  • Result<EncodedSwaps, EncodingError>
Source

fn get_swap_encoder( &self, protocol_system: &str, ) -> Option<&Box<dyn SwapEncoder>>

Retrieves the swap encoder for a specific protocol system.

§Arguments
  • protocol_system - The identifier of the protocol system (e.g., “uniswap_v2”)
§Returns
  • Option<&Box<dyn SwapEncoder>> - The swap encoder for the protocol if available
Source

fn clone_box(&self) -> Box<dyn StrategyEncoder>

Creates a cloned instance of the strategy encoder.

Implementors§