ERC3643
GithubWhitepaperERC3643 Association
  • Overview of the Protocol
    • ERC-3643 Permissioned Tokens
    • Built-in Compliance Framework
      • Onchain identities management
      • Modular Compliance add-ons
    • Interoperability & Standards
  • Smart contracts library
    • Permissioned Tokens
      • Tokens Interface
    • Onchain identities
      • ONCHAINID Interface
      • Identity Registry
        • Identity Registry Interface
      • Identity Registry Storage
        • Identity Registry Storage Interface
      • Trusted Issuers Registry
        • Trusted Issuers Registry Interface
      • Claim Topics Registry
        • Claim Topics Registry Interface
    • Compliance management
      • Compliance Interface
    • Tokens Factory
      • T-REX Factory Interface
      • Tokens Gateway
        • T-REX Gateway Interface
      • Official Factories & Gateways
    • Proxies
  • Resources & Community
    • Get Involved
Powered by GitBook
LogoLogo

ERC3643 ASBL - 2024 - contact@erc3643.org

On this page
Export as PDF
  1. Smart contracts library
  2. Compliance management

Compliance Interface

The Compliance contract interface defines the set of functions and events used to enforce regulatory compliance within the T-REX protocol. Below is a detailed breakdown of each function and event, explaining its purpose, source, and functionality.

TokenBound

Event

Description: Emitted when a token has been bound to the compliance contract.

event TokenBound(address _token);

TokenUnbound

Event

Description: Emitted when a token has been unbound from the compliance contract.

event TokenUnbound(address _token);

bindToken

Source: ICompliance

Description: Binds a token to the compliance contract. This function emits a TokenBound event.

function bindToken(address _token) external;

unbindToken

Source: ICompliance

Description: Unbinds a token from the compliance contract. This function emits a TokenUnbound event.

function unbindToken(address _token) external;

transferred

Source: ICompliance

Description: Called whenever tokens are transferred from one wallet to another. This function can update state variables in the compliance contract, which are used by canTransfer to decide if a transfer is compliant.

function transferred(
    address _from,
    address _to,
    uint256 _amount
) external;

created

Source: ICompliance

Description: Called whenever tokens are created on a wallet. This function can update state variables in the compliance contract, which are used by canTransfer to decide if a transfer is compliant.

function created(address _to, uint256 _amount) external;

destroyed

Source: ICompliance

Description: Called whenever tokens are destroyed. This function can update state variables in the compliance contract, which are used by canTransfer to decide if a transfer is compliant.

function destroyed(address _from, uint256 _amount) external;

isTokenAgent

Source: ICompliance

Description: Returns true if the address given corresponds to a token agent.

function isTokenAgent(address _agentAddress) external view returns (bool);

isTokenBound

Source: ICompliance

Description: Returns true if the address given corresponds to a token that is bound with the compliance contract.

function isTokenBound(address _token) external view returns (bool);

canTransfer

Source: ICompliance

Description: Checks if a transfer is compliant. This is a read-only function that cannot be used to increment counters, emit events, or modify state variables.

function canTransfer(
    address _from,
    address _to,
    uint256 _amount
) external view returns (bool);

PreviousCompliance managementNextTokens Factory

Last updated 11 months ago