syntax = "proto3"; package did.v1; import "cosmos/orm/v1/orm.proto"; import "did/v1/genesis.proto"; option go_package = "github.com/onsonr/sonr/x/did/types"; message Authentication { option (cosmos.orm.v1.table) = { id : 1 primary_key : {fields : "did"} index : {id : 1 fields : "controller,subject" unique : true} }; // The unique identifier of the authentication string did = 1; // The authentication of the DID string controller = 2; // Origin of the authentication string subject = 3; // PubKey is the verification method PubKey public_key = 4; // CredentialID is the byte representation of the credential ID bytes credential_id = 5; // Metadata of the authentication map metadata = 6; // CreationBlock is the block number of the creation of the authentication int64 creation_block = 7; } // Controller represents a Sonr DWN Vault message Controller { option (cosmos.orm.v1.table) = { id : 2 primary_key : {fields : "number" auto_increment : true} index : {id : 1 fields : "sonr_address" unique : true} index : {id : 2 fields : "eth_address" unique : true} index : {id : 3 fields : "btc_address" unique : true} index : {id : 4 fields : "did" unique : true} }; // The unique identifier of the controller uint64 number = 1; // The unique identifier of the controller string did = 2; // The DID of the controller string sonr_address = 3; // The DID of the controller string eth_address = 4; // The DID of the controller string btc_address = 5; // PubKey is the verification method PubKey public_key = 6; // Pointer to the Keyshares string ks_val = 7; // The block number of when a user claimed the controller int64 claimed_block = 8; // CreationBlock is the block number of the creation of the controller int64 creation_block = 9; } // Verification represents a verification method message Verification { option (cosmos.orm.v1.table) = { id : 4 primary_key : {fields : "did"} index : {id : 1 fields : "issuer,subject" unique : true} index : {id : 2 fields : "controller,did_method,issuer" unique : true} index : {id : 3 fields : "verification_type,subject,issuer" unique : true} }; // The unique identifier of the verification string did = 1; // The controller of the verification string controller = 2; // The DIDNamespace of the verification string did_method = 3; // The value of the linked identifier string issuer = 4; // The subject of the verification string subject = 5; // The public key of the verification PubKey public_key = 6; // The verification method type string verification_type = 7; // Metadata of the verification map metadata = 8; // CreationBlock is the block number of the creation of the controller int64 creation_block = 9; }