1use cosmwasm_std::Decimal;
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5use crate::state::State;
6
7#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
9pub struct InitMsg {
10 pub contract_name: String,
11 pub purchase_denom: String,
12 pub merchant_address: String,
13 pub fee_percent: Decimal,
14}
15
16#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
18#[serde(rename_all = "snake_case")]
19pub enum ExecuteMsg {
20 Purchase { id: String },
21}
22
23#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
25#[serde(rename_all = "snake_case")]
26pub struct MigrateMsg {}
27
28#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
30#[serde(rename_all = "snake_case")]
31pub enum QueryMsg {
32 QueryRequest {},
33}
34
35pub type QueryResponse = State;
37
38#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
40#[serde(rename_all = "snake_case")]
41pub enum MetadataMsg {
42 ScopeUpdate { scope_id: String },
43}