#定点 #智能合约 #超驱动 #solidity #数学 #amm #构建

fixedpointmath

Solidity智能合约中模拟定点计算的数学库

8个版本

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

#429 in 神奇豆

Download history 260/week @ 2024-06-29 245/week @ 2024-07-06 18/week @ 2024-07-13 1/week @ 2024-07-20 6/week @ 2024-07-27 117/week @ 2024-08-03 79/week @ 2024-08-10 63/week @ 2024-08-17

每月下载 265
hyperdrive-math 中使用

Apache-2.0

75KB
1.5K 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的所有功能都存在。

此库的Python绑定可以通过 hyperdrivepy 或查看agent0(用于利用 hyperdrivepy 的Python应用程序)访问。

此库的TypeScript绑定可在此找到 此处

资源

Hyperdrive文档包括如何使用Hyperdrive获取和提供流动性、开发人员寻求以编程方式使用Hyperdrive的文档以及想要将Hyperdrive与收益来源集成的开发人员的文档。

《Hyperdrive 白皮书》[1]描述了Hyperdrive如何按需铸造术语、使LP提供永恒流动性的技术细节,以及AMM定价模型的工作原理。

入门指南

先决条件

安装Forge

此存储库使用Forge来构建和测试与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许可证第2版(“开源许可证”)许可。

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

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

依赖项

~24–41MB
~768K SLoC