solid_moneymarket/
native_wrapper.rs1use cosmwasm_std::Uint128;
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5use cw20::Cw20ReceiveMsg;
6
7#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
8#[serde(rename_all = "snake_case")]
9pub struct InstantiateMsg {
10 pub owner_addr: String,
12 pub wrapper_code_id: u64,
14
15 pub collateral_denom: String,
16
17 pub wrapper_denom: String,
18}
19
20#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
21#[serde(rename_all = "snake_case")]
22pub enum ExecuteMsg {
23 Receive(Cw20ReceiveMsg),
24
25 UpdateConfig {
27 owner_addr: Option<String>,
28 },
29
30 Bond {
32 recipient: Option<String>,
33 },
34}
35
36#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
37#[serde(rename_all = "snake_case")]
38pub enum Cw20HookMsg {
39 Unbound { recipient: Option<String> },
41}
42
43#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
44#[serde(rename_all = "snake_case")]
45pub enum QueryMsg {
46 Config {},
47 State {},
48}
49
50#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
52pub struct ConfigResponse {
53 pub owner_addr: String,
54 pub collateral_denom: String,
55 pub wrapper_denom: String,
56 pub wrapper_contract: String,
57}
58
59#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
61pub struct StateResponse {
62 pub total_bond: Uint128,
63 pub total_supply: Uint128,
64 pub exchange_rate: Uint128,
65}
66
67#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
69pub struct DepositorInfoResponse {
70 pub depositor: String,
71 pub amount: Uint128,
72}
73
74#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
75pub struct DepositorInfosResponse {
76 pub depositor_infos: Vec<DepositorInfoResponse>,
77}
78
79#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
80#[serde(rename_all = "snake_case")]
81pub struct MigrateMsg {}