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>;
}