OASIS Managers Complete Guide

Overview

The OASIS system provides a comprehensive set of managers that handle different aspects of the platform. This guide covers all managers, their use cases, best practices, and when to use each one.

Core Managers

1. AvatarManager

The AvatarManager is the central manager for all avatar-related operations in the OASIS system.

Key Features:

  • Avatar Lifecycle: Create, read, update, delete avatars

  • Authentication: Login, logout, session management

  • Profile Management: Avatar details, preferences, settings

  • Provider Integration: Works with all OASIS providers

  • Data Persistence: Saves avatar data across multiple storage providers

Main Methods:

// Avatar Creation & Management
public async Task<OASISResult<IAvatar>> SaveAvatarAsync(IAvatar avatar)
public async Task<OASISResult<IAvatar>> LoadAvatarAsync(Guid id)
public async Task<OASISResult<IAvatar>> LoadAvatarAsync(string username)
public async Task<OASISResult<IAvatar>> LoadAvatarByEmailAsync(string email)

// Avatar Authentication
public async Task<OASISResult<IAvatar>> LoginAsync(string username, string password)
public async Task<OASISResult<IAvatar>> LoginByEmailAsync(string email, string password)
public async Task<OASISResult<bool>> LogoutAsync()

// Avatar Details
public async Task<OASISResult<IAvatarDetail>> SaveAvatarDetailAsync(IAvatarDetail avatarDetail)
public async Task<OASISResult<IAvatarDetail>> LoadAvatarDetailAsync(Guid id)
public async Task<OASISResult<IAvatarDetail>> LoadAvatarDetailByUsernameAsync(string username)

Usage Example:

2. WalletManager

The WalletManager handles all wallet-related operations across multiple blockchain providers.

Key Features:

  • Multi-Provider Support: Works with all blockchain providers

  • Wallet Management: Create, manage, and retrieve wallets

  • Default Wallet Selection: Automatically selects the best wallet

  • Cross-Provider Operations: Manage wallets across different blockchains

Main Methods:

Usage Example:

3. KeyManager

The KeyManager handles cryptographic keys for secure operations.

Key Features:

  • Key Management: Manages public and private keys

  • Security: Private keys are encrypted and secure

  • Provider Support: Works with all blockchain providers

  • Authentication: Key-based authentication

Main Methods:

Usage Example:

Manager Comparison & Best Practices

When to Use Each Manager

🏆 AvatarManager - User Management

  • Use for: User accounts, profiles, authentication

  • Best when: Managing user data, login/logout, profile updates

  • Benefits: Centralized user management, authentication, profile data

💰 WalletManager - Wallet Operations

  • Use for: Wallet addresses, wallet management, transactions

  • Best when: Getting wallet addresses, managing wallets

  • Benefits: Multi-provider support, wallet management

🔑 KeyManager - Cryptographic Operations

  • Use for: Signing transactions, encryption, authentication

  • Best when: Need cryptographic keys for security operations

  • Benefits: Secure key management, encrypted storage

Best Practices

For User Operations

For Wallet Operations

For Cryptographic Operations

Security Considerations

🔒 Key Security

  • Private keys are encrypted in storage

  • Only accessible to logged-in avatar

  • Proper authentication required

🔒 Wallet Security

  • Wallet addresses are public

  • Private keys are encrypted

  • Secure key management

🔒 Avatar Security

  • User data is protected

  • Authentication required

  • Secure session management

Error Handling

All managers use OASISResult<T> wrappers for consistent error handling:

Integration Examples

Complete User Registration Flow


Last updated: December 2024 Version: 1.0

Last updated