# Messages

In this section we describe the processing of the exchange messages and the corresponding updates to the state. All created/modified state objects specified by each message are defined within the state section.

# Msg/CreateInsuranceFund

MsgCreateInsuranceFund defines a message to create an insurance fund for a derivative market.

Copy // MsgCreateInsuranceFund a message to create an insurance fund for a derivative market. message MsgCreateInsuranceFund { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // Creator of the insurance fund. string sender = 1; // Ticker for the derivative market. string ticker = 2; // Coin denom to use for the market quote denom string quote_denom = 3; // Oracle base currency string oracle_base = 4; // Oracle quote currency string oracle_quote = 5; // Oracle type injective.oracle.v1beta1.OracleType oracle_type = 6; // Expiration time of the market. Should be -1 for perpetual markets. int64 expiry = 7; // Initial deposit of the insurance fund cosmos.base.v1beta1.Coin initial_deposit = 8 [(gogoproto.nullable) = false]; }

Fields description

  • Sender field describes the creator of an insurance fund .
  • Ticker, QuoteDenom, OracleBase, OracleQuote, OracleType, Expiry fields describe the derivative market info that the insurance fund corresponds to.
  • InitialDeposit specifies the initial deposit amount used to underwrite the insurance fund.

# Msg/Underwrite

MsgUnderwrite defines a message to underwrite an insurance fund

Copy // MsgUnderwrite defines a message for depositing coins to underwrite an insurance fund message MsgUnderwrite { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // Address of the underwriter. string sender = 1; // MarketID of the insurance fund. string market_id = 2; // Amount of quote_denom to underwrite the insurance fund. cosmos.base.v1beta1.Coin deposit = 3 [(gogoproto.nullable) = false]; }

Fields description

  • Sender field describes the underwriter of an insurance fund .
  • MarketId field describes the derivative market id to the insurance fund.
  • Deposit field describes the deposit amount to be added on the insurance fund.

# Msg/RequestRedemption

MsgRequestRedemption defines a message to request redemption from the insurance fund.

Copy // MsgRequestRedemption defines a message for requesting a redemption of the sender's insurance fund tokens message MsgRequestRedemption { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // Address of the underwriter requesting a redemption. string sender = 1; // MarketID of the insurance fund. string market_id = 2; // Insurance fund share token amount to be redeemed. cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; }

Fields description

  • Sender field describes the redemption requester of an insurance fund .
  • MarketId field describes the derivative market id associated to the insurance fund.
  • Amount field describes the share token amount to be redeemed.