{
  "$schema": "../../../../contract.schema.json",
  "released": true,
  "contractName": "UniswapV3RoutingLogic",
  "deploymentName": "UniswapV3RoutingLogic-Thruster",
  "version": "2.1.0-7",
  "networkAddresses": {
    "81457": {
      "primaryAddress": "0x5241C3d738a3B6F4E2Fa6f7F38213CD9f2b5A29d",
      "allAddresses": [
        {
          "address": "0x5241C3d738a3B6F4E2Fa6f7F38213CD9f2b5A29d",
          "dependencies": [
            {
              "name": "Mangrove",
              "address": "0xb1a49C54192Ea59B233200eA38aB56650Dfb448C"
            }
          ]
        }
      ]
    }
  },
  "abi": [
    {
      "type": "constructor",
      "inputs": [
        {
          "name": "_manager",
          "type": "address",
          "internalType": "contract UniswapV3Manager"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "balanceLogic",
      "inputs": [
        {
          "name": "token",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "fundOwner", "type": "address", "internalType": "address" }
      ],
      "outputs": [
        { "name": "balance", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "factory",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "manager",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "contract UniswapV3Manager"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "positionManager",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "contract INonfungiblePositionManager"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "pullLogic",
      "inputs": [
        {
          "name": "token",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "fundOwner", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint256", "internalType": "uint256" },
        { "name": "", "type": "bool", "internalType": "bool" }
      ],
      "outputs": [
        { "name": "pulled", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "pushLogic",
      "inputs": [
        {
          "name": "token",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "fundOwner", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint256", "internalType": "uint256" }
      ],
      "outputs": [
        { "name": "pushed", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "nonpayable"
    },
    { "type": "error", "name": "MathOverflowedMulDiv", "inputs": [] }
  ]
}
