new API with third party integrators
Closed this issue · 1 comments
larry0x commented
a factory contract must implement the following execute msg:
#[cw_serde]
enum FactoryExecuteMsg {
Register(RegisterMsg),
}
#[cw_serde]
struct RegisterMsg {
pub src: IbcEndpoint,
pub controller: String,
pub data: Binary,
}
#[cw_serde]
pub struct RegisterResponse {
pub host: String,
}
a sender contract that wishes to receive callbacks on packet lifecycle completion must implement the following execute msg:
#[cw_serde]
enum SenderExecuteMsg {
Callback(CallbackMsg),
}
#[cw_serde]
struct CallbackMsg {
pub dest: IbcEndpoint,
pub sequence: u64,
pub outcome: PacketOutcome,
}
#[cw_serde]
enum PacketOutcome {
Success(Vec<ActionResult>),
Failed(String),
Timeout,
}
ack is basically outcome without timeout:
#[cw_serde]
enum PacketAck {
Success(Vec<ActionResult>),
Failed(String),
}
larry0x commented
completed