mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-11 13:29:12 +00:00
- **refactor: refactor DID module types and move to controller package** - **refactor: move controller creation and resolution logic to keeper** - **refactor: update imports to reflect controller package move** - **refactor: update protobuf definitions for DID module** - **docs: update proto README to reflect changes** - **refactor: move hway to gateway, update node modules, and refactor pkl generation** - **build: update pkl-gen task to use new pkl file paths** - **refactor: refactor DWN WASM build and deployment process** - **refactor: refactor DID controller implementation to use account-based storage** - **refactor: move DID controller interface to base file and update implementation** - **chore: migrate to google protobuf** - **feat: Add v0.52.0 Interfaces for Acc Abstraction** - **refactor: replace public_key with public_key_hex in Assertion message** - **refactor: remove unused PubKey, JSONWebKey, and RawKey message types and related code**
187 lines
5.8 KiB
Protocol Buffer
187 lines
5.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package did.v1;
|
|
|
|
import "cosmos/msg/v1/msg.proto";
|
|
import "cosmos_proto/cosmos.proto";
|
|
import "did/v1/genesis.proto";
|
|
import "did/v1/params.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<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;
|
|
}
|
|
|
|
// 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 {}
|