Prad Nukala 4f2d342649
feature/ipfs vault allocation (#8)
* refactor: move constants to genesis.proto

* feat: add ipfs_active flag to genesis state

* feat: add IPFS connection initialization to keeper

* feat: add testnet process-compose

* refactor: rename sonr-testnet docker image to sonr-runner

* refactor: update docker-vm-release workflow to use 'latest' tag

* feat: add permission to workflows

* feat: add new service chain execution

* feat: add abstract vault class to pkl

* feat: use jetpackio/devbox image for runner

* feat: introduce dwn for local service worker

* refactor: remove unnecessary dockerfile layers

* refactor(deploy): Update Dockerfile to copy go.mod and go.sum from the parent directory

* build: move Dockerfile to root directory

* build: Add Dockerfile for deployment

* feat: Update Dockerfile to work with Go project in parent directory

* build: Update docker-compose.yaml to use relative paths

* feat: Update docker-compose to work with new image and parent git directory

* refactor: remove unnecessary test script

* <no value>

* feat: add test_node script for running node tests

* feat: add IPFS cluster to testnet

* feat: add docker image for sonr-runner

* fix: typo in export path

* feat(did): Add Localhost Registration Enabled Genesis Option

* feat: add support for Sqlite DB in vault

* feat: improve vault model JSON serialization

* feat: support querying HTMX endpoint for DID

* feat: Add primary key, unique, default, not null, auto increment, and foreign key field types

* feat: Add PublicKey model in pkl/vault.pkl

* feat: add frontend server

* refactor: move dwn.wasm to vfs directory

* feat(frontend): remove frontend server implementation

* feat: Add a frontend server and web auth protocol

* feat: implement new key types for MPC and ZK proofs

* fix: Update enum types and DefaultKeyInfos

* fix: correct typo in KeyAlgorithm enum

* feat(did): add attestation format validation

* feat: Add x/did/builder/extractor.go

* feat: Update JWK parsing in x/did/builder/extractor.go

* feat: Use github.com/onsonr/sonr/x/did/types package

* feat: Extract and format public keys from WebAuthn credentials

* feat: Introduce a new `mapToJWK` function to convert a map to a `types.JWK` struct

* feat: add support for extracting JWK public keys

* feat: remove VerificationMethod struct

* refactor: extract public key extraction logic

* feat: add helper functions to map COSECurveID to JWK curve names

* feat: pin initial vault
2024-09-07 18:12:58 -04:00
..
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-05 01:24:57 -04:00
2024-09-05 01:24:57 -04:00
2024-07-05 22:20:13 -04:00

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.