{
  "_format": "hh-sol-artifact-1",
  "contractName": "TestAlgebraRouter",
  "sourceName": "contracts/test/TestAlgebraRouter.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "int256",
          "name": "amount0Delta",
          "type": "int256"
        },
        {
          "indexed": false,
          "internalType": "int256",
          "name": "amount1Delta",
          "type": "int256"
        }
      ],
      "name": "SwapCallback",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "int256",
          "name": "amount0Delta",
          "type": "int256"
        },
        {
          "internalType": "int256",
          "name": "amount1Delta",
          "type": "int256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "algebraSwapCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "poolInput",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "poolOutput",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount0Out",
          "type": "uint256"
        }
      ],
      "name": "swapForExact0Multi",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "poolInput",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "poolOutput",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount1Out",
          "type": "uint256"
        }
      ],
      "name": "swapForExact1Multi",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506109b2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632c8958f614610046578063c35a2b68146100c4578063c96aa6c714610100575b600080fd5b6100c26004803603606081101561005c57600080fd5b81359160208101359181019060608101604082013564010000000081111561008357600080fd5b82018360208201111561009557600080fd5b803590602001918460018302840111640100000000831117156100b757600080fd5b50909250905061013c565b005b6100c2600480360360808110156100da57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356106e9565b6100c26004803603608081101561011657600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356108ae565b604080518581526020810185905281517fd48241df4a75e663b29e55f9506b31f77ed0f48cfe7e7612d1163144995dc1ca929181900390910190a16000808383604081101561018a57600080fd5b8101906020810181356401000000008111156101a557600080fd5b8201836020820111156101b757600080fd5b803590602001918460208302840111640100000000831117156101d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251929750505090356001600160a01b031693506001039150610539905057600080871361028d57336001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610270573d6000803e3d6000fd5b505050506040513d602081101561028657600080fd5b50516102e4565b336001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102cb573d6000803e3d6000fd5b505050506040513d60208110156102e157600080fd5b50515b905060008088136102f557866102f7565b875b905060008460008151811061030e5761030e61098f565b60200260200101516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610353573d6000803e3d6000fd5b505050506040513d602081101561036957600080fd5b505185516001600160a01b03858116921691909114915085906000906103915761039161098f565b60200260200101516001600160a01b031663128acb08338385600003856103cc5773fffd8963efd1fc6a506488495d951d5263988d256103d3565b6401000276a45b60408051600080825260208083018085526001600160a01b038f16606085015283850194855283516080850181905293948f949093849360a08801939202908190849084905b83811015610431578181015183820152602001610419565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104c45781810151838201526020016104ac565b50505050905090810190601f1680156104f15780820380516001836020036101000a031916815260200191505b50965050505050505060408051808303816000875af1158015610518573d6000803e3d6000fd5b505050506040513d604081101561052e57600080fd5b506106e19350505050565b600086131561061457336001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610580573d6000803e3d6000fd5b505050506040513d602081101561059657600080fd5b5051604080516323b872dd60e01b81526001600160a01b038481166004830152336024830152604482018a9052915191909216916323b872dd91606480830192602092919082900301816000875af11580156105f6573d6000803e3d6000fd5b505050506040513d602081101561060c57600080fd5b506106e19050565b336001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610652573d6000803e3d6000fd5b505050506040513d602081101561066857600080fd5b5051604080516323b872dd60e01b81526001600160a01b03848116600483015233602483015260448201899052915191909216916323b872dd91606480830192602092919082900301816000875af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b50505b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061071f5761071f61098f565b6001600160a01b039283166020918202929092010152831663128acb088660016107488661097b565b6000036401000276a360010186336040516020018080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019060200280838360005b838110156107a8578181015183820152602001610790565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561083b578181015183820152602001610823565b50505050905090810190601f1680156108685780820380516001836020036101000a031916815260200191505b50965050505050505060408051808303816000875af115801561088f573d6000803e3d6000fd5b505050506040513d60408110156108a557600080fd5b50505050505050565b6040805160018082528183019092526000916020808301908036833701905050905083816000815181106108e4576108e461098f565b6001600160a01b039283166020918202929092010152831663128acb0886600061090d8661097b565b600003600173fffd8963efd1fc6a506488495d951d5263988d260386336040516020018080602001836001600160a01b0316815260200182810382528481815181526020019150805190602001906020028083836000838110156107a8578181015183820152602001610790565b80600081121561098a57600080fd5b919050565b634e487b7160e01b600052603260045260246000fdfea164736f6c6343000814000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632c8958f614610046578063c35a2b68146100c4578063c96aa6c714610100575b600080fd5b6100c26004803603606081101561005c57600080fd5b81359160208101359181019060608101604082013564010000000081111561008357600080fd5b82018360208201111561009557600080fd5b803590602001918460018302840111640100000000831117156100b757600080fd5b50909250905061013c565b005b6100c2600480360360808110156100da57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356106e9565b6100c26004803603608081101561011657600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356108ae565b604080518581526020810185905281517fd48241df4a75e663b29e55f9506b31f77ed0f48cfe7e7612d1163144995dc1ca929181900390910190a16000808383604081101561018a57600080fd5b8101906020810181356401000000008111156101a557600080fd5b8201836020820111156101b757600080fd5b803590602001918460208302840111640100000000831117156101d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251929750505090356001600160a01b031693506001039150610539905057600080871361028d57336001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610270573d6000803e3d6000fd5b505050506040513d602081101561028657600080fd5b50516102e4565b336001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102cb573d6000803e3d6000fd5b505050506040513d60208110156102e157600080fd5b50515b905060008088136102f557866102f7565b875b905060008460008151811061030e5761030e61098f565b60200260200101516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610353573d6000803e3d6000fd5b505050506040513d602081101561036957600080fd5b505185516001600160a01b03858116921691909114915085906000906103915761039161098f565b60200260200101516001600160a01b031663128acb08338385600003856103cc5773fffd8963efd1fc6a506488495d951d5263988d256103d3565b6401000276a45b60408051600080825260208083018085526001600160a01b038f16606085015283850194855283516080850181905293948f949093849360a08801939202908190849084905b83811015610431578181015183820152602001610419565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104c45781810151838201526020016104ac565b50505050905090810190601f1680156104f15780820380516001836020036101000a031916815260200191505b50965050505050505060408051808303816000875af1158015610518573d6000803e3d6000fd5b505050506040513d604081101561052e57600080fd5b506106e19350505050565b600086131561061457336001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610580573d6000803e3d6000fd5b505050506040513d602081101561059657600080fd5b5051604080516323b872dd60e01b81526001600160a01b038481166004830152336024830152604482018a9052915191909216916323b872dd91606480830192602092919082900301816000875af11580156105f6573d6000803e3d6000fd5b505050506040513d602081101561060c57600080fd5b506106e19050565b336001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610652573d6000803e3d6000fd5b505050506040513d602081101561066857600080fd5b5051604080516323b872dd60e01b81526001600160a01b03848116600483015233602483015260448201899052915191909216916323b872dd91606480830192602092919082900301816000875af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b50505b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061071f5761071f61098f565b6001600160a01b039283166020918202929092010152831663128acb088660016107488661097b565b6000036401000276a360010186336040516020018080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019060200280838360005b838110156107a8578181015183820152602001610790565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561083b578181015183820152602001610823565b50505050905090810190601f1680156108685780820380516001836020036101000a031916815260200191505b50965050505050505060408051808303816000875af115801561088f573d6000803e3d6000fd5b505050506040513d60408110156108a557600080fd5b50505050505050565b6040805160018082528183019092526000916020808301908036833701905050905083816000815181106108e4576108e461098f565b6001600160a01b039283166020918202929092010152831663128acb0886600061090d8661097b565b600003600173fffd8963efd1fc6a506488495d951d5263988d260386336040516020018080602001836001600160a01b0316815260200182810382528481815181526020019150805190602001906020028083836000838110156107a8578181015183820152602001610790565b80600081121561098a57600080fd5b919050565b634e487b7160e01b600052603260045260246000fdfea164736f6c6343000814000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
