# Messages
To invite a user, the following message must be used:
# MsgInviteUser
# Protobuf message
message MsgInviteUser {
  string recipient = 1;
  string sender = 2;
}
# Transaction message
{
  "type": "commercio/MsgInviteUser",
  "value": {
    "recipient": "<address of the user to be invited>",
    "sender": "<your address>"
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
inviteUser
# MsgBuyMembership
Buying a membership
# Protobuf message
message MsgBuyMembership {
  string membership_type = 1;
  string buyer = 2;
  string tsp = 3;
}
# Transaction message
{
  "type": "commercio/MsgBuyMembership",
  "value": {
    "membership_type": "<membership type identifier>",
    "buyer": "<buyer address>",
    "tsp": "<tsp address>"
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
buyMembership
# MsgSetMembership
WARNING
This transaction type is accessible only to the government.
Trying to perform this transaction without being the government will result in an error.
To arbitrarily set a user's membership, the following message must be used:
# Protobuf message
message MsgSetMembership {
  string government = 1;
  string subscriber = 2;
  string new_membership = 3;
}
# Transaction message
{
  "type": "commercio/MsgSetMembership",
  "value": {
    "government": "<address of the government that sends this message>",
    "subscriber": "<address which membership will change based on this message>",
    "new_membership": "<membership type identifier>"
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
setMembership
# MsgRemoveMembership
WARNING
This transaction type is accessible only to the government.
Trying to perform this transaction without being the government will result in an error.
To arbitrarily set a user's membership, the following message must be used:
# Protobuf message
message MsgRemoveMembership {
  string government = 1;
  string subscriber = 2;
}
# Transaction message
{
  "type": "commercio/MsgRemoveMembership",
  "value": {
    "government": "<address of the government that sends this message>",
    "subscriber": "<address which membership will change based on this message>"
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
removeMembership
# MsgAddTsp
WARNING
This transaction type is accessible only to the government.
Trying to perform this transaction without being the government will result in an error.
# Protobuf message
message MsgAddTsp {
  string tsp = 1;
  string government = 2;
}
# Transaction message
{
  "type": "commercio/MsgAddTsp",
  "value": {
    "tsp": "<address of the user to be recognized as a TSP>",
    "government": "<government address>"
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
addTsp
# MsgRemoveTsp
WARNING
This transaction type is accessible only to the government.
Trying to perform this transaction without being the government will result in an error.
# Protobuf message
message MsgRemoveTsp {
  string tsp = 1;
  string government = 2;
}
# Transaction message
{
  "type": "commercio/MsgRemoveTsp",
  "value": {
    "tsp": "<address of the user to be recognized as a TSP>",
    "government": "<government address>"
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
removeTsp
# MsgDepositIntoLiquidityPool
# Protobuf message
message MsgDepositIntoLiquidityPool {
  string depositor = 1;
  repeated cosmos.base.v1beta1.Coin amount = 2
    [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
}
# Transaction message
To deposit a given amount into the Memberships reward pool, the following message must be used:
{
  "type": "commercio/MsgDepositIntoLiquidityPool",
  "value": {
    "depositor": "<address that deposits into the pool>",
    "amount": [
      {
        "amount": "<amount to be deposited>",
        "denom": "<token denom to be deposited>"        
      }
    ]
  }
}
# Action type
If you want to list past transactions including this kind of message,
you need to use the following message.action value:
depositIntoLiquidityPool
