mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 10:21:40 +00:00
102 lines
2.6 KiB
Protocol Buffer
102 lines
2.6 KiB
Protocol Buffer
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;
|
||
|
|
}
|