#contract #hyperdrive #version #smart-contracts #solidity #kind #mint

hyperdrive-wrappers

为Hyperdrive Solidity智能合约生成的Rust类型

9个版本

新版本 0.17.1 2024年8月16日
0.17.0 2024年8月5日
0.16.10 2024年7月11日

#14 in 魔法豆

Download history 371/week @ 2024-06-29 223/week @ 2024-07-06 16/week @ 2024-07-13 1/week @ 2024-07-20 12/week @ 2024-07-27 121/week @ 2024-08-03 65/week @ 2024-08-10

199 每月下载量
hyperdrive-math 中使用

Apache-2.0

6.5MB
108K SLoC

Tests License Static Badge

hyperdrive

Hyperdrive

Hyperdrive是一个自动做市商,它允许在任意的收益源上构建固定利率市场。Hyperdrive为固定利率AMM提供了几个新颖的功能

  • 按需条款:Hyperdrive允许铸币成为AMM的一部分,当用户打开头寸时,AMM基本上为用户提供一个新的条款。用户不必受限于购买、出售或铸入部分成熟的现有条款。
  • 连续流动性:Hyperdrive池永不到期,为各种固定和浮动利率条款提供不同的到期日。LP只需提供一次流动性,无需将流动性滚动到新的条款。
  • 单边流动性:Hyperdrive流动性提供者只需提供基础资产。LP无需铸币以提供流动性,这提高了提供固定利率市场的资本效率和用户体验。

Hyperdrive-rs

Hyperdrive-rs是一个Rust库,它反映了Hyperdrive Solidity智能合约的功能。Hyperdrive-rs包括对实现的功能与智能合约进行差分测试,这证明了两个实现之间的等价性。这是一个正在进行中的工作,并非所有Hyperdrive功能都包含在内。

可以通过hyperdrivepy访问这个库的Python绑定,或查看agent0,了解使用hyperdrivepy的Python应用程序。

可以在这里找到这个库的类型脚本绑定。

资源

Hyperdrive文档包括如何使用Hyperdrive获取和提供流动性的文档,为希望以编程方式使用Hyperdrive的开发者提供的文档,以及想要将Hyperdrive与收益源集成的开发者的文档。

《Hyperdrive 白皮书》[链接](https://github.com/delvtech/hyperdrive/blob/main/docs/Hyperdrive_Whitepaper.pdf)描述了Hyperdrive如何按需铸造术语,使流动性提供者(LP)能够提供永久性流动性,并解释了自动做市商(AMM)的定价模型是如何工作的。

入门指南

先决条件

安装 forge

此仓库使用foundry来构建和测试针对Rust实现的智能合约。如果您还没有安装,您将需要安装 forge

安装 hyperdrive-rs

hyperdrive-rs由三个已发布的包组成

您可以通过 cargo add [package] 安装它们用于生产运行,或者将其添加到您的 cargo.toml

如果您想设置一个开发环境,请克隆存储库并使用 make 构建

make build

更新 Hyperdrive 合同

当构建 hyperdrive-wrappers 包时,它将克隆 Hyperdrive 存储库并使用 ethers-rs 生成类型安全的Rust绑定。您可以通过更新 hyperdrive.version 文件中的git ref来修改构建的Hyperdrive合同的版本。

要针对现有的本地Hyperdrive存储库构建,可以将本地存储库符号链接到 hyperdrive-wrappers 目录

ln -s <path-to-local-hyperdrive-clone> crates/hyperdrive-wrappers

然后在 hyperdrive-wrappers 中的 .env 文件中添加

LOCAL_DEVELOPMENT=true

要防止 hyperdrive-wrappers 自动重建,请将以下内容添加到相同的 .env

BUILD_DISABLED=true

这在开发期间很有用,因为运行 hyperdrive-math 中的测试将重新触发构建,这会大大减慢开发和测试速度。此外,某些IDE(如vscode)会过于积极地对包装器进行重建,因此在 hyperdrive 中的solidity文件没有更改时关闭构建可能很有用。

测试

make test

代码风格检查

make lint

免责声明

本代码和文档中使用的语言无意赋予任何特定的财务、法律或监管意义。


版权所有 © 2024 DELV

遵循Apache License 2.0(“开源许可证”)。

通过访问或使用此代码,您表示已阅读、理解并同意受并遵守开源许可证DELV的服务条款的约束。如果您不同意这些条款,则禁止您访问或使用此代码。

除非适用法律要求或书面同意,否则在开源许可证下分发的软件按“原样”基础分发,不提供任何形式的明示或暗示保证。有关权限和限制的特定语言,请参阅开源许可证和DELV服务条款。

依赖关系

~29–46MB
~868K SLoC