tw_asset_plus/asset.rs
1use cosmwasm_std::{Addr, Uint128};
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, PartialOrd, JsonSchema)]
6pub struct Asset {
7 /// Information about an asset stored in a [`AssetInfo`] struct
8 pub info: AssetInfo,
9 /// A token amount
10 pub amount: Uint128,
11}
12
13#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, PartialOrd, JsonSchema)]
14#[serde(rename_all = "snake_case")]
15pub enum AssetInfo {
16 /// Non-native Token
17 Token { contract_addr: Addr },
18 /// Native token
19 NativeToken { denom: String },
20}