1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::{Addr, Uint128};
3use croncat_sdk_manager::types::TaskBalance;
4use cw_storage_plus::{Item, Map};
5
6pub use croncat_sdk_manager::types::Config;
7use croncat_sdk_tasks::types::TaskExecutionInfo;
8
9pub const CONFIG: Item<Config> = Item::new("config");
10
11pub const PAUSED: Item<bool> = Item::new("paused");
14
15pub const TREASURY_BALANCE: Item<Uint128> = Item::new("treasury_balance");
17
18pub const AGENT_REWARDS: Map<&Addr, Uint128> = Map::new("agent_rewards");
20
21pub const TEMP_BALANCES_CW20: Map<(&Addr, &Addr), Uint128> = Map::new("temp_balances_cw20");
24
25pub const TASKS_BALANCES: Map<&[u8], TaskBalance> = Map::new("tasks_balances");
26
27pub const REPLY_QUEUE: Item<QueueItem> = Item::new("reply_queue");
28
29pub const LAST_TASK_EXECUTION_INFO: Item<TaskExecutionInfo> =
30 croncat_sdk_manager::state::LAST_TASK_EXECUTION_INFO;
31
32#[cw_serde]
34pub struct QueueItem {
35 pub task: croncat_sdk_tasks::types::TaskInfo,
36 pub agent_addr: Addr,
37 pub failures: Vec<(u8, String)>,
39}