VMP-36 - EigenLayer Points / USDT (Futures market)

VMP-36 - EigenLayer Points / USDT (Futures market)

This proposal creates a futures market for Eigen Layer points, to be settled using UMA oracle as set out in this research note research/notes/points-markets-settlement.md at master · vegaprotocol/research · GitHub

Full Proposal JSON:

{
  "batchProposalSubmission": {
    "rationale": {
      "description": "This proposal creates an EigenLayer points futures market as discussed in this forum post https://community.vega.xyz/t/vmp-36-eigenlayer-points-usdt-futures-market/4457",
      "title": "VMP-36 - EigenLayer Points / USDT (Futures market)"
    },
    "terms": {
      "closingTimestamp": "1710237600", 
      "changes": [
        {
          "enactmentTimestamp": "1710241200", 
          "newMarket": {
            "changes": {
              "linearSlippageFactor": "0.001",
              "decimalPlaces": "5",
              "positionDecimalPlaces": "-2",
              "instrument": {
                "name": "EigenLayer Points / USDT (Futures market)",
                "code": "EGLP/USDT.POINTS",
                "future": {
                  "settlementAsset": "bf1e88d19db4b3ca0d1d5bdb73718a01686b18cf731ca26adedf3c8b83802bba",
                  "quoteName": "USDT",
                  "dataSourceSpecForSettlementData": {
                    "external": {
                      "ethOracle": {
                        "sourceChainId": "42161",
                        "address": "0x302461E6dBF45e59acb3BE9a9c84C0a997779612",
                        "abi": "[{\"type\":\"function\",\"name\":\"getData\",\"inputs\":[{\"name\":\"identifier\",\"type\":\"tuple\",\"internalType\":\"struct SettlementOracle.Identifier\",\"components\":[{\"name\":\"liveness\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"bondCurrency\",\"type\":\"address\",\"internalType\":\"contract IERC20\"},{\"name\":\"minimumBond\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"maximumBond\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"marketCode\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"quoteName\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"enactmentDate\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"ipfsLink\",\"type\":\"string\",\"internalType\":\"string\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"nonpayable\"}]",
                        "method": "getData",
                        "args": [
                          {
                            "liveness": 28800, // 8 hours
                            "bondCurrency": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8",
                            "minimumBond": 500000000,
                            "maximumBond": 100000000000,
                            "ipfsLink": "ipfs://bafybeiazlsl2ilitnh4p3fm7hsem73qsf5bk5l24in2zlso2gtr5t22eai",
                            "marketCode": "EGLP/USDT.POINTS",
                            "quoteName": "USDT",
                            "enactmentDate": "2024-03-12T11:00:00Z"
                          }
                        ],
                        "requiredConfirmations": "64",
                        "trigger": {
                          "timeTrigger": {
                            "every": "600"
                          }
                        },
                        "filters": [
                          {
                            "key": {
                              "name": "resolved",
                              "type": "TYPE_BOOLEAN"
                            },
                            "conditions": [
                              {
                                "operator": "OPERATOR_EQUALS",
                                "value": "true"
                              }
                            ]
                          },
                          {
                            "key": {
                              "name": "price",
                              "type": "TYPE_INTEGER",
                              "numberDecimalPlaces": "18"
                            },
                            "conditions": [
                              {
                                "operator": "OPERATOR_GREATER_THAN_OR_EQUAL",
                                "value": "0"
                              }
                            ]
                          }
                        ],
                        "normalisers": [
                          {
                            "name": "resolved",
                            "expression": "$[0]"
                          },
                          {
                            "name": "price",
                            "expression": "$[1]"
                          }
                        ]
                      }
                    }
                  },
                  "dataSourceSpecForTradingTermination": {
                    "external": {
                      "ethOracle": {
                        "sourceChainId": "42161",
                        "address": "0x6d0b3a00265b8b4a1d22cf466c331014133ba614",
                        "abi": "[{\"type\":\"function\",\"name\":\"getData\",\"inputs\":[{\"name\":\"identifier\",\"type\":\"tuple\",\"internalType\":\"struct TerminationOracle.Identifier\",\"components\":[{\"name\":\"bondCurrency\",\"type\":\"address\",\"internalType\":\"contract IERC20\"},{\"name\":\"minimumBond\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"maximumBond\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"liveness\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"marketCode\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"quoteName\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"enactmentDate\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"ipfsLink\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"conditionalSettlementOracle\",\"type\":\"address\",\"internalType\":\"contract SettlementOracle\"}]}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"}]",
                        "method": "getData",
                        "args": [
                          {
                            "liveness": 28800, // 8 hours
                            "bondCurrency": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8",
                            "minimumBond": 500000000,
                            "maximumBond": 100000000000,
                            "ipfsLink": "ipfs://bafybeiazlsl2ilitnh4p3fm7hsem73qsf5bk5l24in2zlso2gtr5t22eai",
                            "marketCode": "EGLP/USDT.POINTS",
                            "quoteName": "USDT",
                            "enactmentDate": "2024-03-12T11:00:00Z",
                            "conditionalSettlementOracle": "0x302461E6dBF45e59acb3BE9a9c84C0a997779612"
                          }
                        ],
                        "requiredConfirmations": "64",
                        "trigger": {
                          "timeTrigger": {
                            "every": "600"
                          }
                        },
                        "filters": [
                          {
                            "key": {
                              "name": "resolved",
                              "type": "TYPE_BOOLEAN"
                            },
                            "conditions": [
                              {
                                "operator": "OPERATOR_EQUALS",
                                "value": "true"
                              }
                            ]
                          },
                          {
                            "key": {
                              "name": "terminated",
                              "type": "TYPE_BOOLEAN"
                            },
                            "conditions": [
                              {
                                "operator": "OPERATOR_EQUALS",
                                "value": "true"
                              }
                            ]
                          }
                        ],
                        "normalisers": [
                          {
                            "name": "resolved",
                            "expression": "$[0]"
                          },
                          {
                            "name": "terminated",
                            "expression": "$[2]"
                          }
                        ]
                      }
                    }
                  },
                  "dataSourceSpecBinding": {
                    "settlementDataProperty": "price",
                    "tradingTerminationProperty": "terminated"
                  }
                }
              },
              "metadata": [
                "base:EGLPOINT",
                "quote:USDT",
                "enactment:2024-03-12T11:00:00Z",
                "settlement:fromOracle",
                "class:fx/crypto",
                "oracle:uma",
                "sector:defi",
                "oracleChain:arbitrum",
                "domain:eigenlayer.xyz"
              ],
              "priceMonitoringParameters": {
                "triggers": [
                  {
                    "horizon": "120",
                    "probability": "0.9999999",
                    "auctionExtension": "60"
                  },
                  {
                    "horizon": "120",
                    "probability": "0.9999999",
                    "auctionExtension": "60"
                  },
                  {
                    "horizon": "120",
                    "probability": "0.9999999",
                    "auctionExtension": "60"
                  },
                  {
                    "horizon": "120",
                    "probability": "0.9999999",
                    "auctionExtension": "60"
                  },
                  {
                    "horizon": "120",
                    "probability": "0.9999999",
                    "auctionExtension": "60"
                  },
                  {
                    "horizon": "200",
                    "probability": "0.9999999",
                    "auctionExtension": "300"
                  },
                  {
                    "horizon": "200",
                    "probability": "0.9999999",
                    "auctionExtension": "300"
                  },
                  {
                    "horizon": "200",
                    "probability": "0.9999999",
                    "auctionExtension": "300"
                  },
                  {
                    "horizon": "200",
                    "probability": "0.9999999",
                    "auctionExtension": "300"
                  },
                  {
                    "horizon": "200",
                    "probability": "0.9999999",
                    "auctionExtension": "300"
                  },
                  {
                    "horizon": "400",
                    "probability": "0.9999999",
                    "auctionExtension": "900"
                  },
                  {
                    "horizon": "400",
                    "probability": "0.9999999",
                    "auctionExtension": "900"
                  },
                  {
                    "horizon": "400",
                    "probability": "0.9999999",
                    "auctionExtension": "900"
                  },
                  {
                    "horizon": "400",
                    "probability": "0.9999999",
                    "auctionExtension": "900"
                  },
                  {
                    "horizon": "400",
                    "probability": "0.9999999",
                    "auctionExtension": "900"
                  },
                  {
                    "horizon": "400",
                    "probability": "0.9999999",
                    "auctionExtension": "900"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "500",
                    "probability": "0.9999999",
                    "auctionExtension": "1800"
                  },
                  {
                    "horizon": "620",
                    "probability": "0.9999999",
                    "auctionExtension": "3600"
                  },
                  {
                    "horizon": "620",
                    "probability": "0.9999999",
                    "auctionExtension": "3600"
                  },
                  {
                    "horizon": "620",
                    "probability": "0.9999999",
                    "auctionExtension": "3600"
                  },
                  {
                    "horizon": "620",
                    "probability": "0.9999999",
                    "auctionExtension": "3600"
                  },
                  {
                    "horizon": "620",
                    "probability": "0.9999999",
                    "auctionExtension": "3600"
                  },
                  {
                    "horizon": "620",
                    "probability": "0.9999999",
                    "auctionExtension": "3600"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "750",
                    "probability": "0.9999999",
                    "auctionExtension": "7200"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  },
                  {
                    "horizon": "800",
                    "probability": "0.9999999",
                    "auctionExtension": "28800"
                  }
                ]
              },
              "logNormal": {
                "tau": 0.0006844626968,
                "riskAversionParameter": 0.001,
                "params": {
                  "mu": 0,
                  "r": 0,
                  "sigma": 7.0
                }
              },
              "liquiditySlaParameters": {
                "priceRange": "0.2",
                "commitmentMinTimeFraction": "0.5",
                "performanceHysteresisEpochs": "1",
                "slaCompetitionFactor": "0.8"
              },
              "liquidationStrategy": {
                "disposalTimeStep": "5",
                "disposalFraction": "0.1",
                "fullDisposalSize": "10000",
                "maxFractionConsumed": "0.1"
              },
              "liquidityFeeSettings": {
                "method": "METHOD_MARGINAL_COST"
              },
              "liquidityMonitoringParameters": {
                "targetStakeParameters": {
                  "timeWindow": "3600",
                  "scalingFactor": "0.05"
                }
              },
              "markPriceConfiguration": {
                "compositePriceType": "COMPOSITE_PRICE_TYPE_LAST_TRADE"
              }
            }
          }
        }
      ]
    }
  }
}

1 Like

The main thing to understand is the settlement oracle. Since we have

"sourceChainId": "42161"

both for dataSourceSpecForTradingTermination and for dataSourceSpecForSettlementData vega chain will read from Arbitrum (see Arbitrum explorer.

This is the contract for trading termination and this one for settlement data and these are fed with a bunch of inputs:

{
                          "bondCurrency": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8",
                          "conditionalSettlementOracle": "0x302461E6dBF45e59acb3BE9a9c84C0a997779612",
                          "enactmentDate": "2024-03-12T11:00:00Z",
                          "ipfsLink": "ipfs://bafybeiazlsl2ilitnh4p3fm7hsem73qsf5bk5l24in2zlso2gtr5t22eai",
                          "liveness": 28800,
                          "marketCode": "EGLP/USDT.POINTS",
                          "maximumBond": 100000000000,
                          "minimumBond": 500000000,
                          "quoteName": "USDT"
                        }

to fit with UMA oracle framework.

Basically, the settlement is governed by an UMA oracle with rules described in this ipfs doc.

1 Like

The risk model and auction setting looks fine.