syntax = "proto3"; package did.v1; import "gogoproto/gogo.proto"; import "amino/amino.proto"; option go_package = "github.com/onsonr/hway/x/did/types"; // 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; } enum KeyType { KEY_TYPE_UNSPECIFIED = 0; // Blockchain key types KEY_TYPE_SECP256K1 = 1; KEY_TYPE_ED25519 = 2; KEY_TYPE_P256 = 3; KEY_TYPE_BLS12381 = 4; KEY_TYPE_X25519 = 5; KEY_TYPE_SCHNORR = 6; // Webauthn and FIDO key types KEY_TYPE_WEBAUTHN = 7; KEY_TYPE_FIDO = 8; // MPC key type KEY_TYPE_MPC = 9; // ZK key type KEY_TYPE_ZK = 10; } // 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; }