{
  "_format": "hh-sol-artifact-1",
  "contractName": "SwapMathEchidnaTest",
  "sourceName": "contracts/test/SwapMathEchidnaTest.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtPriceRaw",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtPriceTargetRaw",
          "type": "uint160"
        },
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        },
        {
          "internalType": "int256",
          "name": "amountRemaining",
          "type": "int256"
        },
        {
          "internalType": "uint24",
          "name": "feePips",
          "type": "uint24"
        }
      ],
      "name": "checkComputeSwapStepInvariants",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610914806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063d7e3056f14610030575b600080fd5b610081600480360360a081101561004657600080fd5b5080356001600160a01b039081169160208101359091169060408101356001600160801b0316906060810135906080013562ffffff16610083565b005b6000856001600160a01b03161161009957600080fd5b6000846001600160a01b0316116100af57600080fd5b60008162ffffff16116100c157600080fd5b620f42408162ffffff16106100d557600080fd5b6000806000806100e88989898989610249565b935093509350935080600019038311156100fe57fe5b6000861215610119578560000382111561011457fe5b610125565b85818401111561012557fe5b876001600160a01b0316896001600160a01b0316141561017257821561014757fe5b811561014f57fe5b801561015757fe5b876001600160a01b0316846001600160a01b03161461017257fe5b876001600160a01b0316846001600160a01b0316146101b05760008612156101a5578560000382146101a057fe5b6101b0565b85818401146101b057fe5b886001600160a01b0316886001600160a01b03161161020657886001600160a01b0316846001600160a01b031611156101e557fe5b876001600160a01b0316846001600160a01b0316101561020157fe5b61023e565b886001600160a01b0316846001600160a01b0316101561022257fe5b876001600160a01b0316846001600160a01b0316111561023e57fe5b505050505050505050565b60008080806001600160a01b03808916908a1610158187128015906102ce5760006102828989620f42400362ffffff16620f424061043b565b90508261029b576102968c8c8c60016104eb565b6102a8565b6102a88b8d8c6001610566565b95508581106102b9578a96506102c8565b6102c58c8b8386610623565b96505b50610318565b816102e5576102e08b8b8b6000610566565b6102f2565b6102f28a8c8b60006104eb565b935083886000031061030657899550610318565b6103158b8a8a6000038561066f565b95505b6001600160a01b038a811690871614821561037b578080156103375750815b61034d57610348878d8c6001610566565b61034f565b855b955080801561035c575081155b6103725761036d878d8c60006104eb565b610374565b845b94506103c5565b8080156103855750815b61039b576103968c888c60016104eb565b61039d565b855b95508080156103aa575081155b6103c0576103bb8c888c6000610566565b6103c2565b845b94505b811580156103d557508860000385115b156103e1578860000394505b81801561040057508a6001600160a01b0316876001600160a01b031614155b1561040f57858903935061042c565b610429868962ffffff168a620f42400362ffffff166106bb565b93505b50505095509550955095915050565b6000808060001985870986860292508281109083900303905080610471576000841161046657600080fd5b5082900490506104e4565b80841161047d57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b6000836001600160a01b0316856001600160a01b0316111561050b579293925b8161053857610533836001600160801b03168686036001600160a01b0316600160601b61043b565b61055b565b61055b836001600160801b03168686036001600160a01b0316600160601b6106bb565b90505b949350505050565b6000836001600160a01b0316856001600160a01b03161115610586579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b0386860381169087166105c257600080fd5b836105f257866001600160a01b03166105e58383896001600160a01b031661043b565b816105ec57fe5b04610618565b6106186106098383896001600160a01b03166106bb565b886001600160a01b03166106f5565b979650505050505050565b600080856001600160a01b03161161063a57600080fd5b6000846001600160801b03161161065057600080fd5b81610662576105338585856001610700565b61055b85858560016107e1565b600080856001600160a01b03161161068657600080fd5b6000846001600160801b03161161069c57600080fd5b816106ae5761053385858560006107e1565b61055b8585856000610700565b60006106c884848461043b565b9050600082806106d457fe5b84860911156104e45760001981106106eb57600080fd5b6001019392505050565b808204910615150190565b600081156107735760006001600160a01b038411156107365761073184600160601b876001600160801b031661043b565b61074e565b6001600160801b038516606085901b8161074c57fe5b045b905061076b6107666001600160a01b038816836108d6565b6108ec565b91505061055e565b60006001600160a01b038411156107a15761079c84600160601b876001600160801b03166106bb565b6107b8565b6107b8606085901b6001600160801b0387166106f5565b905080866001600160a01b0316116107cf57600080fd5b6001600160a01b03861603905061055e565b6000826107ef57508361055e565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b16821561088f576001600160a01b0386168481029085828161082f57fe5b0414156108605781810182811061085e5761085483896001600160a01b0316836106bb565b935050505061055e565b505b61088682610881878a6001600160a01b0316868161087a57fe5b04906108d6565b6106f5565b9250505061055e565b6001600160a01b038616848102908582816108a657fe5b041480156108b357508082115b6108bc57600080fd5b808203610854610766846001600160a01b038b16846106bb565b808201828110156108e657600080fd5b92915050565b806001600160a01b038116811461090257600080fd5b91905056fea164736f6c6343000706000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063d7e3056f14610030575b600080fd5b610081600480360360a081101561004657600080fd5b5080356001600160a01b039081169160208101359091169060408101356001600160801b0316906060810135906080013562ffffff16610083565b005b6000856001600160a01b03161161009957600080fd5b6000846001600160a01b0316116100af57600080fd5b60008162ffffff16116100c157600080fd5b620f42408162ffffff16106100d557600080fd5b6000806000806100e88989898989610249565b935093509350935080600019038311156100fe57fe5b6000861215610119578560000382111561011457fe5b610125565b85818401111561012557fe5b876001600160a01b0316896001600160a01b0316141561017257821561014757fe5b811561014f57fe5b801561015757fe5b876001600160a01b0316846001600160a01b03161461017257fe5b876001600160a01b0316846001600160a01b0316146101b05760008612156101a5578560000382146101a057fe5b6101b0565b85818401146101b057fe5b886001600160a01b0316886001600160a01b03161161020657886001600160a01b0316846001600160a01b031611156101e557fe5b876001600160a01b0316846001600160a01b0316101561020157fe5b61023e565b886001600160a01b0316846001600160a01b0316101561022257fe5b876001600160a01b0316846001600160a01b0316111561023e57fe5b505050505050505050565b60008080806001600160a01b03808916908a1610158187128015906102ce5760006102828989620f42400362ffffff16620f424061043b565b90508261029b576102968c8c8c60016104eb565b6102a8565b6102a88b8d8c6001610566565b95508581106102b9578a96506102c8565b6102c58c8b8386610623565b96505b50610318565b816102e5576102e08b8b8b6000610566565b6102f2565b6102f28a8c8b60006104eb565b935083886000031061030657899550610318565b6103158b8a8a6000038561066f565b95505b6001600160a01b038a811690871614821561037b578080156103375750815b61034d57610348878d8c6001610566565b61034f565b855b955080801561035c575081155b6103725761036d878d8c60006104eb565b610374565b845b94506103c5565b8080156103855750815b61039b576103968c888c60016104eb565b61039d565b855b95508080156103aa575081155b6103c0576103bb8c888c6000610566565b6103c2565b845b94505b811580156103d557508860000385115b156103e1578860000394505b81801561040057508a6001600160a01b0316876001600160a01b031614155b1561040f57858903935061042c565b610429868962ffffff168a620f42400362ffffff166106bb565b93505b50505095509550955095915050565b6000808060001985870986860292508281109083900303905080610471576000841161046657600080fd5b5082900490506104e4565b80841161047d57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b6000836001600160a01b0316856001600160a01b0316111561050b579293925b8161053857610533836001600160801b03168686036001600160a01b0316600160601b61043b565b61055b565b61055b836001600160801b03168686036001600160a01b0316600160601b6106bb565b90505b949350505050565b6000836001600160a01b0316856001600160a01b03161115610586579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b0386860381169087166105c257600080fd5b836105f257866001600160a01b03166105e58383896001600160a01b031661043b565b816105ec57fe5b04610618565b6106186106098383896001600160a01b03166106bb565b886001600160a01b03166106f5565b979650505050505050565b600080856001600160a01b03161161063a57600080fd5b6000846001600160801b03161161065057600080fd5b81610662576105338585856001610700565b61055b85858560016107e1565b600080856001600160a01b03161161068657600080fd5b6000846001600160801b03161161069c57600080fd5b816106ae5761053385858560006107e1565b61055b8585856000610700565b60006106c884848461043b565b9050600082806106d457fe5b84860911156104e45760001981106106eb57600080fd5b6001019392505050565b808204910615150190565b600081156107735760006001600160a01b038411156107365761073184600160601b876001600160801b031661043b565b61074e565b6001600160801b038516606085901b8161074c57fe5b045b905061076b6107666001600160a01b038816836108d6565b6108ec565b91505061055e565b60006001600160a01b038411156107a15761079c84600160601b876001600160801b03166106bb565b6107b8565b6107b8606085901b6001600160801b0387166106f5565b905080866001600160a01b0316116107cf57600080fd5b6001600160a01b03861603905061055e565b6000826107ef57508361055e565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b16821561088f576001600160a01b0386168481029085828161082f57fe5b0414156108605781810182811061085e5761085483896001600160a01b0316836106bb565b935050505061055e565b505b61088682610881878a6001600160a01b0316868161087a57fe5b04906108d6565b6106f5565b9250505061055e565b6001600160a01b038616848102908582816108a657fe5b041480156108b357508082115b6108bc57600080fd5b808203610854610766846001600160a01b038b16846106bb565b808201828110156108e657600080fd5b92915050565b806001600160a01b038116811461090257600080fd5b91905056fea164736f6c6343000706000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
