github.com/InjectiveLabs/sdk-go@v1.53.0/proto/injective/insurance/v1beta1/insurance.proto (about)

     1  syntax = "proto3";
     2  package injective.insurance.v1beta1;
     3  
     4  import "gogoproto/gogo.proto";
     5  import "google/protobuf/duration.proto";
     6  import "google/protobuf/timestamp.proto";
     7  import "cosmos/base/v1beta1/coin.proto";
     8  import "injective/oracle/v1beta1/oracle.proto";
     9  import "amino/amino.proto";
    10  
    11  option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types";
    12  
    13  message Params {
    14    option (gogoproto.equal) = true;
    15    option (amino.name) = "insurance/Params";
    16  
    17    // default_redemption_notice_period_duration defines the default minimum
    18    // notice period duration that must pass after an underwriter sends a
    19    // redemption request before the underwriter can claim his tokens
    20    google.protobuf.Duration default_redemption_notice_period_duration = 1 [
    21      (gogoproto.stdduration) = true,
    22      (gogoproto.nullable) = false,
    23      (gogoproto.moretags) = "yaml:\"default_redemption_notice_period_duration\""
    24    ];
    25  }
    26  
    27  message InsuranceFund {
    28    // deposit denomination for the given insurance fund
    29    string deposit_denom = 1;
    30    // insurance fund pool token denomination for the given insurance fund
    31    string insurance_pool_token_denom = 2;
    32    // redemption_notice_period_duration defines the minimum notice period
    33    // duration that must pass after an underwriter sends a redemption request
    34    // before the underwriter can claim his tokens
    35    google.protobuf.Duration redemption_notice_period_duration = 3 [
    36      (gogoproto.stdduration) = true,
    37      (gogoproto.nullable) = false,
    38      (gogoproto.moretags) = "yaml:\"redemption_notice_period_duration\""
    39    ];
    40    // balance of fund
    41    string balance = 4 [
    42      (gogoproto.customtype) = "cosmossdk.io/math.Int",
    43      (gogoproto.nullable) = false
    44    ];
    45    // total share tokens minted
    46    string total_share = 5 [
    47      (gogoproto.customtype) = "cosmossdk.io/math.Int",
    48      (gogoproto.nullable) = false
    49    ];
    50    // marketID of the derivative market
    51    string market_id = 6;
    52    // ticker of the derivative market
    53    string market_ticker = 7;
    54    // Oracle base currency of the derivative market OR the oracle symbol for the
    55    // binary options market.
    56    string oracle_base = 8;
    57    // Oracle quote currency of the derivative market OR the oracle provider for
    58    // the binary options market.
    59    string oracle_quote = 9;
    60    // Oracle type of the binary options or derivative market
    61    injective.oracle.v1beta1.OracleType oracle_type = 10;
    62    // Expiration time of the derivative market. Should be -1 for perpetual or -2
    63    // for binary options markets.
    64    int64 expiry = 11;
    65  }
    66  
    67  message RedemptionSchedule {
    68    // id of redemption schedule
    69    uint64 id = 1;
    70    // marketId of insurance fund for the redemption
    71    string marketId = 2;
    72    // address of the redeemer
    73    string redeemer = 3;
    74    // the time after which the redemption can be claimed
    75    google.protobuf.Timestamp claimable_redemption_time = 4 [
    76      (gogoproto.stdtime) = true,
    77      (gogoproto.nullable) = false,
    78      (gogoproto.moretags) = "yaml:\"claimable_redemption_time\""
    79    ];
    80  
    81    // the insurance_pool_token amount to redeem
    82    cosmos.base.v1beta1.Coin redemption_amount = 5
    83        [ (gogoproto.nullable) = false ];
    84  }