{
  "_format": "hh-sol-artifact-1",
  "contractName": "LiquidityMathEchidnaTest",
  "sourceName": "contracts/test/echidna/LiquidityMathEchidnaTest.sol",
  "abi": [
    {
      "inputs": [],
      "name": "liquidityAdd",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "liquiditySub",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "priceOutOfRange",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "tickOutOfRange",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint128",
          "name": "x",
          "type": "uint128"
        },
        {
          "internalType": "int128",
          "name": "y",
          "type": "int128"
        }
      ],
      "name": "addDelta",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "int24",
          "name": "bottomTick",
          "type": "int24"
        },
        {
          "internalType": "int24",
          "name": "topTick",
          "type": "int24"
        },
        {
          "internalType": "int128",
          "name": "liquidityDelta",
          "type": "int128"
        },
        {
          "internalType": "uint160",
          "name": "currentPrice",
          "type": "uint160"
        }
      ],
      "name": "checkGetAmountsForLiquidity",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610d83806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063402d44fb1461003b57806387e0f0b714610050575b600080fd5b61004e610049366004610c65565b610063565b005b61004e61005e366004610cb8565b6100fc565b600061006f8383610256565b9050600082600f0b121561009e57826001600160801b0316816001600160801b03161061009e5761009e610d1a565b81600f0b6000036100ca57826001600160801b0316816001600160801b0316146100ca576100ca610d1a565b600082600f0b13156100f757826001600160801b0316816001600160801b0316116100f7576100f7610d1a565b505050565b8360020b8360020b1361010e57600080fd5b620d89e719600285900b121561012357600080fd5b610130620d89e719610d30565b60020b8360020b131561014257600080fd5b6401000276a36001600160a01b038216101561015d57600080fd5b73fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038216111561018757600080fd5b6000610192826102d6565b905060008060006101a688888887896105e9565b925092509250600086600f0b13156101cc57600081600f0b12156101cc576101cc610d1a565b8760020b8460020b121580156101e757508660020b8460020b125b80156101f7575085600f0b600014155b156102165785600f0b81600f0b1461021157610211610d1a565b610229565b80600f0b60001461022957610229610d1a565b85600f0b60000361024c5782158015610240575081155b61024c5761024c610d1a565b5050505050505050565b60008082600f0b121561029857508082016001600160801b0380841690821610610293576040516302603ee960e31b815260040160405180910390fd5b6102d0565b826001600160801b03168284019150816001600160801b031610156102d057604051634cba017960e11b815260040160405180910390fd5b92915050565b60006401000276a36001600160a01b0383161080610311575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b03831610155b1561032f576040516355cf1e2360e01b815260040160405180910390fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106103d057607f810383901c91506103da565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146105da57886001600160a01b03166105bf82610698565b6001600160a01b031611156105d457816105dc565b806105dc565b815b9998505050505050505050565b6000806000806105f889610698565b9050600061060589610698565b90506000808b60020b8960020b121561062a5761062384848c610980565b9150610668565b8a60020b8960020b121561065a5761064388848c610980565b915061065084898c6109c5565b9050899450610668565b61066584848c6109c5565b90505b60008a600f0b1261067a578181610683565b81600003816000035b909d909c50949a509398505050505050505050565b6000600282900b60171d62ffffff818401821816620d89e88111156106d057604051633c10250f60e01b815260040160405180910390fd5b70010000000000000000000000000000000060018216156106fe57506ffffcb933bd6fad37aa2d162d1a5940015b600282161561071d576ffff97272373d413259a46990580e213a0260801c5b600482161561073c576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561075b576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b601082161561077a576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615610799576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156107b8576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156107d7576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156107f7576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615610817576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615610837576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615610857576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615610877576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615610897576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156108b7576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156108d7576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156108f8576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615610918576e5d6af8dedb81196699c329225ee6040260801c5b62040000821061095e5762040000821615610941576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561095e576b048a170391f7dc42444e8fa20260801c5b60008560020b131561096f57600019045b63ffffffff0160201c949350505050565b60008082600f0b12156109ad576109a56109a085858560000360006109f5565b610aa2565b6000036109bd565b6109bd6109a085858560016109f5565b949350505050565b60008082600f0b12156109e5576109a56109a08585856000036000610ab6565b6109bd6109a08585856001610ab6565b60006001600160a01b0385850381169085168110610a1257600080fd5b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b1683610a6b57866001600160a01b0316610a588383896001600160a01b0316610b39565b81610a6557610a65610d60565b04610a97565b610a97610a828383896001600160a01b0316610bd3565b886001600160a01b0316808204910615150190565b979650505050505050565b806000811215610ab157600080fd5b919050565b6000846001600160a01b0316846001600160a01b03161015610ad757600080fd5b6001600160a01b038585031682610b0e57610b0981856001600160801b03166c01000000000000000000000000610b39565b610b2f565b610b2f81856001600160801b03166c01000000000000000000000000610bd3565b9695505050505050565b60008383028160001985870982811083820303915050808411610b5b57600080fd5b80600003610b6e57508290049050610bcc565b8385870960008581038616958690049560026003880281188089028203028089028203028089028203028089028203028089028203028089029091030291819003819004600101858411909403939093029190930391909104170290505b9392505050565b6000831580610bf457505082820282848281610bf157610bf1610d60565b04145b15610c155760008211610c0657600080fd5b81810490829006151501610bcc565b610c20848484610b39565b905060008280610c3257610c32610d60565b8486091115610bcc576000198110610c4957600080fd5b6001019392505050565b8035600f81900b8114610ab157600080fd5b60008060408385031215610c7857600080fd5b82356001600160801b0381168114610c8f57600080fd5b9150610c9d60208401610c53565b90509250929050565b8035600281900b8114610ab157600080fd5b60008060008060808587031215610cce57600080fd5b610cd785610ca6565b9350610ce560208601610ca6565b9250610cf360408601610c53565b915060608501356001600160a01b0381168114610d0f57600080fd5b939692955090935050565b634e487b7160e01b600052600160045260246000fd5b60008160020b627fffff198103610d5757634e487b7160e01b600052601160045260246000fd5b60000392915050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000814000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063402d44fb1461003b57806387e0f0b714610050575b600080fd5b61004e610049366004610c65565b610063565b005b61004e61005e366004610cb8565b6100fc565b600061006f8383610256565b9050600082600f0b121561009e57826001600160801b0316816001600160801b03161061009e5761009e610d1a565b81600f0b6000036100ca57826001600160801b0316816001600160801b0316146100ca576100ca610d1a565b600082600f0b13156100f757826001600160801b0316816001600160801b0316116100f7576100f7610d1a565b505050565b8360020b8360020b1361010e57600080fd5b620d89e719600285900b121561012357600080fd5b610130620d89e719610d30565b60020b8360020b131561014257600080fd5b6401000276a36001600160a01b038216101561015d57600080fd5b73fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038216111561018757600080fd5b6000610192826102d6565b905060008060006101a688888887896105e9565b925092509250600086600f0b13156101cc57600081600f0b12156101cc576101cc610d1a565b8760020b8460020b121580156101e757508660020b8460020b125b80156101f7575085600f0b600014155b156102165785600f0b81600f0b1461021157610211610d1a565b610229565b80600f0b60001461022957610229610d1a565b85600f0b60000361024c5782158015610240575081155b61024c5761024c610d1a565b5050505050505050565b60008082600f0b121561029857508082016001600160801b0380841690821610610293576040516302603ee960e31b815260040160405180910390fd5b6102d0565b826001600160801b03168284019150816001600160801b031610156102d057604051634cba017960e11b815260040160405180910390fd5b92915050565b60006401000276a36001600160a01b0383161080610311575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b03831610155b1561032f576040516355cf1e2360e01b815260040160405180910390fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106103d057607f810383901c91506103da565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146105da57886001600160a01b03166105bf82610698565b6001600160a01b031611156105d457816105dc565b806105dc565b815b9998505050505050505050565b6000806000806105f889610698565b9050600061060589610698565b90506000808b60020b8960020b121561062a5761062384848c610980565b9150610668565b8a60020b8960020b121561065a5761064388848c610980565b915061065084898c6109c5565b9050899450610668565b61066584848c6109c5565b90505b60008a600f0b1261067a578181610683565b81600003816000035b909d909c50949a509398505050505050505050565b6000600282900b60171d62ffffff818401821816620d89e88111156106d057604051633c10250f60e01b815260040160405180910390fd5b70010000000000000000000000000000000060018216156106fe57506ffffcb933bd6fad37aa2d162d1a5940015b600282161561071d576ffff97272373d413259a46990580e213a0260801c5b600482161561073c576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561075b576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b601082161561077a576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615610799576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156107b8576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156107d7576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156107f7576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615610817576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615610837576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615610857576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615610877576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615610897576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156108b7576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156108d7576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156108f8576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615610918576e5d6af8dedb81196699c329225ee6040260801c5b62040000821061095e5762040000821615610941576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561095e576b048a170391f7dc42444e8fa20260801c5b60008560020b131561096f57600019045b63ffffffff0160201c949350505050565b60008082600f0b12156109ad576109a56109a085858560000360006109f5565b610aa2565b6000036109bd565b6109bd6109a085858560016109f5565b949350505050565b60008082600f0b12156109e5576109a56109a08585856000036000610ab6565b6109bd6109a08585856001610ab6565b60006001600160a01b0385850381169085168110610a1257600080fd5b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b1683610a6b57866001600160a01b0316610a588383896001600160a01b0316610b39565b81610a6557610a65610d60565b04610a97565b610a97610a828383896001600160a01b0316610bd3565b886001600160a01b0316808204910615150190565b979650505050505050565b806000811215610ab157600080fd5b919050565b6000846001600160a01b0316846001600160a01b03161015610ad757600080fd5b6001600160a01b038585031682610b0e57610b0981856001600160801b03166c01000000000000000000000000610b39565b610b2f565b610b2f81856001600160801b03166c01000000000000000000000000610bd3565b9695505050505050565b60008383028160001985870982811083820303915050808411610b5b57600080fd5b80600003610b6e57508290049050610bcc565b8385870960008581038616958690049560026003880281188089028203028089028203028089028203028089028203028089028203028089029091030291819003819004600101858411909403939093029190930391909104170290505b9392505050565b6000831580610bf457505082820282848281610bf157610bf1610d60565b04145b15610c155760008211610c0657600080fd5b81810490829006151501610bcc565b610c20848484610b39565b905060008280610c3257610c32610d60565b8486091115610bcc576000198110610c4957600080fd5b6001019392505050565b8035600f81900b8114610ab157600080fd5b60008060408385031215610c7857600080fd5b82356001600160801b0381168114610c8f57600080fd5b9150610c9d60208401610c53565b90509250929050565b8035600281900b8114610ab157600080fd5b60008060008060808587031215610cce57600080fd5b610cd785610ca6565b9350610ce560208601610ca6565b9250610cf360408601610c53565b915060608501356001600160a01b0381168114610d0f57600080fd5b939692955090935050565b634e487b7160e01b600052600160045260246000fd5b60008160020b627fffff198103610d5757634e487b7160e01b600052601160045260246000fd5b60000392915050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000814000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
