pylon_core/
pool_msg.rs

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