1use abstract_ica::IbcResponseMsg;
2use cosmwasm_std::Empty;
3
4#[cosmwasm_schema::cw_serde]
6pub enum ExecuteMsg<BaseMsg, AppMsg, ReceiveMsg = Empty> {
7    Base(BaseMsg),
9    App(AppMsg),
11    IbcCallback(IbcResponseMsg),
13    Receive(ReceiveMsg),
15}
16
17#[cosmwasm_schema::cw_serde]
18pub struct InstantiateMsg<BaseMsg, AppMsg = Empty> {
19    pub base: BaseMsg,
21    pub app: AppMsg,
23}
24
25#[cosmwasm_schema::cw_serde]
26pub enum QueryMsg<BaseMsg, AppMsg = Empty> {
27    Base(BaseMsg),
29    App(AppMsg),
31}
32
33#[cosmwasm_schema::cw_serde]
34pub struct MigrateMsg<BaseMsg = Empty, AppMsg = Empty> {
35    pub base: BaseMsg,
37    pub app: AppMsg,
39}