test_erc20/
msg.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm::types::HumanAddr;
5
6#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema)]
7pub struct InitialBalance {
8    pub address: HumanAddr,
9    pub amount: String,
10}
11
12#[derive(Serialize, Deserialize, JsonSchema)]
13pub struct InitMsg {
14    pub name: String,
15    pub symbol: String,
16    pub decimals: u8,
17    pub initial_balances: Vec<InitialBalance>,
18}
19
20#[derive(Serialize, Deserialize, JsonSchema)]
21#[serde(rename_all = "lowercase")]
22pub enum HandleMsg {
23    Approve {
24        spender: HumanAddr,
25        amount: String,
26    },
27    Transfer {
28        recipient: HumanAddr,
29        amount: String,
30    },
31    TransferFrom {
32        owner: HumanAddr,
33        recipient: HumanAddr,
34        amount: String,
35    },
36}
37
38#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
39#[serde(rename_all = "lowercase")]
40pub enum QueryMsg {
41    Balance {
42        address: HumanAddr,
43    },
44    Allowance {
45        owner: HumanAddr,
46        spender: HumanAddr,
47    },
48}
49
50#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema)]
51pub struct BalanceResponse {
52    pub balance: String,
53}
54
55#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema)]
56pub struct AllowanceResponse {
57    pub allowance: String,
58}