Skip to content

[FEATURE]: Implement Core ERC-721 Identity Contract with IdentityState and Recovery Flow #17

@dhruvi-16-me

Description

@dhruvi-16-me

Feature and its Use Cases

Feature: Core ERC-721 Identity Token with Recovery & Backup Wallet Flow

What is the feature?

This feature proposes implementing the foundational ERC-721 Identity Token contract that operationalizes the already-defined protocol surface (DataTypes, Events, and Errors).

The contract will:

  • Implement ERC-721 identity tokens
  • Store per-token IdentityState
  • Support backup wallet configuration
  • Support timelocked backup wallet updates
  • Implement identity recovery flow
  • Implement compromised identity flag
  • Emit existing protocol events
  • Use existing custom errors

This completes the core identity layer that the repository structure already defines but does not yet implement.

How would users benefit from it?

Users would benefit from:

  • Self-sovereign identity ownership via ERC-721 tokens
  • Account recovery in case of lost private keys
  • Reduced risk of permanent identity loss
  • Security through backup wallet delegation
  • Compromise signaling, improving trust in identity systems

This makes the identity system usable in real-world scenarios where key loss and compromise are realistic risks.


What scenarios would this feature address?

  1. Lost Private Key

    • User loses access to wallet
    • Backup wallet can recover ownership of identity token
  2. Compromised Identity

    • User marks identity as compromised
    • Trust systems can react accordingly
  3. Secure Backup Updates

    • User changes backup wallet
    • Timelock prevents instant malicious takeover
  4. Foundation for Endorsements

    • Establishes identity ownership before endorsement logic is built

This feature establishes the foundational identity lifecycle necessary for any decentralized trust system.


Additional Context

  • The repository already defines:

    • IdentityState in DataTypes.sol
    • Identity lifecycle events in Events.sol
    • Custom errors in Errors.sol
  • However, no contract currently implements these definitions.

This feature completes the base identity layer before endorsement and trust extensions are introduced.

No existing contracts need modification.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions