test_suite/common_setup/
msg.rs1use anyhow::Error;
2use cosmwasm_std::{Addr, Timestamp};
3
4use cosmwasm_std::Uint128;
5use open_edition_factory::state::{OpenEditionMinterParams, ParamsExtension};
6use sg2::msg::CollectionParams;
7use sg_multi_test::StargazeApp;
8use vending_factory::msg::VendingMinterInitMsgExtension;
9
10pub struct MinterSetupParams<'a> {
11 pub router: &'a mut StargazeApp,
12 pub minter_admin: Addr,
13 pub num_tokens: u32,
14 pub collection_params: CollectionParams,
15 pub splits_addr: Option<String>,
16 pub start_time: Option<Timestamp>,
17 pub minter_code_id: u64,
18 pub factory_code_id: u64,
19 pub sg721_code_id: u64,
20 pub init_msg: Option<VendingMinterInitMsgExtension>,
21}
22pub struct MinterCollectionResponse {
23 pub minter: Option<Addr>,
24 pub collection: Option<Addr>,
25 pub factory: Option<Addr>,
26 pub error: Option<Error>,
27}
28
29pub struct MinterInstantiateParams {
30 pub num_tokens: u32,
31 pub start_time: Option<Timestamp>,
32 pub splits_addr: Option<String>,
33 pub init_msg: Option<VendingMinterInitMsgExtension>,
34}
35
36use cosmwasm_schema::cw_serde;
37use open_edition_factory::msg::OpenEditionMinterInitMsgExtension;
38use open_edition_factory::types::NftData;
39
40#[cw_serde]
41pub struct CodeIds {
42 pub minter_code_id: u64,
43 pub factory_code_id: u64,
44 pub sg721_code_id: u64,
45}
46
47pub struct MinterTemplateResponse<T> {
48 pub collection_response_vec: Vec<MinterCollectionResponse>,
49 pub router: StargazeApp,
50 pub accts: T,
51}
52
53pub struct MinterTemplateResponseCodeIds<T> {
54 pub collection_response_vec: Vec<MinterCollectionResponse>,
55 pub router: StargazeApp,
56 pub accts: T,
57 pub code_ids: CodeIds,
58}
59
60pub struct Accounts {
61 pub creator: Addr,
62 pub buyer: Addr,
63}
64
65pub struct OpenEditionMinterSetupParams<'a> {
66 pub router: &'a mut StargazeApp,
67 pub minter_admin: Addr,
68 pub collection_params: CollectionParams,
69 pub start_time: Option<Timestamp>,
70 pub nft_data: NftData,
71 pub per_address_limit: u32,
72 pub end_time: Option<Timestamp>,
73 pub num_tokens: Option<u32>,
74 pub minter_code_id: u64,
75 pub factory_code_id: u64,
76 pub sg721_code_id: u64,
77 pub init_msg: Option<OpenEditionMinterInitMsgExtension>,
78 pub custom_params: Option<OpenEditionMinterParams>,
79}
80
81pub struct OpenEditionMinterInstantiateParams {
82 pub start_time: Option<Timestamp>,
83 pub end_time: Option<Timestamp>,
84 pub per_address_limit: Option<u32>,
85 pub num_tokens: Option<u32>,
86 pub nft_data: Option<NftData>,
87 pub init_msg: Option<OpenEditionMinterInitMsgExtension>,
88 pub params_extension: Option<ParamsExtension>,
89 pub custom_params: Option<OpenEditionMinterParams>,
90}
91
92#[derive(Default)]
93pub struct OpenEditionMinterCustomParams<'a> {
94 pub denom: Option<&'a str>,
95 pub mint_fee_bps: Option<u64>,
96 pub airdrop_mint_price_amount: Option<Uint128>,
97}