* feat(did): remove account types * feat: Refactor Property to Proof in zkprop.go * feat: add ZKP proof mechanism for verifications * fix: return bool and error from pinInitialVault * feat: implement KeyshareSet for managing user and validator keyshares * feat: Update Credential type in protobuf * feat: update credential schema with sign count * feat: migrate and modules to middleware * refactor: rename vault module to ORM * chore(dwn): add service worker registration to index template * feat: integrate service worker for offline functionality * refactor(did): use DIDNamespace enum for verification method in proto reflection * refactor: update protobuf definitions to support Keyshare * feat: expose did keeper in app keepers * Add Motr Web App * refactor: rename motr/handlers/discovery.go to motr/handlers/openid.go * refactor: move session related code to middleware * feat: add database operations for managing assets, chains, and credentials * feat: add htmx support for UI updates * refactor: extract common helper scripts * chore: remove unused storage GUI components * refactor: Move frontend rendering to dedicated handlers * refactor: rename to * refactor: move alert implementation to templ * feat: add alert component with icon, title, and message * feat: add new RequestHeaders struct to store request headers * Feature/create home view (#9) * refactor: move view logic to new htmx handler * refactor: remove unnecessary dependencies * refactor: remove unused dependencies * feat(devbox): integrate air for local development * feat: implement openid connect discovery document * refactor: rename to * refactor(did): update service handling to support DNS discovery * feat: add support for user and validator keyshares * refactor: move keyshare signing logic to signer
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.