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 pub code_id: u64,
15 pub name: String,
16 pub symbol: String,
17 pub info: CollectionInfo<ResidualInfoResponse>,
18}
19
20#[cw_serde]
22pub struct UpdateMinterParamsMsg<T> {
23 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}