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
捐出/添加新池
正在本地测试 :
- 添加.env并添加以下 RPC URL( 如 Alchemy, Infura)
RPC_URL_MAINNET=
RPC_URL_POLYGON=
- 启动本地节点以测试:
$ yarn run node
$ yarn run node:polygon
- 运行测试 :
$ 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ü 代码 特别许可,该链接可在提供的链接中获取。 通过使用这些软件,你同意受"陀螺仪池许可证"的条款和条件的约束. 如果你不同意电极池许可证的所有条款和条件,请不要使用任何这些软件.