pub trait ActionInterface {
    type UserInfo: Serialize + JsonSchema;

    // Required methods
    fn on_init(&self, deps: Deps<'_>, config: &Config) -> StdResult<Vec<SubMsg>>;
    fn on_grid_creation<SIC: SwapInterfaceCollector + Serialize>(
        &self,
        deps: DepsMut<'_>,
        env: Env,
        info: &MessageInfo,
        config: &Config,
        position: &UserPosition<SIC>
    ) -> StdResult<Vec<SubMsg>>;
    fn on_before_swap_execution(
        &self,
        deps: DepsMut<'_>,
        config: &Config,
        position_id: u64
    ) -> StdResult<Vec<CosmosMsg>>;
    fn on_after_swap_execution<SIC: SwapInterfaceCollector>(
        &self,
        deps: DepsMut<'_>,
        config: &Config,
        position: &UserPosition<SIC>
    ) -> StdResult<Vec<SubMsg>>;
    fn on_remove_grid<SIC: SwapInterfaceCollector>(
        &self,
        deps: DepsMut<'_>,
        config: &Config,
        position: &UserPosition<SIC>
    ) -> StdResult<Vec<SubMsg>>;
    fn on_reply<SIC: SwapInterfaceCollector + Serialize>(
        &self,
        deps: DepsMut<'_>,
        env: Env,
        config: &Config,
        reply: Reply
    ) -> StdResult<Vec<SubMsg>>;
    fn on_query_check(
        &self,
        deps: Deps<'_>,
        config: &Config,
        position_id: u64
    ) -> StdResult<()>;
    fn execute_feature<SIC: SwapInterfaceCollector + Serialize + Clone + DeserializeOwned>(
        &self,
        deps: DepsMut<'_>,
        env: Env,
        info: &MessageInfo,
        config: &Config,
        feature: Binary
    ) -> StdResult<Vec<SubMsg>>;
    fn user_info(
        &self,
        deps: Deps<'_>,
        user: String,
        config: &Config
    ) -> StdResult<Self::UserInfo>;
}

Required Associated Types§

Required Methods§

source

fn on_init(&self, deps: Deps<'_>, config: &Config) -> StdResult<Vec<SubMsg>>

source

fn on_grid_creation<SIC: SwapInterfaceCollector + Serialize>( &self, deps: DepsMut<'_>, env: Env, info: &MessageInfo, config: &Config, position: &UserPosition<SIC> ) -> StdResult<Vec<SubMsg>>

source

fn on_before_swap_execution( &self, deps: DepsMut<'_>, config: &Config, position_id: u64 ) -> StdResult<Vec<CosmosMsg>>

source

fn on_after_swap_execution<SIC: SwapInterfaceCollector>( &self, deps: DepsMut<'_>, config: &Config, position: &UserPosition<SIC> ) -> StdResult<Vec<SubMsg>>

source

fn on_remove_grid<SIC: SwapInterfaceCollector>( &self, deps: DepsMut<'_>, config: &Config, position: &UserPosition<SIC> ) -> StdResult<Vec<SubMsg>>

source

fn on_reply<SIC: SwapInterfaceCollector + Serialize>( &self, deps: DepsMut<'_>, env: Env, config: &Config, reply: Reply ) -> StdResult<Vec<SubMsg>>

source

fn on_query_check( &self, deps: Deps<'_>, config: &Config, position_id: u64 ) -> StdResult<()>

source

fn execute_feature<SIC: SwapInterfaceCollector + Serialize + Clone + DeserializeOwned>( &self, deps: DepsMut<'_>, env: Env, info: &MessageInfo, config: &Config, feature: Binary ) -> StdResult<Vec<SubMsg>>

source

fn user_info( &self, deps: Deps<'_>, user: String, config: &Config ) -> StdResult<Self::UserInfo>

Object Safety§

This trait is not object safe.

Implementors§