anone_minter/
msg.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use anone_cw721::msg::InstantiateMsg as An721InstantiateMsg;
5
6#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
7pub struct InstantiateMsg {
8    pub base_token_uri: String,
9    pub num_tokens: u32,
10    pub an721_code_id: u64,
11    pub an721_instantiate_msg: An721InstantiateMsg,
12    pub per_address_limit: u32,
13}
14
15#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
16#[serde(rename_all = "snake_case")]
17pub enum ExecuteMsg {
18    Mint {},
19    UpdatePerAddressLimit { per_address_limit: u32 },
20    MintTo { recipient: String },
21    MintFor { token_id: u32, recipient: String },
22}
23
24#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
25#[serde(rename_all = "snake_case")]
26pub enum QueryMsg {
27    Config {},
28    MintableNumTokens {},
29    MintCount { address: String },
30}
31
32#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
33pub struct ConfigResponse {
34    pub admin: String,
35    pub base_token_uri: String,
36    pub num_tokens: u32,
37    pub per_address_limit: u32,
38    pub an721_address: String,
39    pub an721_code_id: u64,
40}
41
42#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
43pub struct MintableNumTokensResponse {
44    pub count: u32,
45}
46
47#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
48pub struct MintCountResponse {
49    pub address: String,
50    pub count: u32,
51}