Skip to main content

架构

LI.FI 合约采用 EIP-2535(多 facet 代理)标准构建。合约逻辑位于单个合约背后,该合约进而使用 DELEGATECALL 调用包含业务逻辑的 facet 合约。 所有业务逻辑均使用位于 src/Facets 中的 facet 合约构建。 有关 EIP-2535 的更多信息,你可以在此处查看完整的 EIP。

合约流程

一个基础示例是用户使用 Stargate Protocol 从一条链桥接到另一条链。用户会与 LI.FIDiamond 合约交互,该合约将 Stargate 特定的调用传递给 StargateV2Facet,后者再将所需的调用和参数传递给 Stargate 的合约。 基本流程如下图所示。 Diamond contract

Diamond 辅助合约

LI.FI Diamond 合约会与一些辅助合约一起部署,这些辅助合约用于协助诸如升级 facet 合约、查找 facet 合约上的方法、所有权检查以及资金提取等功能。有关具体细节,请查阅 EIP-2535 Diamond helper contracts