策略

概述如何成为 Rubicon Pools 的策略师

策略师有能力使用 BathToken 的流动性出价和/或询价,以便在 Rubicon 订单簿上做市。 他们利用链下策略在矿池系统范围内进行交易并赢得奖励。

有关示例 javascript 文件和机器人的链接,请参阅此提供的示例

策略师切入点和杠杆

Pools 系统中的策略师具有三个关键功能,他们可以利用它们在 Rubicon 上做市。策略师在使用 BathToken 资金做市时(参见策略师BootyClaim)赢得了他们创造的所有填充的一部分的好处。三个主要功能如下:

  • executeStrategy - 这是策略师用来在闭环系统中进行交易的核心功能。它允许在记录策略师和关键数据的同时在订单簿中进行出价和/或询价,这样他们就可以因 NPV 积极的做市行为而获得奖励

  • bathScrub - 此功能是必须在 Rubicon Pools 上执行的强制性“清洁”功能,以使其有效运行。此函数解析给定 BathPair 上的未完成订单。这确保了在“时间到期”之后,仍然在订单簿中的任何订单都会被记录以获取收益,并且流动性会返回到池中。此外,必须调用此函数以减少给定货币对的未完成订单数量以遵守 maxOutstandingPairCount

  • removeLiquidity - 此功能允许策略师“规避风险”并从他们放置在 Pools 流动性中的订单簿中移除流动性。

关键思考

为了在 Rubicon 市场上利用用户资金和做市商,策略师有一个核心切入点:BathPair.sol 上的 executeStrategy 功能。 策略师的角色是找到准确的报价,以便使用自动且专门放置在 Rubicon 订单簿中的用户资金; 池允许在 Rubicon 订单簿中放置投标或要求。

此函数有许多输入直接映射到 RubiconMarket.sol 上的报价函数:

function executeStrategy(
address targetStrategy, //address of the strategy to use - PairsTrade in v0
 uint256 askNumerator, // *Asset Amt* / Quote Amt
 uint256 askDenominator, // Asset Amt / *Quote Amt*
  uint256 bidNumerator, // *Quote Amt* / Asset Amt
  uint256 bidDenominator // Quote Amt / *Asset Amt*
)
  • targetStrategy - 使用给定输入执行做市策略的合约地址。 在当前版本的池中,唯一批准的策略是配对交易。

  • askNumerator - 将用于与 LP 基金进行资产数量(例如 WBTC)的交易的确切分子 (pay_amt)。

  • askDenominator - 将用于与 LP 基金以报价资产金额(例如 USDC)进行交易的确切分母 (buy_amt)。

  • bidNumerator - 精确的分子 (pay_amt),将用于与 LP 基金进行交易的报价资产金额(例如 USDC)。

  • bidDenominator - 准确的分母 (buy_amt),用于以资产金额(例如 WETH)进行此出价。

策略师应根据用户资金的市场条件确定链下最佳出价并要求做出,以便获得成功执行的支付。

教程

Coming soon! For now, check out this example bot.

Last updated