{
  "version": "v4.2.5",
  "name": "FeeCollectorPerTokenPairImpl",
  "bytecode": "0204154032404b406701010202000ab3ce014113107b1600b2ce011601aa01020202000dd3f1ab4760b40c0dce0001024513107b1600ce011601ab01020101000bd320f98f62b40c0dce0001024513107b1600b001000000000dd3f2c71c4bb40c0dce0001024513107b0c0cce010111",
  "codeHash": "a2326c414551281d90194411b00b614c3fc07cb568020e1ed2e1852099e6996e",
  "fieldsSig": {
    "names": [
      "tokenPairFactory",
      "tokenPair"
    ],
    "types": [
      "TokenPairFactory",
      "TokenPair"
    ],
    "isMutable": [
      false,
      false
    ]
  },
  "eventsSig": [],
  "functions": [
    {
      "name": "collectFee",
      "paramNames": [
        "from",
        "amount"
      ],
      "paramTypes": [
        "Address",
        "U256"
      ],
      "paramIsMutable": [
        false,
        false
      ],
      "returnTypes": []
    },
    {
      "name": "withdraw",
      "paramNames": [
        "to",
        "amount"
      ],
      "paramTypes": [
        "Address",
        "U256"
      ],
      "paramIsMutable": [
        false,
        false
      ],
      "returnTypes": []
    },
    {
      "name": "destroy",
      "paramNames": [
        "to"
      ],
      "paramTypes": [
        "Address"
      ],
      "paramIsMutable": [
        false
      ],
      "returnTypes": []
    },
    {
      "name": "collectFeeManually",
      "paramNames": [],
      "paramTypes": [],
      "paramIsMutable": [],
      "returnTypes": []
    }
  ],
  "constants": [],
  "enums": [
    {
      "name": "ErrorCodes",
      "fields": [
        {
          "name": "ReserveOverflow",
          "value": {
            "type": "U256",
            "value": "0"
          }
        },
        {
          "name": "InsufficientInitLiquidity",
          "value": {
            "type": "U256",
            "value": "1"
          }
        },
        {
          "name": "InsufficientLiquidityMinted",
          "value": {
            "type": "U256",
            "value": "2"
          }
        },
        {
          "name": "InsufficientLiquidityBurned",
          "value": {
            "type": "U256",
            "value": "3"
          }
        },
        {
          "name": "InvalidToAddress",
          "value": {
            "type": "U256",
            "value": "4"
          }
        },
        {
          "name": "InsufficientLiquidity",
          "value": {
            "type": "U256",
            "value": "5"
          }
        },
        {
          "name": "InvalidTokenInId",
          "value": {
            "type": "U256",
            "value": "6"
          }
        },
        {
          "name": "InvalidCalleeId",
          "value": {
            "type": "U256",
            "value": "7"
          }
        },
        {
          "name": "InvalidK",
          "value": {
            "type": "U256",
            "value": "8"
          }
        },
        {
          "name": "InsufficientOutputAmount",
          "value": {
            "type": "U256",
            "value": "9"
          }
        },
        {
          "name": "InsufficientInputAmount",
          "value": {
            "type": "U256",
            "value": "10"
          }
        },
        {
          "name": "IdenticalTokenIds",
          "value": {
            "type": "U256",
            "value": "11"
          }
        },
        {
          "name": "Expired",
          "value": {
            "type": "U256",
            "value": "12"
          }
        },
        {
          "name": "InsufficientToken0Amount",
          "value": {
            "type": "U256",
            "value": "13"
          }
        },
        {
          "name": "InsufficientToken1Amount",
          "value": {
            "type": "U256",
            "value": "14"
          }
        },
        {
          "name": "TokenNotExist",
          "value": {
            "type": "U256",
            "value": "15"
          }
        },
        {
          "name": "InvalidCaller",
          "value": {
            "type": "U256",
            "value": "16"
          }
        },
        {
          "name": "FeeCollectorNotEnabled",
          "value": {
            "type": "U256",
            "value": "17"
          }
        },
        {
          "name": "InvalidAccount",
          "value": {
            "type": "U256",
            "value": "18"
          }
        }
      ]
    }
  ]
}