croncat_integration_utils/
reply_handler.rs1use crate::error::CronCatContractError;
2use crate::CronCatTaskExecutionInfo;
3use cosmwasm_std::{from_binary, Binary, Reply};
4use cw_utils::parse_reply_execute_data;
5
6pub fn reply_handle_croncat_task_creation(
9 msg: Reply,
10) -> Result<(CronCatTaskExecutionInfo, Binary), CronCatContractError> {
11 let reply_id = msg.id;
12 if msg.clone().result.into_result().is_err() {
13 return Err(CronCatContractError::ReplyError { reply_id });
14 }
15
16 let msg_parsed = parse_reply_execute_data(msg)?;
17 let msg_binary = msg_parsed
18 .data
19 .ok_or(CronCatContractError::ReplyError { reply_id })?;
20 let created_task_info: CronCatTaskExecutionInfo = from_binary(&msg_binary)?;
21
22 Ok((created_task_info, msg_binary))
27}