use cosmwasm_schema::{cw_serde, QueryResponses};
use cosmwasm_std::Binary;
use crate::state::{Config, Data};
use komple_framework_types::shared::{execute::SharedExecuteMsg, query::ResponseWrapper};
#[cw_serde]
pub enum ExecuteMsg {
SetData { key: String, value: Binary },
SetDataBatch { data: Vec<Data> },
LockExecute {},
}
impl From<ExecuteMsg> for SharedExecuteMsg {
fn from(msg: ExecuteMsg) -> Self {
match msg {
ExecuteMsg::LockExecute {} => SharedExecuteMsg::LockExecute {},
_ => unreachable!("Cannot convert {:?} to SharedExecuteMessage", msg),
}
}
}
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(ResponseWrapper<Config>)]
Config {},
#[returns(ResponseWrapper<Option<Binary>>)]
GetData { key: String },
#[returns(ResponseWrapper<Vec<Option<Binary>>>)]
GetDataBatch { keys: Vec<String> },
#[returns(ResponseWrapper<Vec<String>>)]
ListKeys {},
}
#[cw_serde]
pub struct MigrateMsg {}