{
  "$schema": "../../../../contract.schema.json",
  "released": true,
  "contractName": "SmartKandelSeeder",
  "version": "2.1.0-6",
  "networkAddresses": {
    "80001": {
      "primaryAddress": "0x09356C801ca3eE28A461C3e3469acfF3a13C6E90",
      "allAddresses": [
        {
          "address": "0x09356C801ca3eE28A461C3e3469acfF3a13C6E90",
          "dependencies": [
            {
              "name": "Mangrove",
              "address": "0x80cd6Ef14c23dD3957FD5629141a9d7028557c39"
            }
          ]
        }
      ]
    }
  },
  "abi": [
    {
      "type": "constructor",
      "inputs": [
        {
          "name": "mgv",
          "type": "address",
          "internalType": "contract IMangrove"
        },
        {
          "name": "kandelGasreq",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "factory",
          "type": "address",
          "internalType": "contract RouterProxyFactory"
        },
        {
          "name": "routerImplementation",
          "type": "address",
          "internalType": "contract AbstractRouter"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "KANDEL_GASREQ",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "MGV",
      "inputs": [],
      "outputs": [
        { "name": "", "type": "address", "internalType": "contract IMangrove" }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "PROXY_FACTORY",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "contract RouterProxyFactory"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "sow",
      "inputs": [
        {
          "name": "olKeyBaseQuote",
          "type": "tuple",
          "internalType": "struct OLKey",
          "components": [
            {
              "name": "outbound_tkn",
              "type": "address",
              "internalType": "address"
            },
            {
              "name": "inbound_tkn",
              "type": "address",
              "internalType": "address"
            },
            {
              "name": "tickSpacing",
              "type": "uint256",
              "internalType": "uint256"
            }
          ]
        },
        { "name": "liquiditySharing", "type": "bool", "internalType": "bool" }
      ],
      "outputs": [
        {
          "name": "kandel",
          "type": "address",
          "internalType": "contract GeometricKandel"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "event",
      "name": "NewSmartKandel",
      "inputs": [
        {
          "name": "owner",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "baseQuoteOlKeyHash",
          "type": "bytes32",
          "indexed": true,
          "internalType": "bytes32"
        },
        {
          "name": "quoteBaseOlKeyHash",
          "type": "bytes32",
          "indexed": true,
          "internalType": "bytes32"
        },
        {
          "name": "kandel",
          "type": "address",
          "indexed": false,
          "internalType": "address"
        }
      ],
      "anonymous": false
    }
  ]
}
