4 个版本

0.1.3 2023 年 2 月 13 日
0.1.2 2023 年 2 月 13 日
0.1.1 2023 年 2 月 13 日
0.1.0 2023 年 2 月 13 日

#22 in #astroport

每月 49 下载

MPL-2.0 许可证

74KB
2K SLoC

Astroport: 常见类型

这是一个常用类型及其查询器的集合,这些类型和查询器在 astroport 合约中经常使用。

数据类型

AssetInfo

AssetInfo 是一个便利的包装器,用于表示本地代币和合约代币作为单个类型。

#[serde(rename_all = "snake_case")]
pub enum AssetInfo {
    Token { contract_addr: Addr },
    NativeToken { denom: String },
}

Asset

它包含代币信息以及代币数量。

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

PairInfo

它用于表示 Pair-Info-Querier 的响应数据。

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

查询器

本地代币余额查询器

它使用 CosmWasm 标准接口查询账户余额到链上。

pub fn query_balance(
    deps: &Extern<S, A, Q>,
    account_addr: &Addr,
    denom: String,
) -> StdResult<Uint128>

代币余额查询器

它提供了与 Native-Token-Balance-Querier 相似的查询接口,用于 CW20 代币余额。

pub fn query_token_balance(
    deps: &Extern<S, A, Q>,
    contract_addr: &Addr,
    account_addr: &Addr,
) -> StdResult<Uint128>

代币供应查询器

它为 CW20 代币合约提供代币供应查询器。

pub fn query_supply(
    deps: &Extern<S, A, Q>,
    contract_addr: &Addr,
) -> StdResult<Uint128>

对对信息查询器

它还提供了查询可用的 astroport 对合约信息的查询接口。任何合约都可以查询对信息到 astroport 工厂合约。

pub fn query_pair_contract(
    deps: &Extern<S, A, Q>,
    contract_addr: &Addr,
    asset_infos: &[AssetInfo; 2],
) -> StdResult<Addr>

流动性代币查询器

它返回 astroport 对合约的流动性代币合约地址。

pub fn query_liquidity_token(
    deps: &Extern<S, A, Q>,
    contract_addr: &Addr,
) -> StdResult<Addr>

交换对模拟

模拟

返回模拟交换回报、价差、手续费金额。

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

反向模拟

返回模拟交换出价、价差、手续费金额。

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

依赖项

~4–6MB
~126K SLoC