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}