跳转到主要内容
LI.FI SDK 提供了请求路由和报价的功能,以及执行它们的功能。本指南将指导您如何使用 getRoutesgetQuote 函数发出请求的过程。

如何请求路由

首先,这里有一个简单的示例,展示了如何请求路由以在 Arbitrum 上桥接和交换 10 USDC 至 Optimism 上的最大数量的 DAI。
当您请求路由时,您会收到一个路由对象数组,其中包含决定采取哪条路由进行交换或桥接转账的基本信息。在此阶段,不包括交易数据,必须单独请求。阅读更多 执行路由/报价 此外,如果您希望仅接收我们的智能路由 API 可提供的最佳选项,那么使用 getQuote 请求报价可能更好。

路由请求参数

getRoutes 函数期望一个 RoutesRequest 对象,该对象指定了一个所需的 任意到任意 转账,并包含计算最有效路由所需的所有信息。

参数

以下是 RoutesRequest 接口的参数及其描述:

路由选项

RouteOptions 接口允许进一步自定义路由请求。以下是 RouteOptions 接口的参数及其描述:

允许/拒绝/偏好

AllowDenyPrefer 接口用于指定桥接或交换的偏好。使用 allow 选项,您可以允许工具,并且只有这些工具将被用来找到最佳路由。在 deny 中指定的工具将被列入黑名单。 您可以在 列表:链、桥接、DEX 聚合器、解算器 中找到所有可用的键,或从 API 获取可用选项。见 链和工具 以下是 AllowDenyPrefer 接口的参数:

时间

Timing 接口允许您根据时间策略指定路由执行的偏好。这可以帮助优化您的请求性能,基于时间策略。 Timing 接口的参数:

时间策略

这可以帮助基于特定条件优化请求的时间。
您可以实现自定义时间策略以改善用户体验并优化您的应用程序的性能,通过控制路由执行的时间。

请求报价

当您请求报价时,我们的智能路由 API 提供最佳可用选项。报价包括启动交换或桥接转账所需的所有必要信息和交易数据。 这里有一个简单的示例,展示了如何请求报价以在 Arbitrum 上桥接和交换 10 USDC 至 Optimism 上的最大数量的 DAI。

报价请求参数

getQuotes 函数期望一个 QuoteRequest 对象。RoutesRequestQuoteRequest 有一些相似之处和细微差别,下面,您可以找到 QuoteRequest 接口参数的描述。

其他报价参数

除了上述参数外,路由选项 部分中列出的所有参数在使用 getQuote 时也可用,除了 allowSwitchChain,它专门用于控制路由请求中的链切换。 此外,指定允许、拒绝或偏好某些桥接和交换的选项的参数名称略有不同:
  • allowBridges (string[], 可选)
  • denyBridges (string[], 可选)
  • preferBridges (string[], 可选)
  • allowExchanges (string[], 可选)
  • denyExchanges (string[], 可选)
  • preferExchanges (string[], 可选)
此外,您可以使用 swapStepTimingStrategies 参数为交换步骤指定时间策略
  • swapStepTimingStrategies (string[], 可选) 指定交换步骤的时间策略。此参数允许您定义请求应等待结果的时间长短,并管理预期结果。格式为:

请求合约调用报价

除了请求常规报价外,LI.FI SDK 还提供了请求目的地合约调用报价的功能。 Composer 文档 中阅读更多。有关 SDK 特定的 Composer 集成,请参见 SDK Composer 集成指南 这里有一个简单的示例,展示了如何请求报价以桥接和使用来自 Optimism 的 ETH 在 Base 链上购买 OpenSea 市场上成本为 0.0000085 ETH 的 NFT。此示例中的调用数据是使用 OpenSea Seaport SDK 获得的。