1LAYER Tech Documentation
  • Intro
  • 1LAYER AI
    • AI Cognitive Framework
  • 1LAYER DeFi
    • Smart Contract System
      • Flows
        • Swap Flow
          • Interchain Swap
          • Intrachain Swap
        • Vault Flow
      • Smart Contracts
        • Broadcaster Components Diagram
        • User Components Diagram
        • Admin Components Diagram
Powered by GitBook
On this page
  1. 1LAYER DeFi
  2. Smart Contract System
  3. Smart Contracts

Admin Components Diagram

This page contains the components diagram for the Admin Role.

PreviousUser Components Diagram

Last updated 9 months ago

This diagram focuses on the regular user role and its interactions within the system. Here's a breakdown of the diagram:

  1. Main Components:

    • Registry: Provides access to other components and configurations.

    • InterNetworkExecutor: Handles cross-network swaps.

    • IntraNetworkExecutor: Handles within-network swaps.

    • Vault: Manages token deposits and withdrawals.

    • RegularUser: Represents the external entity with the regular user role.

  2. Relationships:

    • Solid lines with open arrows (-->) represent dependencies or usage.

  3. Entry Points:

    • InterNetworkExecutor: The swap(InterNetworkSwapActions) method is an entry point for cross-network swaps.

    • IntraNetworkExecutor: The swap(SwapAction) method is an entry point for within-network swaps.

    • Vault: The deposit(uint256) and withdraw(uint256) methods are entry points for vault operations.

  4. Key Interactions:

    • The RegularUser interacts directly with InterNetworkExecutor, IntraNetworkExecutor, and Vault.

    • All components depend on the Registry for accessing other parts of the system.

Diagram code
classDiagram
    class Registry {
        +setRolesManager()
        +setFeesReceiver()
        +setInterNetworkExecutor()
        +setIntraNetworkExecutor()
        +setCentralGateway()
        +setVaultToken()
        +setProtocolFee()
        +setVaultFee()
        +setSpecificGateway()
        +setTokensReceiver()
    }

    class RolesManager {
        +grantOperator()
        +revokeOperator()
    }

    class Gateway {
        +setMessagingProtocolGateways()
    }

    class Admin["Admin (External)"]

    Admin --> Registry : calls
    Admin --> RolesManager : calls
    Admin --> Gateway : calls

    Registry --> RolesManager : uses

    class Registry {
        <<entrypoint>>
    }
    class RolesManager {
        <<entrypoint>>
    }
    class Gateway {
        <<entrypoint>>
    }