[
 {
  "name": "InvalidMetadata",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidRecipient",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidToken",
  "type": "error",
  "inputs": []
 },
 {
  "name": "UnknownMarket",
  "type": "error",
  "inputs": []
 },
 {
  "name": "MarketCreated",
  "type": "event",
  "inputs": [
   {
    "name": "marketId",
    "type": "uint256",
    "indexed": true,
    "internalType": "uint256"
   },
   {
    "name": "creator",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "baseToken",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "feeRecipient",
    "type": "address",
    "indexed": false,
    "internalType": "address"
   },
   {
    "name": "metadataURI",
    "type": "string",
    "indexed": false,
    "internalType": "string"
   }
  ],
  "anonymous": false
 },
 {
  "name": "getMarket",
  "type": "function",
  "inputs": [
   {
    "name": "marketId",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "outputs": [
   {
    "name": "market",
    "type": "tuple",
    "components": [
     {
      "name": "creator",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "feeRecipient",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "metadataURI",
      "type": "string",
      "internalType": "string"
     }
    ],
    "internalType": "struct SidelotMarketRegistry.Market"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "nextMarketId",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "registerMarket",
  "type": "function",
  "inputs": [
   {
    "name": "baseToken",
    "type": "address",
    "internalType": "address"
   },
   {
    "name": "feeRecipient",
    "type": "address",
    "internalType": "address"
   },
   {
    "name": "metadataURI",
    "type": "string",
    "internalType": "string"
   }
  ],
  "outputs": [
   {
    "name": "marketId",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "nonpayable"
 }
]