fund_me_core/
pool_msg.rs

1use cosmwasm_bignumber::{Decimal256, Uint256};
2use cw20::Cw20ReceiveMsg;
3use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
7pub struct InstantiateMsg {
8    pub pool_name: String,
9    pub beneficiary: String,
10    pub fee_collector: String,
11    pub fee_amount: Decimal256,
12    pub fee_max: Uint256,
13    pub fee_reset_every_num_blocks: u64,
14    pub moneymarket: String,
15    pub dp_code_id: u64,
16}
17
18#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
19#[serde(rename_all = "snake_case")]
20pub enum ExecuteMsg {
21    Receive(Cw20ReceiveMsg),
22    Deposit {}, // UST -> DP (user)
23    Earn {},    // x -> UST (beneficiary)
24    Configure {
25        beneficiary: Option<String>,
26        fee_collector: Option<String>,
27    },
28}
29
30#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
31#[serde(rename_all = "snake_case")]
32pub enum Cw20HookMsg {
33    Redeem {},
34}
35
36#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
37#[serde(rename_all = "snake_case")]
38pub enum QueryMsg {
39    DepositAmountOf { owner: String }, // -> Uint128
40    TotalDepositAmount {},             // -> Uint128
41    Config {},                         // -> Config
42    ClaimableReward {},                // -> Uint128
43}
44
45/// We currently take no arguments for migrations
46#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
47pub struct MigrateMsg {}