{
  "_format": "hh-sol-artifact-1",
  "contractName": "TestElixirRouter",
  "sourceName": "contracts/elixir-core/test/TestElixirRouter.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": "elixirSwapCallback",
      "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": "0x608060405234801561001057600080fd5b50610a37806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063c35a2b6814610046578063c96aa6c714610084578063d804d7a7146100c0575b600080fd5b6100826004803603608081101561005c57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060013561013c565b005b6100826004803603608081101561009a57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060013561030a565b610082600480360360608110156100d657600080fd5b8135916020810135918101906060810160408201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184600183028401116401000000008311171561013157600080fd5b5090925090506103d1565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061016c57fe5b6001600160a01b039283166020918202929092010152831663128acb08866001610195866109eb565b6000036401000276a360010186336040516020018080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019060200280838360005b838110156101f55781810151838201526020016101dd565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610288578181015183820152602001610270565b50505050905090810190601f1680156102b55780820380516001836020036101000a031916815260200191505b5096505050505050506040805180830381600087803b1580156102d757600080fd5b505af11580156102eb573d6000803e3d6000fd5b505050506040513d604081101561030157600080fd5b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061033a57fe5b6001600160a01b039283166020918202929092010152831663128acb08866000610363866109eb565b600003600173fffd8963efd1fc6a506488495d951d5263988d260386336040516020018080602001836001600160a01b0316815260200182810382528481815181526020019150805190602001906020028083836000838110156101f55781810151838201526020016101dd565b604080518581526020810185905281517fd48241df4a75e663b29e55f9506b31f77ed0f48cfe7e7612d1163144995dc1ca929181900390910190a16000808383604081101561041f57600080fd5b81019060208101813564010000000081111561043a57600080fd5b82018360208201111561044c57600080fd5b8035906020019184602083028401116401000000008311171561046e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251929750505090356001600160a01b031693506001141591506107ff905057600080871361053257336001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b5051610598565b336001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561056b57600080fd5b505afa15801561057f573d6000803e3d6000fd5b505050506040513d602081101561059557600080fd5b50515b905060008088136105a957866105ab565b875b90506000846000815181106105bc57fe5b60200260200101516001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d602081101561062657600080fd5b505185516001600160a01b038581169216919091149150859060009061064857fe5b60200260200101516001600160a01b031663128acb08338385600003856106835773fffd8963efd1fc6a506488495d951d5263988d2561068a565b6401000276a45b60408051600080825260208083018085526001600160a01b038f16606085015283850194855283516080850181905293948f949093849360a08801939202908190849084905b838110156106e85781810151838201526020016106d0565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561077b578181015183820152602001610763565b50505050905090810190601f1680156107a85780820380516001836020036101000a031916815260200191505b5096505050505050506040805180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d60408110156107f457600080fd5b506109e39350505050565b60008613156108f857336001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561084157600080fd5b505afa158015610855573d6000803e3d6000fd5b505050506040513d602081101561086b57600080fd5b5051604080516323b872dd60e01b81526001600160a01b038481166004830152336024830152604482018a9052915191909216916323b872dd9160648083019260209291908290030181600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b505050506040513d60208110156108f057600080fd5b506109e39050565b336001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561093157600080fd5b505afa158015610945573d6000803e3d6000fd5b505050506040513d602081101561095b57600080fd5b5051604080516323b872dd60e01b81526001600160a01b03848116600483015233602483015260448201899052915191909216916323b872dd9160648083019260209291908290030181600087803b1580156109b657600080fd5b505af11580156109ca573d6000803e3d6000fd5b505050506040513d60208110156109e057600080fd5b50505b505050505050565b6000600160ff1b82106109fd57600080fd5b509056fea2646970667358221220535d49a9e1c7746bb2f5e82ac2b390aa8cb65d7ace495b62e9914156eb3cd75a64736f6c63430007060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063c35a2b6814610046578063c96aa6c714610084578063d804d7a7146100c0575b600080fd5b6100826004803603608081101561005c57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060013561013c565b005b6100826004803603608081101561009a57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060013561030a565b610082600480360360608110156100d657600080fd5b8135916020810135918101906060810160408201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184600183028401116401000000008311171561013157600080fd5b5090925090506103d1565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061016c57fe5b6001600160a01b039283166020918202929092010152831663128acb08866001610195866109eb565b6000036401000276a360010186336040516020018080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019060200280838360005b838110156101f55781810151838201526020016101dd565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610288578181015183820152602001610270565b50505050905090810190601f1680156102b55780820380516001836020036101000a031916815260200191505b5096505050505050506040805180830381600087803b1580156102d757600080fd5b505af11580156102eb573d6000803e3d6000fd5b505050506040513d604081101561030157600080fd5b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061033a57fe5b6001600160a01b039283166020918202929092010152831663128acb08866000610363866109eb565b600003600173fffd8963efd1fc6a506488495d951d5263988d260386336040516020018080602001836001600160a01b0316815260200182810382528481815181526020019150805190602001906020028083836000838110156101f55781810151838201526020016101dd565b604080518581526020810185905281517fd48241df4a75e663b29e55f9506b31f77ed0f48cfe7e7612d1163144995dc1ca929181900390910190a16000808383604081101561041f57600080fd5b81019060208101813564010000000081111561043a57600080fd5b82018360208201111561044c57600080fd5b8035906020019184602083028401116401000000008311171561046e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251929750505090356001600160a01b031693506001141591506107ff905057600080871361053257336001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b5051610598565b336001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561056b57600080fd5b505afa15801561057f573d6000803e3d6000fd5b505050506040513d602081101561059557600080fd5b50515b905060008088136105a957866105ab565b875b90506000846000815181106105bc57fe5b60200260200101516001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d602081101561062657600080fd5b505185516001600160a01b038581169216919091149150859060009061064857fe5b60200260200101516001600160a01b031663128acb08338385600003856106835773fffd8963efd1fc6a506488495d951d5263988d2561068a565b6401000276a45b60408051600080825260208083018085526001600160a01b038f16606085015283850194855283516080850181905293948f949093849360a08801939202908190849084905b838110156106e85781810151838201526020016106d0565b5050505090500193505050506040516020818303038152906040526040518663ffffffff1660e01b815260040180866001600160a01b031681526020018515158152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561077b578181015183820152602001610763565b50505050905090810190601f1680156107a85780820380516001836020036101000a031916815260200191505b5096505050505050506040805180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d60408110156107f457600080fd5b506109e39350505050565b60008613156108f857336001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561084157600080fd5b505afa158015610855573d6000803e3d6000fd5b505050506040513d602081101561086b57600080fd5b5051604080516323b872dd60e01b81526001600160a01b038481166004830152336024830152604482018a9052915191909216916323b872dd9160648083019260209291908290030181600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b505050506040513d60208110156108f057600080fd5b506109e39050565b336001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561093157600080fd5b505afa158015610945573d6000803e3d6000fd5b505050506040513d602081101561095b57600080fd5b5051604080516323b872dd60e01b81526001600160a01b03848116600483015233602483015260448201899052915191909216916323b872dd9160648083019260209291908290030181600087803b1580156109b657600080fd5b505af11580156109ca573d6000803e3d6000fd5b505050506040513d60208110156109e057600080fd5b50505b505050505050565b6000600160ff1b82106109fd57600080fd5b509056fea2646970667358221220535d49a9e1c7746bb2f5e82ac2b390aa8cb65d7ace495b62e9914156eb3cd75a64736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
