工程开发
foundry avatar

foundry

CMTAT RuleEngine 合约的 Foundry 开发指南,包含测试、部署脚本以及专案特定的 Solidity 模式。

简介

此技能提供使用 Foundry 开发框架与 CMTAT RuleEngine 存储库交互的专业指南。适用于区块链开发人员、安全审计员以及使用证券型代币框架、ERC-3643 合规性及转账限制逻辑的智能合约工程师。开发人员可利用此指南优化在扩展 RuleEngineBase 合约、编写 RBAC 或 Ownable 变体单元测试,以及执行多链部署时的工作流程。

  • Foundry 测试套件:使用 .t.sol 文件、HelperContract 工具以及如 test_RevertWhen_ 的描述性命名规范,确保专案一致性。

  • 部署脚本:提供自动化合约部署模板,处理生产环境变量,并透过 vm.createSelectFork 使用 fork 模拟管理多链情境。

  • 安全性与断言:详细说明 Foundry 欺骗代码(cheatcodes)的使用,如 vm.prank、vm.expectRevert 和 vm.expectEmit,并配合检查状态转换与存取控制角色(如 DEFAULT_ADMIN_ROLE 与 MINTER_ROLE)的专用断言。

  • 架构整合:提供关于 CMTAT 相容性、ERC-1404 限制代码,以及多租户环境(多个代币共享单一合规控制器)下 RuleEngine 设定的背景资讯。

  • 输入:此技能预期使用者操作标准 Foundry 指令 (forge test, forge script),并假设对 Solidity 0.8.x 及 EVM 存储模式具备基础认知。

  • 输出:提供可直接使用的单元测试 Solidity 样板、包含 broadcast/verify 步骤的部署逻辑,以及针对 Gas 消耗或规则冲突的排错模式。

  • 约束:使用者必须注意存储库的「现状」(as-is) 状态、过多规则迭代对 Gas 成本的影响,以及在修改核心模组时同时测试 RBAC 与 Ownable/Ownable2Step 变体的要求。

  • 实用建议:始终使用既定的助手合约 (HelperContract 或 HelperContractOwnable) 以维持测试间的状态相容性,并确保限制代码在自订规则集中保持唯一,以避免使用者体验混乱。

仓库统计

Star 数
6
Fork 数
7
Open Issue 数
0
主要语言
Solidity
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 20:54
在 GitHub 查看