Snowball
  • Welcome to the Snowball
  • Introduction
    • Problem Statement
    • Vision and Mission
    • Solution Overview
  • Modular Naming Service (MNS)
    • What is MNS?
    • MetaMask Snaps
      • Knowledge Base
      • FAQ
    • Identity Management System
      • Claiming Identity
      • Claiming Identity (ENS, SNS...)
      • Sub-identity
      • Primary Identity
      • Transferring Identity
      • Extending Identity Registration
      • Selling Identity
    • Identity Data Management
      • Record Type
        • Address Records
        • TXT Records
      • Records CRUD
    • Reputation Scoring System
      • For Users
      • For Projects
      • Data Sources & Inputs
    • Pricing
    • Use Cases
    • Roadmap
  • Programs & Gamification
    • Referral & Affiliate Systems
      • Affiliate Referral System
        • Terms and Conditions
        • How to Refer as an Affiliate
        • Affiliate Leaderboard Program
        • Eligibility & Requirements
        • Affiliate Tiers, Leaderboard Pools and Commissions
      • Referral System
        • How to Refer
        • Referral Leaderboard Program
        • Referral Tiers, Leaderboard Pools and Commissions
        • Terms & Conditions
      • Leaderboard & Monthly Rewards
      • Payoffs
    • Rewards & Gamification
      • What is Flakes?
      • Achievements
      • Daily Tasks
      • Repeatable tasks
      • Leaderboard
  • Decentralized Identity Layer
    • What is DiD Layer?
    • Cross-chain Interactions
    • Architecture
      • Reverse lookup
    • Tokenomics and Value Economics
      • Tokenomics
      • Value Economics
    • Why use dID on Rollup?
    • Deployments
    • Technical Documentation
      • Smart Contracts
        • RegistrarController
        • TransferController
        • PriceController
        • PublicResolver
        • SaleController
        • SnowRegistry
      • Events Documentation
      • Rest API
      • Typescript SDK
      • CAIP2
      • Reverse Lookup
  • About us
    • Team
Powered by GitBook
On this page
  • Purpose:
  • Key Methods:
  • Events:
  • Interactions:
  • Grace Period
  1. Decentralized Identity Layer
  2. Technical Documentation
  3. Smart Contracts

RegistrarController

Purpose:

Manages identity registration, renewal, and batch record updates.

Key Methods:

  • makeCommitment(): Generates a commitment hash to reserve an identity.

  • commit(): Finalizes the commitment.

  • register(): Registers the identity after the waiting period.

  • renew(): Extends the identity’s expiration duration.

  • setRecords(): Batch updates resolver records (e.g., address, text, contenthash).

Events:

  • NameRegistered(name, node, owner, expires)

  • NameRenewed(name, node, duration, expires)

Interactions:

  • Works with PublicResolver to set/update records.

  • Uses PriceController to calculate registration/renewal fees.


Grace Period

Purpose: Enforces grace period rules post-identity expiration. Logic:

  • After expiration, ownership is retained for GRACE_PERIOD (e.g., 30 days).

  • Post-grace period, identities become available for purchase.

Interactions:

  • Integrated into RegistrarController for renewal checks.

PreviousSmart ContractsNextTransferController

Last updated 4 months ago