1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm_std::{Binary, CosmosMsg, QueryRequest, SubMsg};
5
6use osmo_bindings::{OsmosisMsg, OsmosisQuery};
7
8#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
9pub struct InstantiateMsg {}
10
11#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
12#[serde(rename_all = "snake_case")]
13pub enum ExecuteMsg {
14 ReflectMsg { msgs: Vec<CosmosMsg<OsmosisMsg>> },
15 ReflectSubMsg { msgs: Vec<SubMsg<OsmosisMsg>> },
16 ChangeOwner { owner: String },
17}
18
19#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
20#[serde(rename_all = "snake_case")]
21pub enum QueryMsg {
22 Owner {},
23 Chain {
25 request: QueryRequest<OsmosisQuery>,
26 },
27 SubMsgResult {
29 id: u64,
30 },
31}
32
33#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
36pub struct OwnerResponse {
37 pub owner: String,
38}
39
40#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
41#[serde(rename_all = "snake_case")]
42pub struct CapitalizedResponse {
43 pub text: String,
44}
45
46#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
47#[serde(rename_all = "snake_case")]
48pub struct ChainResponse {
49 pub data: Binary,
50}