syntax = "proto3"; package cosmos.feegrant.v1beta1; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; import "cosmos_proto/cosmos.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/feegrant"; // Msg defines the feegrant msg service. service Msg { // 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 { // granter is the address of the user granting an allowance of their funds. string granter = 1; // grantee is the address of the user being granted an allowance of another user's funds. string grantee = 2; // allowance can be any of basic and filtered fee allowance. google.protobuf.Any allowance = 3 [(cosmos_proto.accepts_interface) = "FeeAllowanceI"]; } // MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type. message MsgGrantAllowanceResponse {} // MsgRevokeAllowance removes any existing Allowance from Granter to Grantee. message MsgRevokeAllowance { // granter is the address of the user granting an allowance of their funds. string granter = 1; // grantee is the address of the user being granted an allowance of another user's funds. string grantee = 2; } // MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type. message MsgRevokeAllowanceResponse {}