Skip to main contentA-REX Foundation

Diagramme · 05

Rollen und Vertrauensgrenzen

Wer was mit dem Referenz-Token tun kann, wo die Vertrauensgrenze zu den Hooks verläuft und wie jeder Schlüssel empfohlenermaßen verwahrt wird. Befugnis leitet sich nie aus Salden ab.

Akteure und ihre Fähigkeiten

flowchart LR
    subgraph GOV["Governance-Multisig + Timelock"]
        ADMIN[DEFAULT_ADMIN_ROLE]
        UPG[UPGRADER_ROLE]
        HADM[HOOK_ADMIN_ROLE]
    end
    subgraph ENF["Durchsetzungs-Multisig (Compliance + Recht)"]
        ENFR[ENFORCER_ROLE]
    end
    subgraph OPS["Operative Dienste, minimale Rechte"]
        ISS[ISSUER_ROLE]
        STA[STATUS_ROLE]
        TRA[TRANSFORMER_ROLE]
        PAU[PAUSER_ROLE]
    end
    T[(ARexToken)]
    UPG -->|upgradeTo| T
    HADM -->|registerHook / removeHook| T
    ENFR -->|setFrozenTokens / forcedTransfer| T
    ISS -->|createBatch| T
    STA -->|setBatchStatus / setBatchMetadata| T
    TRA -->|"transform: Verarbeitung"| T
    PAU -->|pause / unpause| T
    HOLD["Inhaber / zugelassener Operator"] -->|"Transfer · Burn · Re-Batch"| T
    T -->|check · onExecuted · canSend · canReceive| HOOKS[Hooks]
    HOOKS -.->|"können nicht erneut eintreten, können keine Salden bewegen"| T

Die Vertrauensgrenze der Hooks

Ein Hook kannEin Hook kann nicht
eine Operation mit einem Code ablehnenirgendeinen Saldo ändern
eine ausgeführte Operation beobachtenden Token erneut betreten (Sperre)
canSend / canReceive beantwortenseine eigenen zwischengespeicherten Flags ohne erneute Registrierung ändern
die Charge über IARexBatch(msg.sender) lesenals EOA oder ohne ERC-165-Unterstützung registriert werden

Gegenmaßnahmen bei einem bösartigen oder defekten Hook: HOOK_ADMIN_ROLE entfernt ihn (Reihenfolge bleibt erhalten); PAUSER_ROLE hält alles außer erzwungenen Transfers an; ein Timelock auf Hook-Änderungen macht sie sichtbar, bevor sie wirksam werden.