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 下载
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