概述
LI.FI SDK v3 经历了一次重大更新,改进了与流行库(如 Viem)的兼容性,并添加了新功能,包括对多个生态系统的支持,从 Solana 开始。因此,如本指南中详细说明的那样,您需要注意一些破坏性更改和弃用。我们还建议查看更新的文档以了解此处未涵盖的其他新功能。 要开始使用,请安装最新版本的 LI.FI SDK。配置
我们对 LI.FI SDK 的配置方式进行了重大更改。它不再基于类,因此您不需要创建、维护和共享 LiFi 类实例来使用 SDK 功能。相反,它现在基于函数,允许您配置一次并从任何地方更新配置,而无需维护或共享配置对象的引用。您可以简单地从包中导入所需的函数。阅读更多配置 SDK 在此示例中,您可以使用 SDK v3 从任何地方调用getQuote 函数,而使用 SDK v2,您必须共享创建的 LiFi 类实例并将 getQuote 作为该类的方法调用。
LiFi 接口中与配置相关的函数。之前的接口包括:
重命名的方法
基于类的方法之前支持的所有方法现在都是可以直接从@lifi/sdk 包导入的单独函数。其中一些方法已重命名,以更好地反映其功能或具有更简洁的名称。
-
getContractCallQuote->getContractCallsQuote -
getTokenApproval->getTokenAllowance -
bulkGetTokenApproval->getTokenAllowanceMulticall -
approveToken->setTokenAllowance -
moveExecutionToBackground->updateRouteExecution
从 Ethers.js 迁移到 Viem
自 LI.FI SDK 的第一个版本以来,我们一直依赖Ethers.js 库进行所有 EVM 相关的交互。但是,随着行业的发展,Viem 正在获得广泛采用并开始取代 Ethers.js。
为了确保我们的产品保持强大和面向未来,我们决定将整个堆栈过渡到更可靠的解决方案 - Viem(Widget 的 Wagmi)。
有关更多详细信息,请参阅 Ethers v5 → viem 迁移指南。除其他显著变化外,此过渡还将我们之前在 v2 中使用的所有 BigNumber 实用程序替换为原生 bigint 基元。
多生态系统支持
LI.FI SDK v3 现在支持两个生态系统——EVM 和 Solana——还有更多即将推出。为了适应这些新生态系统,我们在 SDK v3 中引入了生态系统提供程序的概念。我们从 SDK v2 中提取了所有 EVM 相关功能并将其集成到一个 EVM 提供程序中。此外,还添加了一个 Solana 提供程序,以在所有 SDK 功能中启用 Solana 相关功能。 这些生态系统提供程序在设计时考虑了模块化,并且完全可以进行 tree-shake,确保如果不使用它们,它们不会给您的捆绑包增加不必要的重量。 以前,必须将Ethers.js Signer 对象传递给 executeRoute 和其他函数以进行 EVM 交互。随着生态系统提供程序的引入,您只需要在设置 SDK 时配置它们一次。之后,您可以使用 executeRoute 和其他函数而无需传递任何其他选项。SDK 将自动确定适当的生态系统提供程序,如果未配置合适的提供程序,则会通知您。
阅读更多SDK 生态系统提供程序简介。

