komple_framework_metadata_module/
msg.rs1use crate::state::{Config, MetaInfo, Metadata, Trait};
2use cosmwasm_schema::{cw_serde, QueryResponses};
3use komple_framework_types::modules::metadata::Metadata as MetadataType;
4use komple_framework_types::shared::query::ResponseWrapper;
5
6#[cw_serde]
8pub struct InstantiateMsg {
9 pub metadata_type: MetadataType,
10}
11
12#[cw_serde]
13pub enum ExecuteMsg {
14 AddMetadata {
18 meta_info: MetaInfo,
19 attributes: Vec<Trait>,
20 },
21 LinkMetadata {
26 token_id: u32,
27 metadata_id: Option<u32>,
28 },
29 UnlinkMetadata { token_id: u32 },
33 UpdateMetaInfo {
38 raw_metadata: bool,
39 id: u32,
40 meta_info: MetaInfo,
41 },
42 AddAttribute {
47 raw_metadata: bool,
48 id: u32,
49 attribute: Trait,
50 },
51 UpdateAttribute {
56 raw_metadata: bool,
57 id: u32,
58 attribute: Trait,
59 },
60 RemoveAttribute {
65 raw_metadata: bool,
66 id: u32,
67 trait_type: String,
68 },
69 UpdateOperators { addrs: Vec<String> },
73}
74
75#[cw_serde]
76#[derive(QueryResponses)]
77pub enum QueryMsg {
78 #[returns(ResponseWrapper<Config>)]
80 Config {},
81 #[returns(ResponseWrapper<Metadata>)]
83 RawMetadata { metadata_id: u32 },
84 #[returns(ResponseWrapper<MetadataResponse>)]
86 Metadata { token_id: u32 },
87 #[returns(ResponseWrapper<Vec<MetadataResponse>>)]
89 RawMetadatas {
90 start_after: Option<u32>,
91 limit: Option<u8>,
92 },
93 #[returns(ResponseWrapper<Vec<MetadataResponse>>)]
95 Metadatas {
96 start_after: Option<u32>,
97 limit: Option<u8>,
98 },
99 #[returns(ResponseWrapper<Vec<String>>)]
101 Operators {},
102}
103
104#[cw_serde]
105pub struct MetadataResponse {
106 pub metadata: Metadata,
107 pub metadata_id: u32,
108}
109
110#[cw_serde]
111pub struct MigrateMsg {}