croncat_sdk_core/internal_messages/
tasks.rs1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::{to_binary, Binary, CosmosMsg, StdResult, WasmMsg};
3
4#[cw_serde]
5pub struct TasksRemoveTaskByManager {
6 pub task_hash: Vec<u8>,
7}
8
9impl TasksRemoveTaskByManager {
10 pub fn into_binary(self) -> StdResult<Binary> {
12 let msg = RemoveTaskByManager::RemoveTaskByManager(self);
13 to_binary(&msg)
14 }
15
16 pub fn into_cosmos_msg<T: Into<String>>(self, contract_addr: T) -> StdResult<CosmosMsg> {
18 let msg = self.into_binary()?;
19 let execute = WasmMsg::Execute {
20 contract_addr: contract_addr.into(),
21 msg,
22 funds: vec![],
23 };
24 Ok(execute.into())
25 }
26}
27
28#[cw_serde]
29pub(crate) enum RemoveTaskByManager {
30 RemoveTaskByManager(TasksRemoveTaskByManager),
31}
32
33#[cw_serde]
34pub struct TasksRescheduleTask {
35 pub task_hash: Vec<u8>,
36}
37
38impl TasksRescheduleTask {
39 pub fn into_binary(self) -> StdResult<Binary> {
41 let msg = RescheduleTaskMsg::RescheduleTask(self);
42 to_binary(&msg)
43 }
44
45 pub fn into_cosmos_msg<T: Into<String>>(self, contract_addr: T) -> StdResult<CosmosMsg> {
47 let msg = self.into_binary()?;
48 let execute = WasmMsg::Execute {
49 contract_addr: contract_addr.into(),
50 msg,
51 funds: vec![],
52 };
53 Ok(execute.into())
54 }
55}
56
57#[cw_serde]
58pub(crate) enum RescheduleTaskMsg {
59 RescheduleTask(TasksRescheduleTask),
60}