mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 18:31:41 +00:00
feature/migrate models (#16)
* feat: add new supported attestation formats to genesis * feat: refactor keyType to keytype enum * refactor: remove unused imports and code * refactor: update main.go to use src package * refactor: move web-related structs from to * refactor: move client middleware package to root * refactor: remove unused IndexedDB dependency * feat: update worker implementation to use * feat: add Caddyfile and Caddy configuration for vault service * refactor(config): move keyshare and address to Motr config * fix: validate service origin in AllocateVault * chore: remove IndexedDB configuration * feat: add support for IPNS-based vault access
This commit is contained in:
+45
-118
@@ -10,17 +10,6 @@ option go_package = "github.com/onsonr/sonr/x/did/types";
|
||||
message GenesisState {
|
||||
// Params defines all the parameters of the module.
|
||||
Params params = 1 [(gogoproto.nullable) = false];
|
||||
|
||||
// GlobalIntegrity defines a zkp integrity proof for the entire DID namespace
|
||||
GlobalIntegrity global_integrity = 2;
|
||||
}
|
||||
|
||||
// GlobalIntegrity defines a zkp integrity proof for the entire DID namespace
|
||||
message GlobalIntegrity {
|
||||
string controller = 1;
|
||||
string seed = 2;
|
||||
bytes accumulator = 3;
|
||||
uint64 count = 4;
|
||||
}
|
||||
|
||||
// Params defines the set of module parameters.
|
||||
@@ -60,7 +49,7 @@ message AssetInfo {
|
||||
string symbol = 3;
|
||||
|
||||
// The coin name
|
||||
AssetType asset_type = 4;
|
||||
string asset_type = 4;
|
||||
|
||||
// The name of the asset
|
||||
string name = 5;
|
||||
@@ -69,116 +58,54 @@ message AssetInfo {
|
||||
string icon_url = 6;
|
||||
}
|
||||
|
||||
// Document defines a DID document
|
||||
message Document {
|
||||
string id = 1;
|
||||
string controller = 2; // The DID of the controller
|
||||
repeated string authentication = 3;
|
||||
repeated string assertion_method = 4;
|
||||
repeated string capability_delegation = 5;
|
||||
repeated string capability_invocation = 6;
|
||||
repeated string service = 7;
|
||||
}
|
||||
|
||||
// KeyInfo defines information for accepted PubKey types
|
||||
message KeyInfo {
|
||||
KeyRole role = 1;
|
||||
KeyAlgorithm algorithm = 2; // e.g., "ES256", "EdDSA", "ES256K"
|
||||
KeyEncoding encoding = 3; // e.g., "hex", "base64", "multibase"
|
||||
KeyCurve curve = 4; // e.g., "P256", "P384", "P521", "X25519", "X448", "Ed25519", "Ed448", "secp256k1"
|
||||
KeyType type = 5; // e.g., "Octet", "Elliptic", "RSA", "Symmetric", "HMAC"
|
||||
string role = 1;
|
||||
string algorithm = 2; // e.g., "ES256", "EdDSA", "ES256K"
|
||||
string encoding = 3; // e.g., "hex", "base64", "multibase"
|
||||
string curve = 4; // e.g., "P256", "P384", "P521", "X25519", "X448", "Ed25519", "Ed448", "secp256k1"
|
||||
string type = 5; // e.g., "Octet", "Elliptic", "RSA", "Symmetric", "HMAC"
|
||||
}
|
||||
|
||||
// AssetType defines the type of asset: native, wrapped, staking, pool, or unspecified
|
||||
enum AssetType {
|
||||
ASSET_TYPE_UNSPECIFIED = 0;
|
||||
ASSET_TYPE_NATIVE = 1;
|
||||
ASSET_TYPE_WRAPPED = 2;
|
||||
ASSET_TYPE_STAKING = 3;
|
||||
ASSET_TYPE_POOL = 4;
|
||||
ASSET_TYPE_IBC = 5;
|
||||
ASSET_TYPE_CW20 = 6;
|
||||
// PubKey defines a public key for a did
|
||||
message PubKey {
|
||||
string role = 1;
|
||||
string algorithm = 2;
|
||||
string encoding = 3;
|
||||
string curve = 4;
|
||||
string key_type = 5;
|
||||
bytes raw = 6;
|
||||
JWK jwk = 7;
|
||||
|
||||
// JWK represents a JSON Web Key
|
||||
message JWK {
|
||||
string kty = 1; // Key Type
|
||||
string crv = 2; // Curve (for EC and OKP keys)
|
||||
string x = 3; // X coordinate (for EC and OKP keys)
|
||||
string y = 4; // Y coordinate (for EC keys)
|
||||
string n = 5; // Modulus (for RSA keys)
|
||||
string e = 6; // Exponent (for RSA keys)
|
||||
}
|
||||
}
|
||||
|
||||
// DIDNamespace define the different namespaces of DID
|
||||
enum DIDNamespace {
|
||||
DID_NAMESPACE_UNSPECIFIED = 0;
|
||||
DID_NAMESPACE_IPFS = 1;
|
||||
DID_NAMESPACE_SONR = 2;
|
||||
DID_NAMESPACE_BITCOIN = 3;
|
||||
DID_NAMESPACE_ETHEREUM = 4;
|
||||
DID_NAMESPACE_IBC = 5;
|
||||
DID_NAMESPACE_WEBAUTHN = 6;
|
||||
DID_NAMESPACE_DWN = 7;
|
||||
DID_NAMESPACE_SERVICE = 8;
|
||||
}
|
||||
|
||||
// KeyAlgorithm defines the key algorithm
|
||||
enum KeyAlgorithm {
|
||||
KEY_ALGORITHM_UNSPECIFIED = 0;
|
||||
KEY_ALGORITHM_ES256 = 1;
|
||||
KEY_ALGORITHM_ES384 = 2;
|
||||
KEY_ALGORITHM_ES512 = 3;
|
||||
KEY_ALGORITHM_EDDSA = 4;
|
||||
KEY_ALGORITHM_ES256K = 5;
|
||||
KEY_ALGORITHM_ECDSA = 6; // Fixed typo from EDCSA to ECDSA
|
||||
}
|
||||
|
||||
// KeyCurve defines the key curve
|
||||
enum KeyCurve {
|
||||
KEY_CURVE_UNSPECIFIED = 0;
|
||||
KEY_CURVE_P256 = 1; // NIST P-256
|
||||
KEY_CURVE_P384 = 2;
|
||||
KEY_CURVE_P521 = 3;
|
||||
KEY_CURVE_X25519 = 4;
|
||||
KEY_CURVE_X448 = 5;
|
||||
KEY_CURVE_ED25519 = 6;
|
||||
KEY_CURVE_ED448 = 7;
|
||||
KEY_CURVE_SECP256K1 = 8;
|
||||
KEY_CURVE_BLS12381 = 9;
|
||||
KEY_CURVE_KECCAK256 = 10;
|
||||
}
|
||||
|
||||
// KeyEncoding defines the key encoding
|
||||
enum KeyEncoding {
|
||||
KEY_ENCODING_UNSPECIFIED = 0;
|
||||
KEY_ENCODING_RAW = 1;
|
||||
KEY_ENCODING_HEX = 2;
|
||||
KEY_ENCODING_MULTIBASE = 3;
|
||||
}
|
||||
|
||||
// KeyRole defines the kind of key
|
||||
enum KeyRole {
|
||||
KEY_ROLE_UNSPECIFIED = 0;
|
||||
KEY_ROLE_AUTHENTICATION = 1; // Passkeys and FIDO
|
||||
KEY_ROLE_ASSERTION = 2; // Zk Identifiers
|
||||
KEY_ROLE_DELEGATION = 3; // ETH,BTC,IBC addresses
|
||||
KEY_ROLE_INVOCATION = 4; // DWN Controllers
|
||||
}
|
||||
|
||||
// KeyType defines the key type
|
||||
enum KeyType {
|
||||
KEY_TYPE_UNSPECIFIED = 0;
|
||||
KEY_TYPE_OCTET = 1;
|
||||
KEY_TYPE_ELLIPTIC = 2;
|
||||
KEY_TYPE_RSA = 3;
|
||||
KEY_TYPE_SYMMETRIC = 4;
|
||||
KEY_TYPE_HMAC = 5;
|
||||
KEY_TYPE_MPC = 6;
|
||||
KEY_TYPE_ZK = 7;
|
||||
KEY_TYPE_WEBAUTHN = 8;
|
||||
KEY_TYPE_BIP32 = 9;
|
||||
}
|
||||
|
||||
enum KeyshareRole {
|
||||
KEYSHARE_ROLE_UNSPECIFIED = 0;
|
||||
KEYSHARE_ROLE_USER = 1;
|
||||
KEYSHARE_ROLE_VALIDATOR = 2;
|
||||
}
|
||||
|
||||
// PermissionScope define the Capabilities Controllers can grant for Services
|
||||
enum PermissionScope {
|
||||
PERMISSION_SCOPE_UNSPECIFIED = 0;
|
||||
PERMISSION_SCOPE_BASIC_INFO = 1;
|
||||
PERMISSION_SCOPE_PERMISSIONS_READ = 2;
|
||||
PERMISSION_SCOPE_PERMISSIONS_WRITE = 3;
|
||||
PERMISSION_SCOPE_TRANSACTIONS_READ = 4;
|
||||
PERMISSION_SCOPE_TRANSACTIONS_WRITE = 5;
|
||||
PERMISSION_SCOPE_WALLETS_READ = 6;
|
||||
PERMISSION_SCOPE_WALLETS_CREATE = 7;
|
||||
PERMISSION_SCOPE_WALLETS_SUBSCRIBE = 8;
|
||||
PERMISSION_SCOPE_WALLETS_UPDATE = 9;
|
||||
PERMISSION_SCOPE_TRANSACTIONS_VERIFY = 10;
|
||||
PERMISSION_SCOPE_TRANSACTIONS_BROADCAST = 11;
|
||||
PERMISSION_SCOPE_ADMIN_USER = 12;
|
||||
PERMISSION_SCOPE_ADMIN_VALIDATOR = 13;
|
||||
// Service defines a Decentralized Service on the Sonr Blockchain
|
||||
message Service {
|
||||
string id = 1;
|
||||
string service_type = 2;
|
||||
string authority = 3;
|
||||
string origin = 4;
|
||||
string description = 5;
|
||||
map<string, string> service_endpoints = 6;
|
||||
map<string, string> permissions = 7;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user