Trait ProtocolAbiSwapEncoderTrait

Source
pub trait ProtocolAbiSwapEncoderTrait:
    Send
    + Sync
    + 'static {
    // Required methods
    fn encode_swap_in_amount_provided(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
        amount: U256,
        recipient: Address,
        payload: Bytes,
    ) -> Result<Bytes>;
    fn encode_swap_out_amount_provided(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
        amount: U256,
        recipient: Address,
        payload: Bytes,
    ) -> Result<Bytes>;
    fn swap_in_amount_offset(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
    ) -> Option<u32>;
    fn swap_out_amount_offset(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
    ) -> Option<u32>;
    fn swap_out_amount_return_offset(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
    ) -> Option<u32>;
    fn swap_in_amount_return_offset(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
    ) -> Option<u32>;
    fn swap_out_amount_return_script(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
    ) -> Option<Bytes>;
    fn swap_in_amount_return_script(
        &self,
        pool: &dyn Pool,
        token_from_address: Address,
        token_to_address: Address,
    ) -> Option<Bytes>;
}

Required Methods§

Source

fn encode_swap_in_amount_provided( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, amount: U256, recipient: Address, payload: Bytes, ) -> Result<Bytes>

Source

fn encode_swap_out_amount_provided( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, amount: U256, recipient: Address, payload: Bytes, ) -> Result<Bytes>

Source

fn swap_in_amount_offset( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, ) -> Option<u32>

Source

fn swap_out_amount_offset( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, ) -> Option<u32>

Source

fn swap_out_amount_return_offset( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, ) -> Option<u32>

Source

fn swap_in_amount_return_offset( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, ) -> Option<u32>

Source

fn swap_out_amount_return_script( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, ) -> Option<Bytes>

Source

fn swap_in_amount_return_script( &self, pool: &dyn Pool, token_from_address: Address, token_to_address: Address, ) -> Option<Bytes>

Implementors§