Suspension and Freezing
General Provisions and Scope
The DEUSS platform includes robust on-chain administrative controls to halt, suspend, or freeze specific assets, entities, or trades in response to security incidents, compliance breaches, or legal orders.
These operations are strictly role-gated on-chain. Depending on the severity and scope of the required intervention, the DEUSS Backoffice or Validator teams can invoke different types of freezes.
Types of On-Chain Suspensions and Freezes
1. Bond Suspension (BondRegistry)
- Target: A specific Bond issue (ISIN + Version).
- Role Required:
SUSPEND(andUNSUSPENDto revert). - Mechanism: The
BondRegistry.suspendBond()function changes the bond's global state toSuspended. - Impact: Once a bond is suspended, it halts major lifecycle operations across the platform until it is explicitly reactivated using
unsuspendBond(). It restricts further minting, trading, and certain corporate actions.
2. Entity Type Freezing (EntityRegistry)
- Target: An entire class of entities (Entity Type).
- Role Required:
ENTITY_TYPE_MANAGER. - Mechanism: The
EntityRegistry.freezeEntityType()function permanently freezes an entity type classification. - Impact: This prevents the entity type metadata from being further modified or updated.
3. Entity Suspension (EntityRegistry)
- Target: A registered company/entity.
- Role Required:
GUARD. - Mechanism: The
EntityRegistry.setEntityStatus()function withEntityStatus.DISABLED. - Impact: Disables the entire entity on-chain, preventing all associated wallets and smart accounts from executing platform-level actions.
4. Wallet / Account Suspension (EntityRegistry)
- Target: A specific user wallet or smart account.
- Role Required:
GUARD. - Mechanism: The
EntityRegistry.setAccountStatus()function withAccountStatus.DISABLED. - Impact: Disables the specific wallet on-chain. This does not freeze the tokens themselves but prevents the wallet from interacting with core DEUSS contracts (e.g., placing offers, executing transfers).
5. Token Balance Freezing (DEUSSToken)
- Target: A specific user's wallet balance for a particular bond.
- Role Required:
TOKEN_FREEZER_ROLE. - Mechanism: Invokes the freezing logic to lock a specific
amountof tokens in the user's wallet. - Impact: The frozen tokens remain in the user's wallet (visible in their balance) but cannot be transferred, sold, or escrowed. This is commonly used for compliance holds or vesting locks. (Note: The
FORCE_TRANSFER_ROLEcan override this freeze if a regulatory seizure is required).
6. Marketplace & Orderbook Freezing (Offers, Deals, Orders, Trades)
- Target: Specific active trades, orders, offers, or pending deals.
- Role Required:
FREEZE_ROLE. - Mechanism:
- In
Marketplace:setOfferFrozen()andsetDealFrozen(). - In
OrderbookMarketplace:setOrderFrozen()andsetTradeFrozen()(requires an explicitreasonhash).
- In
- Impact: Freezing an offer or deal blocks normal progression, settlement, and payout. The locked escrow cannot be released or rerouted by normal participants. It is often used as a prerequisite step before a forced administrative seizure (
seizeDeal/seizeTrade) can be executed by an arbitrator.
Sequence Diagrams
The following diagrams illustrate how authorized administrators trigger these various protective freezes on the blockchain.