State
Params
Params is a module-wide configuration structure that stores system parameters and defines overall functioning of the insurance module.
Params:
Paramsspace("insurance") -> legacy_amino(params)
type Params struct {
// default_redemption_notice_period_duration defines the default minimum notice period duration that must pass after an underwriter sends
// a redemption request before the underwriter can claim his tokens
DefaultRedemptionNoticePeriodDuration time.Duration
}Insurance Types
InsuranceFund defines all the information of the Insurance Funds by market.
type InsuranceFund struct {
// deposit denomination for the given insurance fund
DepositDenom string
// insurance fund pool token denomination for the given insurance fund
InsurancePoolTokenDenom string
// redemption_notice_period_duration defines the minimum notice period duration that must pass after an underwriter sends
// a redemption request before the underwriter can claim his tokens
RedemptionNoticePeriodDuration time.Duration
// balance of fund
Balance math.Int
// total share tokens minted
TotalShare math.Int
// marketID of the derivative market
MarketId string
// ticker of the derivative market
MarketTicker string
// Oracle base currency of the derivative market
OracleBase string
// Oracle quote currency of the derivative market
OracleQuote string
// Oracle type of the derivative market
OracleType types.OracleType
// Expiration time of the derivative market. Should be -1 for perpetual markets.
Expiry int64
}RedemptionSchedule defines redemption schedules from users - redemption is not executed instantly but there's redemption_notice_period_duration specified per market.
Additionally, we introduce next_share_denom_id and next_redemption_schedule_id to manage insurance fund share token
denom and redemption schedules from various users.
Pending Redemptions
Pending Redemptions Objects are kept to store all the information about redemption requests and to auto-withdraw when the duration pass.
Last updated
