4 个版本 (2 个稳定版)
1.0.4 | 2024 年 3 月 26 日 |
---|---|
1.0.4-astroport-v2 | 2023 年 12 月 7 日 |
1.0.3 | 2023 年 10 月 23 日 |
1.0.3-astroport-v2 | 2023 年 10 月 31 日 |
#8 in #流动性
每月下载量 232
在 4 个 crate 中使用(通过 cw-it)
580KB
13K SLoC
Astroport 流动性管理器
Astroport 流动性管理器是一个合约,允许用户通过额外的滑点限制执行从 Astroport xyk 和稳定池提供和提取流动性。此合约旨在不可升级且独立。它仅依赖于实际的 Astroport 工厂地址。流动性管理器还公开了 xyk 和稳定池的提供/提取模拟查询。
InstantiateMsg
使用 Astroport 工厂合约地址初始化合约。
{
"astroport_factory": "wasm1..."
}
ExecuteMsg
receive
CW20 接收消息。仅处理来自 Astroport LP 代币的提取消息。
{
"receive": {
"sender": "wasm...",
"amount": "123",
"msg": "<base64_encoded_json_string>"
}
}
其中 <base64_encoded_json_string> 是以下格式的 base64 编码的 json 字符串
{
"withdraw_liquidity": {
"pair_msg": {
"withdraw_liquidity": {}
},
"min_assets_to_receive": [
{
"info": {
"native_token": {
"denom": "uusd"
}
},
"amount": "100000"
},
{
"info": {
"token": {
"contract_addr": "wasm1...cw20address"
}
},
"amount": "100000"
}
]
}
}
min_assets_to_receive
在提取后执行检查,以确保用户至少收到指定数量的资产。
provide_liquidity
通过流动性管理器提供流动性,并执行滑点限制。处理 XYK 对不平衡的提供,并将多余的资产返回给用户。
{
"provide_liquidity": {
"pair_addr": "wasm1...",
"pair_msg": {
"provide_liquidity": {
"assets": [
{
"info": {
"native_token": {
"denom": "uusd"
}
},
"amount": "100000"
},
{
"info": {
"token": {
"contract_addr": "wasm1...cw20address"
}
},
"amount": "100000"
}
],
"slippage_tolerance": "0.02",
"auto_stake": true,
"receiver": "wasm1...addr"
}
},
"min_lp_to_receive": "1000"
}
}
pair_msg
等于所有池的原生 Astroport 提供消息。 min_lp_to_receive
在提供后执行检查,以确保用户至少收到指定数量的 LP 代币。
QueryMsg
simulate
模拟流动性提供或提取。
提供模拟示例
{
"simulate_provide": {
"pair_addr": "wasm1...addr",
"pair_msg": {
"provide_liquidity": {
"assets": [
{
"info": {
"native_token": {
"denom": "uusd"
}
},
"amount": "100000"
},
{
"info": {
"token": {
"contract_addr": "wasm1...cw20address"
}
},
"amount": "100000"
}
],
"slippage_tolerance": "0.02",
"auto_stake": true,
"receiver": "wasm1...addr"
}
}
}
}
提取模拟示例
{
"simulate_withdraw": {
"pair_addr": "wasm1...addr",
"lp_tokens": "1000"
}
}
依赖关系
~13MB
~256K SLoC