use cosmwasm_std::{DepsMut, Env, MessageInfo, Response};
use schemars::JsonSchema;
use serde::Serialize;
use crate::base::handler::Handler;
pub trait ExecuteEndpoint: Handler {
type ExecuteMsg: Serialize + JsonSchema;
fn execute(
self,
deps: DepsMut,
env: Env,
info: MessageInfo,
msg: Self::ExecuteMsg,
) -> Result<Response, Self::Error>;
}
pub trait CustomExecuteHandler<Module: Handler>: Sized {
type ExecuteMsg;
fn try_into_base(self) -> Result<Self::ExecuteMsg, Self>;
fn custom_execute(
self,
deps: DepsMut,
env: Env,
info: MessageInfo,
module: Module,
) -> Result<Response, Module::Error>;
}