minter_utils/
lib.rs

1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::{Addr, Coin};
3
4/// Saved in every minter
5#[cw_serde]
6pub struct MinterConfig<T> {
7    pub factory: Addr,
8    pub collection_code_id: u64,
9    pub mint_price: Coin,
10    pub extension: T,
11}
12
13#[cw_serde]
14pub struct MinterConfigResponse<T> {
15    pub config: MinterConfig<T>,
16    pub collection_address: String,
17}
18
19#[cw_serde]
20#[derive(Default)]
21pub struct Status {
22    pub is_verified: bool,
23    pub is_blocked: bool,
24    pub is_explicit: bool,
25}
26
27#[cw_serde]
28pub struct StatusResponse {
29    pub status: Status,
30}
31
32#[cw_serde]
33pub enum QueryMsg {
34    /// Returns `MinterConfigResponse<T>`
35    Config {},
36    /// Returns `StatusResponse`
37    Status {},
38}
39
40#[cw_serde]
41pub enum SudoMsg {
42    UpdateStatus {
43        is_verified: bool,
44        is_blocked: bool,
45        is_explicit: bool,
46    },
47}