Modality 2: Custom Homologated Contract
For cases where ISBE's standard templates and libraries do not cover highly specific business logic requirements.
When to Choose It
- Highly customized business logic.
- Non-standard interactions between multiple actors.
- Need for full control over logic implementation.
Step-by-Step Guide
- Development: Contract programming. It is imperative to expose the
IAccessControl.hasRoleandIPause.pause/unpauseinterfaces. - Compliance Request: Submit the code to ISBE for homologation (Levels A, B, or C).
- Validation: ISBE performs security analysis and reproducible build verification. During this process, the
0x15Becontract will verify that OpenZeppelin'sPAUSER_ROLEis correctly assigned to the ISBE infrastructure, executing pause/unpause functions to ensure regulatory compliance. - Deployment: Once homologated, ISBE orchestrates the deployment of the Diamond Proxy pointing to your logic.
What the Builder Delivers
- Source Code: Solidity contract (with full dependencies).
- Test Suite: Unit tests with high coverage.
- Desired Roles: Initial permission configuration.
What ISBE Returns
- Use Case Address: The unique entry point for your use case.
Critical Requirements
- PAUSER_ROLE: Your contract must include ISBE's governance address in this role. This is a sine qua non condition for homologation.
Control Implications
ISBE will attempt to use the PAUSER_ROLE during network emergencies. If the owner revokes this role from ISBE, the network reserves the right to act via address filtering at the node level if the contract risks system stability.