Thanks to visit codestin.com
Credit goes to lib.rs

29 releases (stable)

5.9.0 Apr 2, 2025
5.7.0-cw1.0 Oct 28, 2024
5.5.0 Sep 27, 2024
5.2.0 Jul 4, 2024
0.3.1 Dec 15, 2021

#1 in #asset-info

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

2,815 downloads per month
Used in 48 crates (40 directly)

Apache-2.0

225KB
5K SLoC

Astroport: Common Types

This is a collection of common types and queriers which are commonly used in Astroport contracts.

Data Types

AssetInfo

AssetInfo is a convenience wrapper to represent whether a token is the native one (from a specific chain, like LUNA for Terra) or not. It also returns the contract address of that token.

pub enum AssetInfo {
    Token { contract_addr: Addr },
    NativeToken { denom: String },
}

Asset

It contains asset info and a token amount.

pub struct Asset {
    pub info: AssetInfo,
    pub amount: Uint128,
}

PairInfo

It is used to represent response data coming from a Pair-Info-Querier.

pub struct PairInfo {
    pub asset_infos: [AssetInfo; 2],
    pub contract_addr: Addr,
    pub liquidity_token: String,
    pub pair_type: PairType,
}

Queriers

Native Token Balance Querier

It uses the CosmWasm standard interface to query an account's balance.

pub fn query_balance(
    querier: &QuerierWrapper,
    account_addr: impl Into<String>,
    denom: impl Into<String>,
) -> StdResult<Uint128>

Token Balance Querier

It provides a similar query interface to Native-Token-Balance-Querier for fetching CW20 token balances.

pub fn query_token_balance(
    querier: &QuerierWrapper,
    contract_addr: impl Into<String>,
    account_addr: impl Into<String>,
) -> StdResult<Uint128>

Token Supply Querier

It fetches a CW20 token's total supply.

pub fn query_supply(
    querier: &QuerierWrapper,
    contract_addr: impl Into<String>,
) -> StdResult<Uint128>

Pair Info Querier

Accepts two tokens as input and returns a pair's information.

pub fn query_pair_info(
    querier: &QuerierWrapper,
    factory_contract: impl Into<String>,
    asset_infos: &[AssetInfo; 2],
) -> StdResult<PairInfo>

Swap Pairs Simulating

Simulate

Simulates a swap and returns the output amount, the spread and commission amounts.

pub fn simulate(
    querier: &QuerierWrapper,
    pair_contract: impl Into<String>,
    offer_asset: &Asset,
) -> StdResult<SimulationResponse>

Reverse Simulate

Simulates a reverse swap and returns an input amount, the spread and commission amounts.

pub fn reverse_simulate(
    querier: &QuerierWrapper,
    pair_contract: impl Into<String>,
    offer_asset: &Asset,
) -> StdResult<ReverseSimulationResponse>

Dependencies

~16MB
~353K SLoC