2024-07-05 22:20:13 -04:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
|
|
package did.v1;
|
|
|
|
|
|
|
|
|
|
import "cosmos/msg/v1/msg.proto";
|
2024-09-05 01:24:57 -04:00
|
|
|
import "cosmos_proto/cosmos.proto";
|
2024-07-05 22:20:13 -04:00
|
|
|
import "did/v1/genesis.proto";
|
|
|
|
|
import "gogoproto/gogo.proto";
|
2024-09-05 01:24:57 -04:00
|
|
|
|
2025-03-27 04:14:38 -04:00
|
|
|
option go_package = "github.com/sonr-io/snrd/x/did/types";
|
2024-07-05 22:20:13 -04:00
|
|
|
|
|
|
|
|
// Msg defines the Msg service.
|
|
|
|
|
service Msg {
|
2024-09-05 01:24:57 -04:00
|
|
|
option (cosmos.msg.v1.service) = true;
|
2024-07-05 22:20:13 -04:00
|
|
|
|
2024-09-25 19:45:28 -04:00
|
|
|
// ExecuteTx executes a transaction on the Sonr Blockchain. It leverages
|
|
|
|
|
// Macaroon for verification.
|
2024-09-24 17:54:33 -04:00
|
|
|
rpc ExecuteTx(MsgExecuteTx) returns (MsgExecuteTxResponse);
|
2024-08-10 17:08:05 -04:00
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// LinkAssertion links an assertion to a controller.
|
|
|
|
|
rpc LinkAssertion(MsgLinkAssertion) returns (MsgLinkAssertionResponse);
|
|
|
|
|
|
|
|
|
|
// LinkAuthentication links an authentication to a controller.
|
2024-11-18 19:04:10 -05:00
|
|
|
rpc LinkAuthentication(MsgLinkAuthentication) returns (MsgLinkAuthenticationResponse);
|
2024-10-15 14:31:19 -04:00
|
|
|
|
|
|
|
|
// UnlinkAssertion unlinks an assertion from a controller.
|
2024-11-18 19:04:10 -05:00
|
|
|
rpc UnlinkAssertion(MsgUnlinkAssertion) returns (MsgUnlinkAssertionResponse);
|
2024-10-15 14:31:19 -04:00
|
|
|
|
|
|
|
|
// UnlinkAuthentication unlinks an authentication from a controller.
|
2024-11-18 19:04:10 -05:00
|
|
|
rpc UnlinkAuthentication(MsgUnlinkAuthentication) returns (MsgUnlinkAuthenticationResponse);
|
2024-07-05 22:20:13 -04:00
|
|
|
|
2024-09-24 17:54:33 -04:00
|
|
|
// UpdateParams defines a governance operation for updating the parameters.
|
|
|
|
|
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
|
2024-07-05 22:20:13 -04:00
|
|
|
}
|
|
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// MsgLinkAuthentication is the message type for the LinkAuthentication RPC.
|
|
|
|
|
message MsgLinkAuthentication {
|
|
|
|
|
option (cosmos.msg.v1.signer) = "controller";
|
2024-07-05 22:20:13 -04:00
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// Controller is the address of the controller to authenticate.
|
2024-11-18 19:04:10 -05:00
|
|
|
string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-09-05 01:24:57 -04:00
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// 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;
|
2024-07-05 22:20:13 -04:00
|
|
|
}
|
|
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// MsgLinkAuthenticationResponse is the response type for the
|
|
|
|
|
// LinkAuthentication RPC.
|
|
|
|
|
message MsgLinkAuthenticationResponse {
|
2024-09-25 19:45:28 -04:00
|
|
|
// Success returns true if the specified cid is valid and not already
|
|
|
|
|
// encrypted.
|
2024-09-05 01:24:57 -04:00
|
|
|
bool success = 1;
|
|
|
|
|
|
|
|
|
|
// Controller is the address of the initialized controller.
|
2024-10-15 14:31:19 -04:00
|
|
|
string did = 2;
|
2024-08-10 15:24:22 -04:00
|
|
|
}
|
2024-07-05 22:20:13 -04:00
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// 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.
|
2024-11-18 19:04:10 -05:00
|
|
|
string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-10-15 14:31:19 -04:00
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-24 17:54:33 -04:00
|
|
|
// 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.
|
2024-11-18 19:04:10 -05:00
|
|
|
string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-09-24 17:54:33 -04:00
|
|
|
|
|
|
|
|
// Messages is the list of messages to execute.
|
|
|
|
|
map<string, bytes> 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;
|
|
|
|
|
}
|
|
|
|
|
|
2024-10-15 14:31:19 -04:00
|
|
|
// 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.
|
2024-11-18 19:04:10 -05:00
|
|
|
string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-10-15 14:31:19 -04:00
|
|
|
|
|
|
|
|
// 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.
|
2024-11-18 19:04:10 -05:00
|
|
|
string controller = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-10-15 14:31:19 -04:00
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-21 21:42:51 -04:00
|
|
|
// 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.
|
2024-11-18 19:04:10 -05:00
|
|
|
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-09-21 21:42:51 -04:00
|
|
|
|
|
|
|
|
// params defines the parameters to update.
|
2024-11-18 19:04:10 -05:00
|
|
|
Params params = 2 [(gogoproto.nullable) = false];
|
2024-09-21 21:42:51 -04:00
|
|
|
|
|
|
|
|
// 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 {}
|