* feat: add enums.pulsar.go file for PermissionScope enum * refactor: remove PERMISSION_SCOPE_IDENTIFIERS_ENS enum value * feat: Add MsgRegisterService to handle service registration The commit message for these changes would be: feat: Add MsgRegisterService to handle service registration This commit adds a new message type `MsgRegisterService` to the DID module's transaction proto file. This message allows users to register a new service with a given permission scope and origin URI. The domain must have a valid TXT record containing the public key. The changes include: - Adding the `MsgRegisterService` message type with fields for authority, origin URI, and scopes - Adding the `MsgRegisterServiceResponse` message type to handle the response - Updating the Msg service to include a new `RegisterService` RPC method - Implementing the `RegisterService` method in the keeper This feature allows users to register new services on the DID chain, which is an important part of the overall DID functionality. * (no commit message provided) * fix: Add ProveWitness and SyncVault RPCs The commit message should be: feat: Add ProveWitness and SyncVault RPCs This change adds two new RPCs to the DID module: 1. ProveWitness: An operation to prove the controller has a valid property using ZK Accumulators. 2. SyncVault: Synchronizes the controller with the Vault Motr DWN WASM Wallet. These new RPCs allow for more advanced DID management functionality. * fix: Remove unused `Meta` message from `genesis.proto` * refactor: Simplify the types and properties to keep a consistent structure for the blockchain * (no commit message provided) * {} * feat: add Equal methods for AssetInfo and ChainInfo types
x/did
The Decentralized Identity module is responsible for managing native Sonr Accounts, their derived wallets, and associated user identification information.
Concepts
Account
An Account represents a user's identity within the Sonr ecosystem. It includes information such as the user's public key, associated wallets, and other identification details.
Decentralized Identifier (DID)
A Decentralized Identifier (DID) is a unique identifier that is created, owned, and controlled by the user. It is used to establish a secure and verifiable digital identity.
Verifiable Credential (VC)
A Verifiable Credential (VC) is a digital statement that can be cryptographically verified. It contains claims about a subject (e.g., a user) and is issued by a trusted authority.
State
Specify and describe structures expected to marshalled into the store, and their keys
Account State
The Account state includes the user's public key, associated wallets, and other identification details. It is stored using the user's DID as the key.
Credential State
The Credential state includes the claims about a subject and is stored using the credential ID as the key.
State Transitions
Standard state transition operations triggered by hooks, messages, etc.
Messages
Specify message structure(s) and expected state machine behaviour(s).
Begin Block
Specify any begin-block operations.
End Block
Specify any end-block operations.
Hooks
Describe available hooks to be called by/from this module.
Events
List and describe event tags used.
Client
List and describe CLI commands and gRPC and REST endpoints.
Params
List all module parameters, their types (in JSON) and identitys.
Future Improvements
Describe future improvements of this module.
Tests
Acceptance tests.
Appendix
Supplementary details referenced elsewhere within the spec.