架构
LI.FI 合约采用 EIP-2535(多 facet 代理)标准构建。合约逻辑位于单个合约背后,该合约进而使用DELEGATECALL 调用包含业务逻辑的 facet 合约。
所有业务逻辑均使用位于 src/Facets 中的 facet 合约构建。
有关 EIP-2535 的更多信息,你可以在此处查看完整的 EIP。
合约流程
一个基础示例是用户使用 Stargate Protocol 从一条链桥接到另一条链。用户会与 LI.FIDiamond 合约交互,该合约将 Stargate 特定的调用传递给 StargateV2Facet,后者再将所需的调用和参数传递给 Stargate 的合约。 基本流程如下图所示。
Diamond 辅助合约
LI.FI Diamond 合约会与一些辅助合约一起部署,这些辅助合约用于协助诸如升级 facet 合约、查找 facet 合约上的方法、所有权检查以及资金提取等功能。有关具体细节,请查阅 EIP-2535。

