@balancer-labs/sor

中文文档
4.1.3发布于 2025/02/04GPL-3.0-onlyTypeScriptESM + CJS近 30 天下载 1.3万

有两种互换方式:

中文使用文档
文档目录4 节
  1. 使用概览和示例
  2. 捐出/添加新池
  3. 环境变量
  4. 关于许可证发放的说明

Smart Order Router (SOR)

Smart Order路由器,或称SOR,是跨池的路由订单的脱链线性优化,用于最佳价格执行.

SOR存在于"青铜发行"中,作为将所有"平衡"集合的流动性集合起来的一种方式. " 平衡器 " 未来发行将实现这一链上目标,并允许合同总的可填充流动资金.

流动性聚合器可以自由使用 SOR npm 软件包或创建自己的顺序路由跨池.

更多信息

使用概览和示例

有两种互换方式:

互换正则 - 也就是说... 您想要将 1 ETH 转换为输入, SOR 将计算您收到的 BAL 的 X 量 .
或者说
交换快取 - 也就是说... 您想要得到准确的 BAL 和 SOR 将计算您必须输入的 X ETH 量 .

SOR将返回总返回/总输入以及列表互换以实现总计. 互换可以通过直接泳池,即A > POOL1 > B,也可以通过多跳泳池,即A > POOL1 > C > POOL2 > B. 互换以可以直接到Vault执行交易的格式返回.

示例文件 swapExample.ts 用于: ./测试脚本中,用评论来显示全部实例.

要运行 :

在 root dir 中创建 .env 文件 。 根据使用的网络,添加一个RPC URL(如Alchemy,Infura),例如: RPC_URL_MAINNET=alchemy/infura

例如,框外支持的网络有:

RPC_URL_MAINNET
RPC_URL_POLYGON
RPC_URL_ARBITRUM
RPC_URL_GNOSIS
RPC_URL_ZKEVM
RPC_URL_GOERLI

安装依赖性 : $ yarn install

运行示例 : $ ts-node ./test/testScripts/swapExample.ts

捐出/添加新池

正在本地测试 :

  1. 添加.env并添加以下 RPC URL( 如 Alchemy, Infura)
RPC_URL_MAINNET=
RPC_URL_POLYGON=
  1. 启动本地节点以测试:

$ yarn run node

$ yarn run node:polygon

  1. 运行测试 : $ yarn test

运行单一测试文件使用 test:only,例如:

$ yarn test:only test/composableStable.integration.spec.ts

添加新池 :

见信息 这里

环境变量

可选配置值可以在.env文件中设置:

PICE ERROR TOLENCE - 我们期望交换后的价格在 SOR 建议的路径中有多接近. 默认为0.00001.

INFINITESIMAL - Infinitesimal是一个用于初始化互换金额的金额,所以它们不是零或者路径的极限. 默认为0.00001.

示例

PRICE_ERROR_TOLERANCE=0.00001
INFINITESIMAL=0.000001

关于许可证发放的说明

除另有说明外,本寄存器中的代码为许可GPLv3.

超流体实验室有限公司是目录的拥有者 balancer-sor/src/pools/gyro2Pool/, (中文(简体) ), balancer-sor/src/pools/gyro3Pool/, (中文(简体) ), balancer-sor/src/pools/gyroEPool/, (中文(简体) ), balancer-sor/src/pools/gyro2V2Pool/,以及 balancer-sor/src/pools/gyroEV2Pool/ 以及本文件所载的任何随附文件(统称这些“软件”)。 这些软件的使用仅须符合下列条件: 调色镜池许可证,在所提供的链接中提供(“电极池许可证”)。 这些软件不属于通用公共许可证的涵盖范围,除陀螺仪池许可证规定的有限权利外,不赋予用户任何其他权利。 超级流体实验室有限公司和平衡实验室之间的特殊混合许可证 Oü 管理超流体实验室有限公司使用平衡实验室 Oü 代码 特别许可,该链接可在提供的链接中获取。 通过使用这些软件,你同意受"陀螺仪池许可证"的条款和条件的约束. 如果你不同意电极池许可证的所有条款和条件,请不要使用任何这些软件.

版本与发布记录

@balancer-labs/sor 共发布 108 个版本,首次发布于 2020/02/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
4.1.3latest2025/02/041.8 年前
4.1.22025/02/041.8 年前
4.1.1-beta.182024/08/082 年前
4.1.1-beta.172024/02/212 年前
4.1.1-beta.162023/08/093 年前
4.1.1-beta.152023/08/013 年前

其他发布通道:next → 1.0.0-1,beta → 4.0.1-beta.12-beta.0。

关于 @balancer-labs/sor 的常见问题

@balancer-labs/sor 是什么?

有两种互换方式:

如何安装 @balancer-labs/sor?

在项目目录运行 npm install @balancer-labs/sor,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@ethersproject/abi(^5.4.1)、@ethersproject/address(^5.4.0)、@ethersproject/bignumber(^5.4.2)、@ethersproject/constants(^5.4.0)、@ethersproject/contracts(^5.4.1)、@ethersproject/providers(^5.4.4)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@balancer-labs/sor 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@balancer-labs/sor 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@balancer-labs/sor 可以商用吗?

@balancer-labs/sor 使用 GPL-3.0-only 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以 GPL-3.0 兼容许可开源,并附带专利与反锁定条款。仅内部使用不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@balancer-labs/sor 的下载量有多少?

根据 npm 官方下载统计,@balancer-labs/sor 在 2026/10/08 – 2026/11/06 这 30 天内被下载 13,065 次,日均约 436 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@balancer-labs/sor 还在维护吗?

最新版本 4.1.3 发布于 2025/02/04(1.8 年前);至今共发布 108 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/02/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。