2022-01-08 01:59:34 +00:00
|
|
|
// Since: cosmos-sdk 0.43
|
|
|
|
syntax = "proto3";
|
|
|
|
package cosmos.authz.v1beta1;
|
|
|
|
|
|
|
|
import "cosmos_proto/cosmos.proto";
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "google/protobuf/any.proto";
|
|
|
|
import "cosmos/authz/v1beta1/authz.proto";
|
2023-04-04 00:08:45 +00:00
|
|
|
import "cosmos/msg/v1/msg.proto";
|
2024-02-06 22:54:10 +00:00
|
|
|
import "amino/amino.proto";
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/authz";
|
|
|
|
option (gogoproto.goproto_getters_all) = false;
|
|
|
|
|
|
|
|
// Msg defines the authz Msg service.
|
|
|
|
service Msg {
|
2024-02-06 22:54:10 +00:00
|
|
|
option (cosmos.msg.v1.service) = true;
|
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// Grant grants the provided authorization to the grantee on the granter's
|
|
|
|
// account with the provided expiration time. If there is already a grant
|
|
|
|
// for the given (granter, grantee, Authorization) triple, then the grant
|
|
|
|
// will be overwritten.
|
|
|
|
rpc Grant(MsgGrant) returns (MsgGrantResponse);
|
|
|
|
|
|
|
|
// Exec attempts to execute the provided messages using
|
|
|
|
// authorizations granted to the grantee. Each message should have only
|
|
|
|
// one signer corresponding to the granter of the authorization.
|
|
|
|
rpc Exec(MsgExec) returns (MsgExecResponse);
|
|
|
|
|
|
|
|
// Revoke revokes any authorization corresponding to the provided method name on the
|
|
|
|
// granter's account that has been granted to the grantee.
|
|
|
|
rpc Revoke(MsgRevoke) returns (MsgRevokeResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgGrant is a request type for Grant method. It declares authorization to the grantee
|
|
|
|
// on behalf of the granter with the provided expiration time.
|
|
|
|
message MsgGrant {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "granter";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgGrant";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
|
|
|
string granter = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
string grantee = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
cosmos.authz.v1beta1.Grant grant = 3 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgExecResponse defines the Msg/MsgExecResponse response type.
|
|
|
|
message MsgExecResponse {
|
|
|
|
repeated bytes results = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgExec attempts to execute the provided messages using
|
|
|
|
// authorizations granted to the grantee. Each message should have only
|
|
|
|
// one signer corresponding to the granter of the authorization.
|
|
|
|
message MsgExec {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "grantee";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgExec";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
|
|
|
string grantee = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2024-02-06 22:54:10 +00:00
|
|
|
// Execute Msg.
|
2022-01-08 01:59:34 +00:00
|
|
|
// The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))
|
|
|
|
// triple and validate it.
|
2024-02-06 22:54:10 +00:00
|
|
|
repeated google.protobuf.Any msgs = 2 [(cosmos_proto.accepts_interface) = "cosmos.base.v1beta1.Msg"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgGrantResponse defines the Msg/MsgGrant response type.
|
|
|
|
message MsgGrantResponse {}
|
|
|
|
|
|
|
|
// MsgRevoke revokes any authorization with the provided sdk.Msg type on the
|
|
|
|
// granter's account with that has been granted to the grantee.
|
|
|
|
message MsgRevoke {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "granter";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgRevoke";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
|
|
|
string granter = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
string grantee = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
string msg_type_url = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.
|
|
|
|
message MsgRevokeResponse {}
|