{
  "_format": "hh-sol-artifact-1",
  "contractName": "MockSwapRouter",
  "sourceName": "contracts/mock/MockSwapRouter.sol",
  "abi": [
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address[]",
              "name": "path",
              "type": "address[]"
            },
            {
              "internalType": "address",
              "name": "recipient",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "deadline",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amountIn",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amountOutMinimum",
              "type": "uint256"
            }
          ],
          "internalType": "struct MockSwapRouter.ExactInputParams",
          "name": "params",
          "type": "tuple"
        }
      ],
      "name": "exactInput",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenIn",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "tokenOut",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "fee",
              "type": "uint24"
            },
            {
              "internalType": "address",
              "name": "recipient",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "deadline",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amountIn",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "amountOutMinimum",
              "type": "uint256"
            },
            {
              "internalType": "uint160",
              "name": "sqrtPriceLimitX96",
              "type": "uint160"
            }
          ],
          "internalType": "struct MockSwapRouter.ExactInputSingleParams",
          "name": "params",
          "type": "tuple"
        }
      ],
      "name": "exactInputSingle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234601c57600e6020565b6101d961002b82396101d990f35b6026565b60405190565b5f80fdfe60806040526004361015610013575b61014a565b61001d5f3561003c565b8063414bf389146100375763c96b921f0361000e5761011f565b6100ac565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b90816101009103126100635790565b610050565b90610100828203126100825761007f915f01610054565b90565b610048565b90565b61009390610087565b9052565b91906100aa905f6020850194019061008a565b565b6100d36100c26100bd366004610068565b610173565b6100ca610042565b91829182610097565b0390f35b908160a09103126100e55790565b610050565b9060208282031261011a575f82013567ffffffffffffffff81116101155761011292016100d7565b90565b61004c565b610048565b6101466101356101303660046100ea565b61018b565b61013d610042565b91829182610097565b0390f35b5f80fd5b5f90565b61015b81610087565b0361016257565b5f80fd5b3561017081610152565b90565b60a06101889161018161014e565b5001610166565b90565b60606101a09161019961014e565b5001610166565b9056fea2646970667358221220d27ce5dbe9261b759fa3fd85110b32c7d4c86f33c025df38c10f6261952c358864736f6c63430008190033",
  "deployedBytecode": "0x60806040526004361015610013575b61014a565b61001d5f3561003c565b8063414bf389146100375763c96b921f0361000e5761011f565b6100ac565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b90816101009103126100635790565b610050565b90610100828203126100825761007f915f01610054565b90565b610048565b90565b61009390610087565b9052565b91906100aa905f6020850194019061008a565b565b6100d36100c26100bd366004610068565b610173565b6100ca610042565b91829182610097565b0390f35b908160a09103126100e55790565b610050565b9060208282031261011a575f82013567ffffffffffffffff81116101155761011292016100d7565b90565b61004c565b610048565b6101466101356101303660046100ea565b61018b565b61013d610042565b91829182610097565b0390f35b5f80fd5b5f90565b61015b81610087565b0361016257565b5f80fd5b3561017081610152565b90565b60a06101889161018161014e565b5001610166565b90565b60606101a09161019961014e565b5001610166565b9056fea2646970667358221220d27ce5dbe9261b759fa3fd85110b32c7d4c86f33c025df38c10f6261952c358864736f6c63430008190033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
