cw_erc20/
msg.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm_std::Uint128;
5
6#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema)]
7pub struct InitialBalance {
8    pub address: String,
9    pub amount: Uint128,
10}
11
12#[derive(Serialize, Deserialize, JsonSchema)]
13pub struct InstantiateMsg {
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 = "snake_case")]
22pub enum ExecuteMsg {
23    Approve {
24        spender: String,
25        amount: Uint128,
26    },
27    Transfer {
28        recipient: String,
29        amount: Uint128,
30    },
31    TransferFrom {
32        owner: String,
33        recipient: String,
34        amount: Uint128,
35    },
36    Burn {
37        amount: Uint128,
38    },
39}
40
41#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
42#[serde(rename_all = "snake_case")]
43pub enum QueryMsg {
44    Balance { address: String },
45    Allowance { owner: String, spender: String },
46}
47
48#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema)]
49pub struct BalanceResponse {
50    pub balance: Uint128,
51}
52
53#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema)]
54pub struct AllowanceResponse {
55    pub allowance: Uint128,
56}