[
  {
    "type": "function",
    "name": "previewExercise",
    "stateMutability": "view",
    "inputs": [
      {
        "name": "roundId",
        "type": "uint80"
      },
      {
        "name": "quantity",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "price",
        "type": "uint256"
      },
      {
        "name": "collateralOut",
        "type": "uint256"
      },
      {
        "name": "deliveryIn",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "function",
    "name": "exercise",
    "stateMutability": "nonpayable",
    "inputs": [
      {
        "name": "roundId",
        "type": "uint80"
      },
      {
        "name": "quantity",
        "type": "uint256"
      },
      {
        "name": "maxDeliveryIn",
        "type": "uint256"
      }
    ],
    "outputs": []
  },
  {
    "type": "function",
    "name": "buyer",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ]
  },
  {
    "type": "function",
    "name": "seller",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ]
  },
  {
    "type": "function",
    "name": "numContracts",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "function",
    "name": "expiryTimestamp",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "function",
    "name": "startTimestamp",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint64"
      }
    ]
  },
  {
    "type": "function",
    "name": "minPartialExerciseSize",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "function",
    "name": "deliveryCollateral",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ]
  },
  {
    "type": "function",
    "name": "maxDeviationBps",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint16"
      }
    ]
  },
  {
    "type": "function",
    "name": "collateralToken",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ]
  },
  {
    "type": "function",
    "name": "packExtraOptionData",
    "stateMutability": "view",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes"
      }
    ]
  }
]
