22 个版本 (重大更改)
19.0.0 | 2024 年 7 月 18 日 |
---|---|
18.0.0 | 2024 年 7 月 12 日 |
17.0.0 | 2024 年 6 月 21 日 |
16.0.0 | 2024 年 5 月 23 日 |
0.0.0 | 2023 年 3 月 31 日 |
#996 在 魔法豆
每月下载量 4,038
用于 32 个存储库(直接使用 8 个)
3MB
52K SLoC
asset-conversion
交换托盘
此托盘允许通过恒定乘积公式将一种类型的资产转换为另一种类型。该托盘基于 Uniswap V2 逻辑。
概述
此托盘允许您
- 为两种资产创建一个流动性池
- 提供流动性并获取 LP 代币
- 将 LP 代币兑换回资产
- 如果创建了池,则交换两种资产
- 通过新的运行时调用端点查询交换价格
- 查询流动性池的大小。
请参阅 rust 模块文档以获取详细信息
cargodoc -ppallet-asset-conversion --open
许可证
许可证:Apache-2.0
lib.rs
:
Substrate 资产转换模块
基于 Uniswap V2 逻辑的 Substrate 资产转换模块。
概述
此托盘允许您
- 创建一个包含两种资产的流动性池
- 提供流动性 并获得一个 LP 代币
- 将 LP 代币兑换回资产
- 在创建池的情况下,用特定数量的资产交换另一种资产,或者
- 用某些资产交换特定数量的另一种资产.
- 通过运行时调用端点查询兑换价格
- 通过运行时 API 端点查询流动性池的大小
quote_price_exact_tokens_for_tokens
和 quote_price_tokens_for_exact_tokens
函数都接受一个路径参数,即要采取的路由。如果您想从原生资产交换到非原生资产 1,您将传入路径 [DOT, 1]
或 [1, DOT]
。如果您想从非原生资产 1 交换到非原生资产 2,您将传入路径 [1, DOT, 2]
。
(有关将此模块配置为使用 Location
作为资产 ID 的示例,请参阅 cumulus 仓库。)
以下是一个请求原生资产与资产 1 池的报价的示例 state_call
curl -sS -H "Content-Type: application/json" -d \
'{"id":1, "jsonrpc":"2.0", "method": "state_call", "params": ["AssetConversionApi_quote_price_tokens_for_exact_tokens", "0x0101000000000000000000000011000000000000000000"]}' \
https://127.0.0.1:9933/
(这可以在此存储库的 node
文件夹中的厨房同步节点上运行。)
依赖项
~16–32MB
~527K SLoC