{
  "_format": "hh-sol-artifact-1",
  "contractName": "LiquidityAmountsTest",
  "sourceName": "contracts/elixir-periphery/test/LiquidityAmountsTest.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": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "name": "getGasCostOfGetAmount0ForLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint128",
          "name": "liquidity",
          "type": "uint128"
        }
      ],
      "name": "getGasCostOfGetAmount1ForLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": "getGasCostOfGetAmountsForLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        }
      ],
      "name": "getGasCostOfGetLiquidityForAmount0",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint160",
          "name": "sqrtRatioAX96",
          "type": "uint160"
        },
        {
          "internalType": "uint160",
          "name": "sqrtRatioBX96",
          "type": "uint160"
        },
        {
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "name": "getGasCostOfGetLiquidityForAmount1",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": "getGasCostOfGetLiquidityForAmounts",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": "0x608060405234801561001057600080fd5b506108b7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063bf1d2c7111610081578063d22462091161005b578063d22462091461034a578063e26274bd14610380578063f7212103146103c6576100d4565b8063bf1d2c7114610275578063c72e160b146102b5578063cb1b949614610314576100d4565b80636098fd4a116100b25780636098fd4a146101bd57806367df6e89146101ff5780636ac69a8e14610235576100d4565b806308c0f795146100d9578063290984621461012b57806329e24cb71461017d575b600080fd5b61010f600480360360608110156100ef57600080fd5b506001600160a01b03813581169160208101359091169060400135610408565b604080516001600160801b039092168252519081900360200190f35b61016b6004803603606081101561014157600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b031661041f565b60408051918252519081900360200190f35b61016b6004803603606081101561019357600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b031661043c565b61010f600480360360a08110156101d357600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610449565b61010f6004803603606081101561021557600080fd5b506001600160a01b03813581169160208101359091169060400135610464565b61016b6004803603606081101561024b57600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b0316610471565b61016b6004803603606081101561028b57600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b031661047e565b6102fb600480360360808110156102cb57600080fd5b5080356001600160a01b0390811691602081013582169160408201351690606001356001600160801b0316610498565b6040805192835260208301919091528051918290030190f35b61016b6004803603606081101561032a57600080fd5b506001600160a01b038135811691602081013590911690604001356104b5565b61016b6004803603606081101561036057600080fd5b506001600160a01b038135811691602081013590911690604001356104c6565b61016b6004803603608081101561039657600080fd5b5080356001600160a01b0390811691602081013582169160408201351690606001356001600160801b03166104d7565b61016b600480360360a08110156103dc57600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001356104f7565b6000610415848484610518565b90505b9392505050565b6000805a905061043085858561055a565b505a9003949350505050565b60006104158484846105c3565b60006104588686868686610606565b90505b95945050505050565b60006104158484846106be565b600061041584848461055a565b6000805a90506104308585856001600160801b0316610518565b6000806104a78686868661071c565b915091505b94509492505050565b6000805a9050610430858585610518565b6000805a90506104308585856106be565b6000805a90506104e98686868661071c565b50505a900395945050505050565b6000805a905061050a8787878787610606565b505a90039695505050505050565b6000826001600160a01b0316846001600160a01b03161115610538579192915b61041561055583600160601b8787036001600160a01b03166107b7565b610866565b6000826001600160a01b0316846001600160a01b0316111561057a579192915b836001600160a01b03166105b3606060ff16846001600160801b0316901b8686036001600160a01b0316866001600160a01b03166107b7565b816105ba57fe5b04949350505050565b6000826001600160a01b0316846001600160a01b031611156105e3579192915b610415826001600160801b03168585036001600160a01b0316600160601b6107b7565b6000836001600160a01b0316856001600160a01b03161115610626579293925b846001600160a01b0316866001600160a01b0316116106515761064a8585856106be565b905061045b565b836001600160a01b0316866001600160a01b031610156106b35760006106788786866106be565b90506000610687878986610518565b9050806001600160801b0316826001600160801b0316106106a857806106aa565b815b9250505061045b565b610458858584610518565b6000826001600160a01b0316846001600160a01b031611156106de579192915b6000610701856001600160a01b0316856001600160a01b0316600160601b6107b7565b905061045b61055584838888036001600160a01b03166107b7565b600080836001600160a01b0316856001600160a01b0316111561073d579293925b846001600160a01b0316866001600160a01b0316116107685761076185858561055a565b91506104ac565b836001600160a01b0316866001600160a01b031610156107a15761078d86858561055a565b915061079a8587856105c3565b90506104ac565b6107ac8585856105c3565b905094509492505050565b60008080600019858709868602925082811090839003039050806107ed57600084116107e257600080fd5b508290049050610418565b8084116107f957600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b806001600160801b038116811461087c57600080fd5b91905056fea2646970667358221220ca20d68940d3d22ea73d5d0a10db56d7dbc5c974aef3e12b580efac8f0ff081664736f6c63430007060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063bf1d2c7111610081578063d22462091161005b578063d22462091461034a578063e26274bd14610380578063f7212103146103c6576100d4565b8063bf1d2c7114610275578063c72e160b146102b5578063cb1b949614610314576100d4565b80636098fd4a116100b25780636098fd4a146101bd57806367df6e89146101ff5780636ac69a8e14610235576100d4565b806308c0f795146100d9578063290984621461012b57806329e24cb71461017d575b600080fd5b61010f600480360360608110156100ef57600080fd5b506001600160a01b03813581169160208101359091169060400135610408565b604080516001600160801b039092168252519081900360200190f35b61016b6004803603606081101561014157600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b031661041f565b60408051918252519081900360200190f35b61016b6004803603606081101561019357600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b031661043c565b61010f600480360360a08110156101d357600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610449565b61010f6004803603606081101561021557600080fd5b506001600160a01b03813581169160208101359091169060400135610464565b61016b6004803603606081101561024b57600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b0316610471565b61016b6004803603606081101561028b57600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160801b031661047e565b6102fb600480360360808110156102cb57600080fd5b5080356001600160a01b0390811691602081013582169160408201351690606001356001600160801b0316610498565b6040805192835260208301919091528051918290030190f35b61016b6004803603606081101561032a57600080fd5b506001600160a01b038135811691602081013590911690604001356104b5565b61016b6004803603606081101561036057600080fd5b506001600160a01b038135811691602081013590911690604001356104c6565b61016b6004803603608081101561039657600080fd5b5080356001600160a01b0390811691602081013582169160408201351690606001356001600160801b03166104d7565b61016b600480360360a08110156103dc57600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001356104f7565b6000610415848484610518565b90505b9392505050565b6000805a905061043085858561055a565b505a9003949350505050565b60006104158484846105c3565b60006104588686868686610606565b90505b95945050505050565b60006104158484846106be565b600061041584848461055a565b6000805a90506104308585856001600160801b0316610518565b6000806104a78686868661071c565b915091505b94509492505050565b6000805a9050610430858585610518565b6000805a90506104308585856106be565b6000805a90506104e98686868661071c565b50505a900395945050505050565b6000805a905061050a8787878787610606565b505a90039695505050505050565b6000826001600160a01b0316846001600160a01b03161115610538579192915b61041561055583600160601b8787036001600160a01b03166107b7565b610866565b6000826001600160a01b0316846001600160a01b0316111561057a579192915b836001600160a01b03166105b3606060ff16846001600160801b0316901b8686036001600160a01b0316866001600160a01b03166107b7565b816105ba57fe5b04949350505050565b6000826001600160a01b0316846001600160a01b031611156105e3579192915b610415826001600160801b03168585036001600160a01b0316600160601b6107b7565b6000836001600160a01b0316856001600160a01b03161115610626579293925b846001600160a01b0316866001600160a01b0316116106515761064a8585856106be565b905061045b565b836001600160a01b0316866001600160a01b031610156106b35760006106788786866106be565b90506000610687878986610518565b9050806001600160801b0316826001600160801b0316106106a857806106aa565b815b9250505061045b565b610458858584610518565b6000826001600160a01b0316846001600160a01b031611156106de579192915b6000610701856001600160a01b0316856001600160a01b0316600160601b6107b7565b905061045b61055584838888036001600160a01b03166107b7565b600080836001600160a01b0316856001600160a01b0316111561073d579293925b846001600160a01b0316866001600160a01b0316116107685761076185858561055a565b91506104ac565b836001600160a01b0316866001600160a01b031610156107a15761078d86858561055a565b915061079a8587856105c3565b90506104ac565b6107ac8585856105c3565b905094509492505050565b60008080600019858709868602925082811090839003039050806107ed57600084116107e257600080fd5b508290049050610418565b8084116107f957600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b806001600160801b038116811461087c57600080fd5b91905056fea2646970667358221220ca20d68940d3d22ea73d5d0a10db56d7dbc5c974aef3e12b580efac8f0ff081664736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
