Security Model Overview
All core contracts extend OpenZeppelin’s audited upgradeable libraries (AccessControl2StepUpgradeable, ERC20Upgradeable, ERC20PermitUpgradeable, Initializable). Stablecoin OFT contracts are independently audited. Distinct roles enforce separation of duties. Critical pairs are split by design (pauser vs unpauser, minter vs burner, fee admin vs token mint authority, messaging channel manager vs message nilifier). EIP-7201 namespaced storage eliminates storage collision risks during upgrades. Proxy contracts must be deployed and initialized atomically to prevent front-running. Multiple independent enforcement layers (pause, rate limit, allowlist, fee, credit redirect) operate simultaneously. Compromise of one layer does not disable the others.Compliance Features
KYC/AML Enforcement via Allowlist
The three-mode allowlist system directly supports compliance workflows:
Mode transitions can be performed instantly by
DEFAULT_ADMIN_ROLE without requiring contract upgrades.
Credit Redirect for Non-Allowlisted Recipients
setCreditRedirectConfig on the OFT redirects inbound credits for non-allowlisted recipients to an escrow address and emits CreditRedirected, so the message can complete without crediting a restricted address. When redirected, _credit reports amountReceivedLD = 0 to OFTReceived / compose. When redirect is disabled, those credits follow normal token allowlist and pause rules on mint/transfer. Messaging channel roles (nilify / skip) can clear paths that fail or should be ignored.
Fund Recovery for Regulatory Actions
TherecoverFunds() function enables compliance-mandated seizures:
DEFAULT_ADMIN_ROLE).
Workflow:
- Compliance team blacklists the target address via
BLACKLISTER_ROLE - Default admin calls
recoverFunds()to move tokens to a designated custody address
Per-Destination Controls
Per-destination pause (PauseByID) enables targeted responses when a specific chain requires isolation — whether for regulatory reasons, security incidents, or maintenance:
- Pause transfers to/from a specific destination chain
- Maintain normal operations on all other chains
- No contract upgrade required
Audit Trail via Events
Every state-changing operation emits an indexed event:
All events are indexed where applicable, for off-chain monitoring and reporting.
Threat Model
Monitoring
Deploy off-chain monitoring for:Next Steps
- RBAC Reference for the complete role-to-function matrix
- Architecture for the system design overview