{
  "_format": "hh-sol-artifact-1",
  "contractName": "LiquidityAmountsForTest",
  "sourceName": "solidity/for-test/libraries/LiquidityAmountsForTest.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "name": "getAmount0ForLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "name": "getAmount1ForLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "name": "getAmountsForLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityForAmount0",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityForAmount1",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityForAmounts",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610685806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806308c0f7951461006757806329e24cb7146100975780636098fd4a146100b857806367df6e89146100cb5780636ac69a8e146100de578063c72e160b146100f1575b600080fd5b61007a6100753660046105bb565b610119565b6040516001600160801b0390911681526020015b60405180910390f35b6100aa6100a53660046104cf565b61016c565b60405190815260200161008e565b61007a6100c6366004610566565b6101b6565b61007a6100d93660046105bb565b61027a565b6100aa6100ec3660046104cf565b6102d1565b6101046100ff366004610512565b61033b565b6040805192835260208301919091520161008e565b6000826001600160a01b0316846001600160a01b03161115610139579192915b61016261015d83600160601b61014f8888610619565b6001600160a01b03166103d7565b610486565b90505b9392505050565b6000826001600160a01b0316846001600160a01b0316111561018c579192915b6101626001600160801b0383166101a38686610619565b6001600160a01b0316600160601b6103d7565b6000836001600160a01b0316856001600160a01b031611156101d6579293925b846001600160a01b0316866001600160a01b031611610201576101fa85858561027a565b9050610271565b836001600160a01b0316866001600160a01b0316101561026357600061022887868661027a565b90506000610237878986610119565b9050806001600160801b0316826001600160801b031610610258578061025a565b815b92505050610271565b61026e858584610119565b90505b95945050505050565b6000826001600160a01b0316846001600160a01b0316111561029a579192915b60006102bd856001600160a01b0316856001600160a01b0316600160601b6103d7565b905061027161015d848361014f8989610619565b6000826001600160a01b0316846001600160a01b031611156102f1579192915b6001600160a01b038416610331600160601b600160e01b03606085901b166103198787610619565b6001600160a01b0316866001600160a01b03166103d7565b61016291906105f7565b600080836001600160a01b0316856001600160a01b0316111561035c579293925b846001600160a01b0316866001600160a01b031611610387576103808585856102d1565b91506103ce565b836001600160a01b0316866001600160a01b031610156103c0576103ac8685856102d1565b91506103b985878561016c565b90506103ce565b6103cb85858561016c565b90505b94509492505050565b600080806000198587098587029250828110838203039150508060001415610411576000841161040657600080fd5b508290049050610165565b80841161041d57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b806001600160801b038116811461049c57600080fd5b919050565b80356001600160801b038116811461049c57600080fd5b80356001600160a01b038116811461049c57600080fd5b6000806000606084860312156104e457600080fd5b6104ed846104b8565b92506104fb602085016104b8565b9150610509604085016104a1565b90509250925092565b6000806000806080858703121561052857600080fd5b610531856104b8565b935061053f602086016104b8565b925061054d604086016104b8565b915061055b606086016104a1565b905092959194509250565b600080600080600060a0868803121561057e57600080fd5b610587866104b8565b9450610595602087016104b8565b93506105a3604087016104b8565b94979396509394606081013594506080013592915050565b6000806000606084860312156105d057600080fd5b6105d9846104b8565b92506105e7602085016104b8565b9150604084013590509250925092565b60008261061457634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160a01b038381169083168181101561064757634e487b7160e01b600052601160045260246000fd5b03939250505056fea2646970667358221220f19f6a3a34b916f995200f5fe177f5b5c91afc369e8769e4dce272cdac8a22d664736f6c63430008070033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806308c0f7951461006757806329e24cb7146100975780636098fd4a146100b857806367df6e89146100cb5780636ac69a8e146100de578063c72e160b146100f1575b600080fd5b61007a6100753660046105bb565b610119565b6040516001600160801b0390911681526020015b60405180910390f35b6100aa6100a53660046104cf565b61016c565b60405190815260200161008e565b61007a6100c6366004610566565b6101b6565b61007a6100d93660046105bb565b61027a565b6100aa6100ec3660046104cf565b6102d1565b6101046100ff366004610512565b61033b565b6040805192835260208301919091520161008e565b6000826001600160a01b0316846001600160a01b03161115610139579192915b61016261015d83600160601b61014f8888610619565b6001600160a01b03166103d7565b610486565b90505b9392505050565b6000826001600160a01b0316846001600160a01b0316111561018c579192915b6101626001600160801b0383166101a38686610619565b6001600160a01b0316600160601b6103d7565b6000836001600160a01b0316856001600160a01b031611156101d6579293925b846001600160a01b0316866001600160a01b031611610201576101fa85858561027a565b9050610271565b836001600160a01b0316866001600160a01b0316101561026357600061022887868661027a565b90506000610237878986610119565b9050806001600160801b0316826001600160801b031610610258578061025a565b815b92505050610271565b61026e858584610119565b90505b95945050505050565b6000826001600160a01b0316846001600160a01b0316111561029a579192915b60006102bd856001600160a01b0316856001600160a01b0316600160601b6103d7565b905061027161015d848361014f8989610619565b6000826001600160a01b0316846001600160a01b031611156102f1579192915b6001600160a01b038416610331600160601b600160e01b03606085901b166103198787610619565b6001600160a01b0316866001600160a01b03166103d7565b61016291906105f7565b600080836001600160a01b0316856001600160a01b0316111561035c579293925b846001600160a01b0316866001600160a01b031611610387576103808585856102d1565b91506103ce565b836001600160a01b0316866001600160a01b031610156103c0576103ac8685856102d1565b91506103b985878561016c565b90506103ce565b6103cb85858561016c565b90505b94509492505050565b600080806000198587098587029250828110838203039150508060001415610411576000841161040657600080fd5b508290049050610165565b80841161041d57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b806001600160801b038116811461049c57600080fd5b919050565b80356001600160801b038116811461049c57600080fd5b80356001600160a01b038116811461049c57600080fd5b6000806000606084860312156104e457600080fd5b6104ed846104b8565b92506104fb602085016104b8565b9150610509604085016104a1565b90509250925092565b6000806000806080858703121561052857600080fd5b610531856104b8565b935061053f602086016104b8565b925061054d604086016104b8565b915061055b606086016104a1565b905092959194509250565b600080600080600060a0868803121561057e57600080fd5b610587866104b8565b9450610595602087016104b8565b93506105a3604087016104b8565b94979396509394606081013594506080013592915050565b6000806000606084860312156105d057600080fd5b6105d9846104b8565b92506105e7602085016104b8565b9150604084013590509250925092565b60008261061457634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160a01b038381169083168181101561064757634e487b7160e01b600052601160045260246000fd5b03939250505056fea2646970667358221220f19f6a3a34b916f995200f5fe177f5b5c91afc369e8769e4dce272cdac8a22d664736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
