Files
sonr/proto/did/v1/tx.proto
T

190 lines
5.8 KiB
Protocol Buffer
Raw Normal View History

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
option go_package = "github.com/onsonr/sonr/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
// 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);
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
}
// 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
// Controller is the address of the controller to authenticate.
string controller = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ];
2024-09-05 01:24:57 -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
}
// 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.
string did = 2;
}
2024-07-05 22:20:13 -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.
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;
}
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-10-08 16:43:59 -04: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;
}
// 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;
}
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-10-08 16:43:59 -04:00
string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ];
2024-09-21 21:42:51 -04:00
// params defines the parameters to update.
2024-10-08 16:43:59 -04: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 {}