1 stable release
2.9.0 | May 19, 2024 |
---|
#6 in #asset-info
61KB
1.5K
SLoC
Dojoswap: Common Types
This is a collection of common types and the queriers which are commonly used in dojoswap contracts.
Data Types
AssetInfo
AssetInfo is a convience wrapper to represent the native token and the contract token as a single type.
#[serde(rename_all = "snake_case")]
pub enum AssetInfo {
Token { contract_addr: HumanAddr },
NativeToken { denom: String },
}
Asset
It contains asset info with the amount of token.
pub struct Asset {
pub info: AssetInfo,
pub amount: Uint128,
}
PairInfo
It is used to represent response data of Pair-Info-Querier
pub struct PairInfo {
pub asset_infos: [AssetInfo; 2],
pub contract_addr: String,
pub liquidity_token: String,
pub asset_decimals: [u8; 2],
}
Queriers
Native Token Balance Querier
It uses CosmWasm standard interface to query the account balance to chain.
pub fn query_balance(
querier: &QuerierWrapper,
account_addr: Addr,
denom: String,
) -> StdResult<Uint128>
Token Balance Querier
It provides simliar query interface with Native-Token-Balance-Querier for CW20 token balance.
pub fn query_token_balance(
querier: &QuerierWrapper,
contract_addr: Addr,
account_addr: Addr,
) -> StdResult<Uint128>
Token Info Querier
It provides token info querier for CW20 token contract.
pub fn query_token_info(
querier: &QuerierWrapper,
contract_addr: Addr,
) -> StdResult<TokenInfoResponse>
Native Token Deimals Querier
It provides native token decimals querier for factory contract.
pub fn query_native_decimals(
querier: &QuerierWrapper,
factory_contract: Addr,
denom: String,
) -> StdResult<u8>
Pair Info Querier From Factory
It also provides the query interface to query avaliable dojoswap pair contract info. Any contract can query pair info to dojoswap factory contract.
pub fn query_pair_info(
querier: &QuerierWrapper,
factory_contract: Addr,
asset_infos: &[AssetInfo; 2],
) -> StdResult<PairInfo>
Pair Info Querier From Pair
It also provides the query interface to query avaliable dojoswap pair contract info. Any contract can query pair info to pair contract.
pub fn query_pair_info_from_pair(
querier: &QuerierWrapper,
pair_contract: Addr,
) -> StdResult<PairInfo>
Dependencies
~5.5–7.5MB
~158K SLoC