syntax = "proto3"; package did.v1; option go_package = "github.com/onsonr/sonr/x/did/types"; // 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; } // 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_BLS12377 = 6; KEY_ALGORITHM_KECCAK256 = 7; } // KeyCurve defines the key curve enum KeyCurve { KEY_CURVE_UNSPECIFIED = 0; KEY_CURVE_P256 = 1; 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; } // KeyEncoding defines the key encoding enum KeyEncoding { KEY_ENCODING_UNSPECIFIED = 0; KEY_ENCODING_RAW = 1; KEY_ENCODING_HEX = 2; KEY_ENCODING_MULTIBASE = 3; KEY_ENCODING_JWK = 4; } // KeyRole defines the kind of key enum KeyRole { KEY_ROLE_UNSPECIFIED = 0; // Blockchain key types 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; } // PermissionScope define the Capabilities Controllers can grant for Services enum PermissionScope { PERMISSION_SCOPE_UNSPECIFIED = 0; PERMISSION_SCOPE_BASIC_INFO = 1; PERMISSION_SCOPE_RECORDS_READ = 2; PERMISSION_SCOPE_RECORDS_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; }