VMP-32 Re-create terminated LINK Perp

Now that the SOL and LINK Perpetuals have been successfully terminated we can re-create the LINK with a different oracle. Specifically we can read prices from a contract on Ethereum that derives the prices from Uniswap pools. I propose we only re-enact the LINK market for now since the only pool available for SOL is wormhole SOL and I think we should avoid using wrapped tokens for oracle prices.

For the LINK Perp I propose we use this pool: 0xa2107fa5b38d9bbd2c461d6edf11b11a50f6b974

The risk model params for this market would allow a maximum leverage of ~75x before a position is forcefully liquidated.

VMP-32 Re-create terminated LINK Perp

{
    "rationale": {
        "description": "## Summary\n\nThis proposal requests to re-create the LINK/USDT Perpetual market with USDT as a settlement asset",
        "title": "VMP-32a Re-create LINK/USDT Perpetual"
    },
    "terms": {
        "newMarket": {
            "changes": {
                "instrument": {
                    "name": "LINK/USDT-Perp",
                    "code": "LINK/USDT-PERP",
                    "perpetual": {
                        "settlementAsset": "bf1e88d19db4b3ca0d1d5bdb73718a01686b18cf731ca26adedf3c8b83802bba",
                        "quoteName": "USDT",
                        "marginFundingFactor": "0.9",
                        "interestRate": "0.1095",
                        "clampLowerBound": "-0.0005",
                        "clampUpperBound": "0.0005",
                        "dataSourceSpecForSettlementSchedule": {
                            "internal": {
                                "timeTrigger": {
                                    "conditions": [
                                        {
                                            "operator": "OPERATOR_GREATER_THAN_OR_EQUAL",
                                            "value": "0"
                                        }
                                    ],
                                    "triggers": [
                                        {
                                            "every": "28800"
                                        }
                                    ]
                                }
                            }
                        },
                        "dataSourceSpecForSettlementData": {
                            "external": {
                                "ethOracle": {
                                    "address": "0x9eb2EBD260D82410592758B3091F74977E4A404c",
                                    "abi": "[{\"inputs\":[{\"internalType\":\"contract IUniswapV3Pool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"twapInterval\",\"type\":\"uint32\"}],\"name\":\"priceFromEthPoolInUsdt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
                                    "method": "priceFromEthPoolInUsdt",
                                    "args": [
                                        "0xa2107fa5b38d9bbd2c461d6edf11b11a50f6b974",
                                        300
                                    ],
                                    "trigger": {
                                        "timeTrigger": {
                                            "every": "300"
                                        }
                                    },
                                    "requiredConfirmations": "3",
                                    "filters": [
                                        {
                                            "key": {
                                                "name": "link.price",
                                                "type": "TYPE_INTEGER",
                                                "numberDecimalPlaces": "18"
                                            },
                                            "conditions": [
                                                {
                                                    "operator": "OPERATOR_GREATER_THAN",
                                                    "value": "0"
                                                }
                                            ]
                                        }
                                    ],
                                    "normalisers": [
                                        {
                                            "name": "link.price",
                                            "expression": "$[0]"
                                        }
                                    ]
                                }
                            }
                        },
                        "dataSourceSpecBinding": {
                            "settlementDataProperty": "link.price",
                            "settlementScheduleProperty": "vegaprotocol.builtin.timetrigger"
                        }
                    }
                },
                "decimalPlaces": "3",
                "metadata": [
                    "base:LINK",
                    "quote:USDT",
                    "class:fx/crypto",
                    "perpetual",
                    "sector:oracles",
                    "enactment:2024-02-05T15:00:00Z"
                ],
                "priceMonitoringParameters": {
                    "triggers": [
                        {
                            "horizon": "4320",
                            "probability": "0.9999999",
                            "auctionExtension": "300"
                        },
                        {
                            "horizon": "1440",
                            "probability": "0.9999999",
                            "auctionExtension": "180"
                        },
                        {
                            "horizon": "360",
                            "probability": "0.9999999",
                            "auctionExtension": "120"
                        }
                    ]
                },
                "liquidityMonitoringParameters": {
                    "targetStakeParameters": {
                        "timeWindow": "3600",
                        "scalingFactor": 0.05
                    },
                    "triggeringRatio": "0.9",
                    "auctionExtension": "1"
                },
                "logNormal": {
                    "riskAversionParameter": 0.000001,
                    "tau": 0.0000032,
                    "params": {
                        "mu": 0,
                        "r": 0,
                        "sigma": 1.5
                    }
                },
                "positionDecimalPlaces": "1",
                "linearSlippageFactor": "0.001",
                "quadraticSlippageFactor": "0",
                "liquiditySlaParameters": {
                    "priceRange": "0.03",
                    "commitmentMinTimeFraction": "0.85",
                    "performanceHysteresisEpochs": "1",
                    "slaCompetitionFactor": "0.5"
                }
            }
        },
        "closingTimestamp": 1707609600,
        "enactmentTimestamp": 1707613200
    }
}
2 Likes

@Ed-Commodum Are you still planning to re-create the Link martket?

1 Like

Could well do, I shelved it at the time because we didn’t have a good oracle but when I get round to it I’ll create the JSON for a LINK market.

1 Like