Types of Smart Contracts
Arcana Auth uses multiple smart contracts that work together to achieve user data privacy and access control. Some of these contracts are deployed by default while others are deployed when apps register with Arcana.
Arcana Auth uses upgradable proxy contracts to implement the Arcana Auth protocol.
Proxy Contract Patterns
There are multiple upgradable proxy contract patterns that are available. For example, diamond proxy, transparent proxy, beacon proxy, and UUPS proxy.
Arcana uses the following proxy contract patterns while implementing the Arcana Auth protocol:
- UUPS proxy
- Beacon proxy
Arcana Contract Categories
Arcana smart contracts can be categorized depending on whether their primary function context is an app or the Arcana Auth protocol as a whole. These two categories are:
Core System Contracts: These contracts are used to implement the core Arcana Auth protocol, and are singleton in nature. All of the system contracts implement the protocol logic but not all of them store data (program state).
dApp Contracts: These contracts are deployed per app. The deployment happens after an app is registered with the Arcana Developer Dashboard. Only registered apps can integrate with the Arcana Auth SDK.