syntax = "proto3"; package did.v1; import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "did/v1/genesis.proto"; import "gogoproto/gogo.proto"; option go_package = "github.com/onsonr/sonr/x/did/types"; // Msg defines the Msg service. service Msg { option (cosmos.msg.v1.service) = true; // ExecuteTx executes a transaction on the Sonr Blockchain. It leverages // Macaroon for verification. rpc ExecuteTx(MsgExecuteTx) returns (MsgExecuteTxResponse); // LinkAssertion links an assertion to a controller. rpc LinkAssertion(MsgLinkAssertion) returns (MsgLinkAssertionResponse); // LinkAuthentication links an authentication to a controller. rpc LinkAuthentication(MsgLinkAuthentication) returns (MsgLinkAuthenticationResponse); // UnlinkAssertion unlinks an assertion from a controller. rpc UnlinkAssertion(MsgUnlinkAssertion) returns (MsgUnlinkAssertionResponse); // UnlinkAuthentication unlinks an authentication from a controller. rpc UnlinkAuthentication(MsgUnlinkAuthentication) returns (MsgUnlinkAuthenticationResponse); // UpdateParams defines a governance operation for updating the parameters. rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } // MsgLinkAuthentication is the message type for the LinkAuthentication RPC. message MsgLinkAuthentication { option (cosmos.msg.v1.signer) = "controller"; // Controller is the address of the controller to authenticate. string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // Subject is the subject of the authentication. string subject = 2; // Assertion is the assertion of the authentication. string assertion = 3; // Authentication is the authentication of the authentication. bytes credential_id = 4; // token is the macron token to authenticate the operation. string macaroon_token = 5; } // MsgLinkAuthenticationResponse is the response type for the // LinkAuthentication RPC. message MsgLinkAuthenticationResponse { // Success returns true if the specified cid is valid and not already // encrypted. bool success = 1; // Controller is the address of the initialized controller. string did = 2; } // MsgLinkAssertion is the message type for the LinkAssertion RPC. message MsgLinkAssertion { option (cosmos.msg.v1.signer) = "controller"; // Controller is the address of the controller to authenticate. string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // Subject is the subject of the authentication. string subject = 2; // Assertion is the assertion of the authentication. string assertion = 3; // token is the macron token to authenticate the operation. string macaroon_token = 4; } // MsgLinkAssertionResponse is the response type for the // LinkAssertion RPC. message MsgLinkAssertionResponse { // Success returns true if the specified cid is valid and not already // encrypted. bool success = 1; // Controller is the address of the initialized controller. string did = 2; } // MsgExecuteTx is the message type for the ExecuteTx RPC. message MsgExecuteTx { option (cosmos.msg.v1.signer) = "controller"; // Controller is the address of the controller to authenticate. string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // Messages is the list of messages to execute. map messages = 2; // MacaroonToken is the macaroon token to authenticate the operation. string macaroon_token = 3; } // MsgExecuteTxResponse is the response type for the ExecuteTx RPC. message MsgExecuteTxResponse { bool success = 1; string tx_hash = 2; } // MsgUnlinkAssertion is the message type for the UnlinkAssertion RPC. message MsgUnlinkAssertion { option (cosmos.msg.v1.signer) = "controller"; // Controller is the address of the controller to authenticate. string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // Assertion is the assertion of the authentication. string assertion_did = 2; // token is the macron token to authenticate the operation. string macaroon_token = 3; } // MsgUnlinkAssertionResponse is the response type for the // UnlinkAssertion RPC. message MsgUnlinkAssertionResponse { // Success returns true if the specified cid is valid and not already // encrypted. bool success = 1; // Controller is the address of the initialized controller. string did = 2; } // MsgUnlinkAuthentication is the message type for the UnlinkAuthentication RPC. message MsgUnlinkAuthentication { option (cosmos.msg.v1.signer) = "controller"; // Controller is the address of the controller to authenticate. string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // Subject is the subject of the authentication. string authentication_did = 2; // token is the macron token to authenticate the operation. string macaroon_token = 3; } // MsgUnlinkAuthenticationResponse is the response type for the // UnlinkAuthentication RPC. message MsgUnlinkAuthenticationResponse { // Success returns true if the specified cid is valid and not already // encrypted. bool success = 1; // Controller is the address of the initialized controller. string did = 2; } // MsgUpdateParams is the Msg/UpdateParams request type. // // Since: cosmos-sdk 0.47 message MsgUpdateParams { option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // params defines the parameters to update. Params params = 2 [(gogoproto.nullable) = false]; // token is the macron token to authenticate the operation. string token = 3; } // MsgUpdateParamsResponse defines the response structure for executing a // MsgUpdateParams message. // // Since: cosmos-sdk 0.47 message MsgUpdateParamsResponse {}