// Since: cosmos-sdk 0.43
syntax = "proto3";
package cosmos.feegrant.v1beta1;

import "google/protobuf/any.proto";
import "cosmos_proto/cosmos.proto";
import "cosmos/msg/v1/msg.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 {
  option (cosmos.msg.v1.signer) = "granter";

  // granter is the address of the user granting an allowance of their funds.
  string granter = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];

  // grantee is the address of the user being granted an allowance of another user's funds.
  string grantee = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];

  // allowance can be any of basic, periodic, allowed fee allowance.
  google.protobuf.Any allowance = 3 [(cosmos_proto.accepts_interface) = "cosmos.feegrant.FeeAllowanceI"];
}

// MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.
message MsgGrantAllowanceResponse {}

// MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.
message MsgRevokeAllowance {
  option (cosmos.msg.v1.signer) = "granter";

  // granter is the address of the user granting an allowance of their funds.
  string granter = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];

  // grantee is the address of the user being granted an allowance of another user's funds.
  string grantee = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
}

// MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.
message MsgRevokeAllowanceResponse {}

Homonyms

bootloader/go-cyber/proto/cyber/clock/v1/tx.proto
bootloader/space-pussy/proto/cyber/resources/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/rank/v1beta1/tx.proto
bootloader/go-cyber/proto/osmosis/tokenfactory/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/graph/v1beta1/tx.proto
bootloader/space-pussy/proto/cyber/dmn/v1beta1/tx.proto
bootloader/space-pussy/proto/cyber/graph/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/resources/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/grid/v1beta1/tx.proto
bootloader/space-pussy/proto/cyber/grid/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/dmn/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/liquidity/v1beta1/tx.proto
bootloader/go-cyber/proto/cyber/bandwidth/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/resources/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/gov/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/grid/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/rank/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmwasm/wasm/v1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/graph/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/nft/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/osmosis/tokenfactory/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/group/v1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/upgrade/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/dmn/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/crisis/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/bandwidth/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/vesting/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/distribution/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/slashing/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/bank/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/liquidity/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cyber/clock/v1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/gov/v1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/tx/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/staking/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/evidence/v1beta1/tx.proto
bootloader/go-cyber/ts/packages/cyber-ts/proto/cosmos/authz/v1beta1/tx.proto

Graph