2022-01-08 01:59:34 +00:00
|
|
|
// Since: cosmos-sdk 0.43
|
|
|
|
syntax = "proto3";
|
|
|
|
package cosmos.feegrant.v1beta1;
|
|
|
|
|
|
|
|
import "google/protobuf/any.proto";
|
|
|
|
import "cosmos_proto/cosmos.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/feegrant";
|
|
|
|
|
|
|
|
// Msg defines the feegrant 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
|
|
|
|
|
|
|
// GrantAllowance grants fee allowance to the grantee on the granter's
|
|
|
|
// account with the provided expiration time.
|
|
|
|
rpc GrantAllowance(MsgGrantAllowance) returns (MsgGrantAllowanceResponse);
|
|
|
|
|
|
|
|
// RevokeAllowance revokes any fee allowance of granter's account that
|
|
|
|
// has been granted to the grantee.
|
|
|
|
rpc RevokeAllowance(MsgRevokeAllowance) returns (MsgRevokeAllowanceResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgGrantAllowance adds permission for Grantee to spend up to Allowance
|
|
|
|
// of fees from the account of Granter.
|
|
|
|
message MsgGrantAllowance {
|
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/MsgGrantAllowance";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// granter is the address of the user granting an allowance of their funds.
|
2023-04-04 00:08:45 +00:00
|
|
|
string granter = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// grantee is the address of the user being granted an allowance of another user's funds.
|
2023-04-04 00:08:45 +00:00
|
|
|
string grantee = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
// allowance can be any of basic, periodic, allowed fee allowance.
|
2024-02-06 22:54:10 +00:00
|
|
|
google.protobuf.Any allowance = 3 [(cosmos_proto.accepts_interface) = "cosmos.feegrant.v1beta1.FeeAllowanceI"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.
|
|
|
|
message MsgGrantAllowanceResponse {}
|
|
|
|
|
|
|
|
// MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.
|
|
|
|
message MsgRevokeAllowance {
|
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/MsgRevokeAllowance";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// granter is the address of the user granting an allowance of their funds.
|
2023-04-04 00:08:45 +00:00
|
|
|
string granter = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// grantee is the address of the user being granted an allowance of another user's funds.
|
2023-04-04 00:08:45 +00:00
|
|
|
string grantee = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.
|
|
|
|
message MsgRevokeAllowanceResponse {}
|