factory_utils/
msg.rs

1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::Coin;
3use terp721::{CollectionInfo, ResidualInfoResponse};
4
5#[cw_serde]
6pub struct CreateMinterMsg<T> {
7    pub init_msg: T,
8    pub collection_params: CollectionParams,
9}
10
11#[cw_serde]
12pub struct CollectionParams {
13    /// The collection code id
14    pub code_id: u64,
15    pub name: String,
16    pub symbol: String,
17    pub info: CollectionInfo<ResidualInfoResponse>,
18}
19
20/// Message for params so they can be updated individually by governance
21#[cw_serde]
22pub struct UpdateMinterParamsMsg<T> {
23    /// The minter code id
24    pub code_id: Option<u64>,
25    pub add_terp721_code_ids: Option<Vec<u64>>,
26    pub rm_terp721_code_ids: Option<Vec<u64>>,
27    pub frozen: Option<bool>,
28    pub creation_fee: Option<Coin>,
29    pub min_mint_price: Option<Coin>,
30    pub mint_fee_bps: Option<u64>,
31    pub max_trading_offset_secs: Option<u64>,
32    pub extension: T,
33}
34
35#[cw_serde]
36pub enum FactoryUtilsExecuteMsg<T> {
37    CreateMinter(CreateMinterMsg<T>),
38}