From 260a66adf985374a72d704eaf5e1fac15ee14e0f Mon Sep 17 00:00:00 2001 From: shrenujb <98204323+shrenujb@users.noreply.github.com> Date: Tue, 27 Aug 2024 09:55:59 -0400 Subject: [PATCH] Change PML liquidity tier to isolated (#2157) Signed-off-by: Shrenuj Bansal --- protocol/testutil/constants/genesis.go | 51 +++++++++++++++++++---- protocol/x/listing/keeper/listing.go | 2 +- protocol/x/listing/keeper/listing_test.go | 2 +- protocol/x/listing/types/constants.go | 2 +- 4 files changed, 46 insertions(+), 11 deletions(-) diff --git a/protocol/testutil/constants/genesis.go b/protocol/testutil/constants/genesis.go index b7b92fdd2c..e86d07cb4b 100644 --- a/protocol/testutil/constants/genesis.go +++ b/protocol/testutil/constants/genesis.go @@ -878,32 +878,67 @@ const GenesisState = `{ "perpetuals": { "liquidity_tiers": [ { - "base_position_notional": 1000000000000, "id": 0, "impact_notional": 10000000000, "initial_margin_ppm": 50000, "maintenance_fraction_ppm": 600000, - "name": "Large-Cap" + "name": "Large-Cap", + "open_interest_lower_cap": 0, + "open_interest_upper_cap": 0 }, { "id": 1, - "name": "Mid-Cap", + "impact_notional": 5000000000, "initial_margin_ppm": 100000, "maintenance_fraction_ppm": 500000, - "base_position_notional": 250000000000, - "impact_notional": 5000000000, + "name": "Small-Cap", "open_interest_lower_cap": 20000000000000, "open_interest_upper_cap": 50000000000000 }, { "id": 2, - "name": "Long-Tail", + "impact_notional": 2500000000, "initial_margin_ppm": 200000, "maintenance_fraction_ppm": 500000, - "base_position_notional": 100000000000, - "impact_notional": 2500000000, + "name": "Long-Tail", "open_interest_lower_cap": 5000000000000, "open_interest_upper_cap": 10000000000000 + }, + { + "id": 3, + "impact_notional": 2500000000, + "initial_margin_ppm": 1000000, + "maintenance_fraction_ppm": 200000, + "name": "Safety", + "open_interest_lower_cap": 2000000000000, + "open_interest_upper_cap": 5000000000000 + }, + { + "id": 4, + "impact_notional": 2500000000, + "initial_margin_ppm": 50000, + "maintenance_fraction_ppm": 600000, + "name": "Isolated", + "open_interest_lower_cap": 500000000000, + "open_interest_upper_cap": 1000000000000 + }, + { + "id": 5, + "impact_notional": 5000000000, + "initial_margin_ppm": 50000, + "maintenance_fraction_ppm": 600000, + "name": "Mid-Cap", + "open_interest_lower_cap": 40000000000000, + "open_interest_upper_cap": 100000000000000 + }, + { + "id": 6, + "impact_notional": 2500000000, + "initial_margin_ppm": 10000, + "maintenance_fraction_ppm": 500000, + "name": "FX", + "open_interest_lower_cap": 500000000000, + "open_interest_upper_cap": 1000000000000 } ], "params": { diff --git a/protocol/x/listing/keeper/listing.go b/protocol/x/listing/keeper/listing.go index 85ec52b7d6..f716428c1d 100644 --- a/protocol/x/listing/keeper/listing.go +++ b/protocol/x/listing/keeper/listing.go @@ -139,7 +139,7 @@ func (k Keeper) CreatePerpetual( marketId, atomicResolution, types.DefaultFundingPpm, - types.LiquidityTier_LongTail, + types.LiquidityTier_Isolated, perpetualtypes.PerpetualMarketType_PERPETUAL_MARKET_TYPE_ISOLATED, ) if err != nil { diff --git a/protocol/x/listing/keeper/listing_test.go b/protocol/x/listing/keeper/listing_test.go index 2679aa68c9..8943e21bd3 100644 --- a/protocol/x/listing/keeper/listing_test.go +++ b/protocol/x/listing/keeper/listing_test.go @@ -170,7 +170,7 @@ func TestCreatePerpetual(t *testing.T) { // Expected resolution = -6 - Floor(log10(1000000000)) = -15 require.Equal(t, int32(-15), perpetual.Params.AtomicResolution) require.Equal(t, int32(types.DefaultFundingPpm), perpetual.Params.DefaultFundingPpm) - require.Equal(t, uint32(types.LiquidityTier_LongTail), perpetual.Params.LiquidityTier) + require.Equal(t, uint32(types.LiquidityTier_Isolated), perpetual.Params.LiquidityTier) require.Equal( t, perpetualtypes.PerpetualMarketType_PERPETUAL_MARKET_TYPE_ISOLATED, perpetual.Params.MarketType, diff --git a/protocol/x/listing/types/constants.go b/protocol/x/listing/types/constants.go index c4078125c2..b428add511 100644 --- a/protocol/x/listing/types/constants.go +++ b/protocol/x/listing/types/constants.go @@ -5,7 +5,7 @@ const ( DefaultFundingPpm = 0 - LiquidityTier_LongTail uint32 = 2 + LiquidityTier_Isolated uint32 = 4 DefaultStepBaseQuantums uint64 = 1_000_000