open_edition_minter/
msg.rs1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::{Addr, Coin, Timestamp};
3
4use open_edition_factory::types::NftData;
5use open_edition_factory::{msg::OpenEditionMinterCreateMsg, state::OpenEditionMinterParams};
6
7#[cw_serde]
8pub struct InstantiateMsg {
9 pub create_msg: OpenEditionMinterCreateMsg,
10 pub params: OpenEditionMinterParams,
11}
12
13#[cw_serde]
14pub enum ExecuteMsg {
15 Mint {},
16 SetWhitelist {
17 whitelist: String,
18 },
19 Purge {},
20 UpdateMintPrice {
21 price: u128,
22 },
23 UpdateStartTime(Timestamp),
24 UpdateEndTime(Timestamp),
25 UpdateStartTradingTime(Option<Timestamp>),
27 UpdatePerAddressLimit {
28 per_address_limit: u32,
29 },
30 MintTo {
31 recipient: String,
32 },
33 BurnRemaining {},
34}
35
36#[cw_serde]
37pub enum QueryMsg {
38 Config {},
39 StartTime {},
40 EndTime {},
41 MintPrice {},
42 MintCount { address: String },
43 TotalMintCount {},
44 Status {},
45 MintableNumTokens {},
46}
47
48#[cw_serde]
49pub struct ConfigResponse {
50 pub admin: String,
51 pub nft_data: NftData,
52 pub payment_address: Option<Addr>,
53 pub per_address_limit: u32,
54 pub num_tokens: Option<u32>,
55 pub end_time: Option<Timestamp>,
56 pub sg721_address: String,
57 pub sg721_code_id: u64,
58 pub start_time: Timestamp,
59 pub mint_price: Coin,
60 pub factory: String,
61 pub whitelist: Option<String>,
62}
63
64#[cw_serde]
65pub struct MintableNumTokensResponse {
66 pub count: Option<u32>,
67}
68
69#[cw_serde]
70pub struct StartTimeResponse {
71 pub start_time: String,
72}
73
74#[cw_serde]
75pub struct EndTimeResponse {
76 pub end_time: Option<String>,
77}
78
79#[cw_serde]
80pub struct MintPriceResponse {
81 pub public_price: Coin,
82 pub airdrop_price: Coin,
83 pub whitelist_price: Option<Coin>,
84 pub current_price: Coin,
85}
86
87#[cw_serde]
88pub struct MintCountResponse {
89 pub address: String,
90 pub count: u32,
91}
92
93#[cw_serde]
94pub struct TotalMintCountResponse {
95 pub count: u32,
96}