Skip to main contentA-REX Foundation

المخططات · 01

البنية: المستويات والطبقات

مستويا المستودع، والطبقات الأربع للمعيار، واتجاه كل اعتماد.

المستويات

الطبقات الأربع للمعيار

flowchart TB
    L3["الطبقة 3 · IARexAttest<br/>attest · revokeAttestation · isAttested · جهات إصدار موثوقة لكل موضوع"]
    L2["الطبقة 2 · IARexHook + IARexHookManager<br/>hookFlags · check → bytes32 · onExecuted · getHooks"]
    L1["الطبقة 1 · IARexBatch<br/>createBatch · batchOf · setBatchStatus · setBatchMetadata · transform · parentsOf"]
    L0["الطبقة 0 · ERC-1155 + ERC-165 + IERC7943MultiToken<br/>freeze · forcedTransfer · canSend · canReceive · canTransfer"]
    L3 --- L2 --- L1 --- L0
    classDef l3 fill:#edf5ff,stroke:#0f62fe,color:#161616
    classDef l2 fill:#d0e2ff,stroke:#0f62fe,color:#161616
    classDef l1 fill:#a6c8ff,stroke:#0f62fe,color:#161616
    classDef l0 fill:#78a9ff,stroke:#0043ce,color:#161616
    class L3 l3
    class L2 l2
    class L1 l1
    class L0 l0

مستويا المستودع واتجاه الاعتماد

flowchart LR
    STD["<b>المعيار</b><br/>standard/ · contracts/standard/<br/>معياري · CC0"]
    REF["<b>التنفيذ المرجعي</b><br/>ARexToken · ARexAttestations<br/>MIT"]
    DEMO["<b>العروض التوضيحية</b><br/>7 خطافات · 3 امتدادات<br/>MIT · غير معياري"]
    STD -->|يُنفَّذ بواسطة| REF -->|يُوضَّح بواسطة| DEMO
    DEMO -.->|تعتمد على الواجهات فقط| STD

لا يعتمد المعيار على أي شيء. ويعتمد الرمز المرجعي على المعيار وعلى OpenZeppelin. وتعتمد الخطافات والامتدادات على واجهات المعيار فقط، ولا تعتمد أبدًا على ARexToken: أزلها جميعًا وسيبقى رمز مطابق قائمًا.

منظور المكونات للتنفيذ المرجعي

classDiagram
    class IARexBatch { <<interface>> }
    class IARexHook { <<interface>> }
    class IARexHookManager { <<interface>> }
    class IARexAttest { <<interface>> }
    class IERC7943MultiToken { <<interface>> }
    class ARexToken {
        +createBatch()
        +transform()
        +setBatchStatus()
        +forcedTransfer()
        +setFrozenTokens()
        +registerHook()
        +transferCheck()
        -_update()
    }
    class ARexAttestations {
        +attest()
        +revokeAttestation()
        +isAttested()
        +setTrustedIssuer()
    }
    IERC7943MultiToken <|.. ARexToken
    IARexBatch <|.. ARexToken
    IARexHookManager <|.. ARexToken
    IARexAttest <|.. ARexAttestations
    ARexToken --> "0..n" IARexHook : مسار مرتب
    ARexAttestations --> IARexBatch : هل الدفعة موجودة؟
    IARexHook <|.. EligibilityHook
    IARexHook <|.. ExpiryHook
    IARexHook <|.. AttestationHook
    IARexHook <|.. PerishabilityHook
    IARexHook <|.. SeasonalHook
    IARexHook <|.. DeliveryHook
    IARexHook <|.. TraceabilityHook
    AttestationHook --> IARexAttest : isAttested
    CarbonImmobilizationWrapper --> IARexAttest : attest
    ParametricInsurance --> IARexAttest : isAttested