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 {}, Earn {}, 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 }, TotalDepositAmount {}, Config {}, ClaimableReward {}, }
44
45#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
47pub struct MigrateMsg {}