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