Skip to main content

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

  1. Development: Contract programming. It is imperative to expose the IAccessControl.hasRole and IPause.pause/unpause interfaces.
  2. Compliance Request: Submit the code to ISBE for homologation (Levels A, B, or C).
  3. Validation: ISBE performs security analysis and reproducible build verification. During this process, the 0x15Be contract will verify that OpenZeppelin's PAUSER_ROLE is correctly assigned to the ISBE infrastructure, executing pause/unpause functions to ensure regulatory compliance.
  4. 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.

See Compliance Process