Skip to main content
面向资产管理者的特色功能。 在一笔已签名的交易中构建多策略收益组合,这是无需对每一步单独锁定资金即可构建投资组合的标准模式。

Scenario

某用户希望将其 USDC 头寸分散配置到两个收益场所:60% 存入 Aave v3 的 aEthUSDC,40% 存入 Morpho 的 Steakhouse USDC。该 flow 使用 core.split 按固定的基点(basis-point)比例划分输入资源,将两个输出句柄分别接入独立的 lifi.zap 节点,并为每个 zap 输出附加一个滑点 guard。 这个 recipe 是投资组合分散配置的标准结构,适用于任何将单个输入资源拆分、并将各拆分部分路由到不同终端场所的模式。

What this recipe demonstrates

  • 使用单个基点比例的 core.splitbps: 6000 将 60% 发送到输出 a,其余 40% 发送到输出 b
  • 通过两个针对不同协议的 lifi.zap 节点并行消费两个拆分输出。
  • 为每个 zap 的 amountOut port 独立附加一个 slippage guard。
  • 多个终端资源(Aave 与 Morpho 的凭证代币)在单笔交易中被清扫(sweep)给发送方。

Full example

改编自 composer-sdk-examples 仓库中的 splitAndZap.ts

What to observe

  • Inputs. 一个资源输入(amountIn: USDC)。示例使用 10,000 USDC。
  • Nodes. 三个 op:一个 core.split,两个 lifi.zap
  • Split wire format. flow.nodes[0].config === { bps: 6000 },其 bind.source 指向 input.amountIn。输出在解构返回值上命名为 ab,它们成为引用 split.asplit.b
  • Guards. 每个 zap 在 amountOut 上都携带一个独立的、100 bps(1%)的 slippage guard。
  • Terminal resources. 两个:来自 Aave zap 的 aEthUSDC,以及来自 Morpho zap 的 Steakhouse vault 份额。两者都被清扫给发送方。
  • producedResources[<name>].simulated?.amountOut. producedResources 中每个 zap 输出对应一个条目,各自带有独立的 simulated?.amountOut / simulated?.amountOutMin