astroport_types/
generator_proxy.rs

1use cosmwasm_std::{Addr, Uint128};
2use cw20::Cw20ReceiveMsg;
3use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
7pub struct InstantiateMsg {
8    pub generator_contract_addr: String,
9    pub pair_addr: String,
10    pub lp_token_addr: String,
11    pub reward_contract_addr: String,
12    pub reward_token_addr: String,
13}
14
15#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
16#[serde(rename_all = "snake_case")]
17pub enum Cw20HookMsg {
18    Deposit {},
19}
20
21#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
22#[serde(rename_all = "snake_case")]
23pub enum ExecuteMsg {
24    Receive(Cw20ReceiveMsg),
25    UpdateRewards {},
26    SendRewards { account: Addr, amount: Uint128 },
27    Withdraw { account: Addr, amount: Uint128 },
28    EmergencyWithdraw { account: Addr, amount: Uint128 },
29    Callback(CallbackMsg),
30}
31
32#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
33#[serde(rename_all = "snake_case")]
34pub enum CallbackMsg {
35    TransferLpTokensAfterWithdraw {
36        account: Addr,
37        prev_lp_balance: Uint128,
38    },
39}
40
41#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
42#[serde(rename_all = "snake_case")]
43pub enum QueryMsg {
44    Deposit {},
45    Reward {},
46    PendingToken {},
47    RewardInfo {},
48}
49
50#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
51pub struct MigrateMsg {}