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 Account { option (cosmos.orm.v1.table) = { id: 1 primary_key: {fields: "did"} index: { id: 1 fields: "controller,subject" unique: true } }; // The unique identifier of the assertion string did = 1; // The authentication of the DID string controller = 2; // Origin of the authentication string subject = 3; // string is the verification method string public_key_hex = 4; // AssertionType is the assertion type string assertion_type = 5; // Metadata of the authentication map accumulator = 6; // CreationBlock is the block number of the creation of the authentication int64 creation_block = 7; } // PublicKey represents a public key message PublicKey { 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; // string is the verification method string public_key_hex = 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: 3 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 string public_key_hex = 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; }