{"abi":[{"type":"function","name":"getFeeGrowthGlobals","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"}],"outputs":[{"name":"feeGrowthGlobal0","type":"uint256","internalType":"uint256"},{"name":"feeGrowthGlobal1","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeGrowthInside","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"}],"outputs":[{"name":"feeGrowthInside0X128","type":"uint256","internalType":"uint256"},{"name":"feeGrowthInside1X128","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLiquidity","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"}],"outputs":[{"name":"liquidity","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"getPositionInfo","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"positionId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"feeGrowthInside0LastX128","type":"uint256","internalType":"uint256"},{"name":"feeGrowthInside1LastX128","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPositionInfo","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"owner","type":"address","internalType":"address"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"feeGrowthInside0LastX128","type":"uint256","internalType":"uint256"},{"name":"feeGrowthInside1LastX128","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPositionLiquidity","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"positionId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"liquidity","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"getSlot0","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"}],"outputs":[{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"},{"name":"tick","type":"int24","internalType":"int24"},{"name":"protocolFee","type":"uint24","internalType":"uint24"},{"name":"lpFee","type":"uint24","internalType":"uint24"}],"stateMutability":"view"},{"type":"function","name":"getTickBitmap","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"tick","type":"int16","internalType":"int16"}],"outputs":[{"name":"tickBitmap","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTickFeeGrowthOutside","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"tick","type":"int24","internalType":"int24"}],"outputs":[{"name":"feeGrowthOutside0X128","type":"uint256","internalType":"uint256"},{"name":"feeGrowthOutside1X128","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTickInfo","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"tick","type":"int24","internalType":"int24"}],"outputs":[{"name":"liquidityGross","type":"uint128","internalType":"uint128"},{"name":"liquidityNet","type":"int128","internalType":"int128"},{"name":"feeGrowthOutside0X128","type":"uint256","internalType":"uint256"},{"name":"feeGrowthOutside1X128","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTickLiquidity","inputs":[{"name":"poolId","type":"bytes32","internalType":"PoolId"},{"name":"tick","type":"int24","internalType":"int24"}],"outputs":[{"name":"liquidityGross","type":"uint128","internalType":"uint128"},{"name":"liquidityNet","type":"int128","internalType":"int128"}],"stateMutability":"view"},{"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getFeeGrowthGlobals(bytes32)":"9ec538c8","getFeeGrowthInside(bytes32,int24,int24)":"53e9c1fb","getLiquidity(bytes32)":"fa6793d5","getPositionInfo(bytes32,address,int24,int24,bytes32)":"dacf1d2f","getPositionInfo(bytes32,bytes32)":"97fd7b42","getPositionLiquidity(bytes32,bytes32)":"f0928f29","getSlot0(bytes32)":"c815641c","getTickBitmap(bytes32,int16)":"1c7ccb4c","getTickFeeGrowthOutside(bytes32,int24)":"8a2bb9e6","getTickInfo(bytes32,int24)":"7c40f1fe","getTickLiquidity(bytes32,int24)":"caedab54","poolManager()":"dc4c90d3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"}],\"name\":\"getFeeGrowthGlobals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeGrowthGlobal0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthGlobal1\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"getFeeGrowthInside\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1X128\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"}],\"name\":\"getLiquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"positionId\",\"type\":\"bytes32\"}],\"name\":\"getPositionInfo\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"getPositionInfo\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"positionId\",\"type\":\"bytes32\"}],\"name\":\"getPositionLiquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"}],\"name\":\"getSlot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint24\",\"name\":\"protocolFee\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"lpFee\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"int16\",\"name\":\"tick\",\"type\":\"int16\"}],\"name\":\"getTickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tickBitmap\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"getTickFeeGrowthOutside\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"getTickInfo\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"getTickLiquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolManager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getFeeGrowthGlobals(bytes32)\":{\"details\":\"Corresponds to pools[poolId].feeGrowthGlobal0X128 and pools[poolId].feeGrowthGlobal1X128\",\"params\":{\"poolId\":\"The ID of the pool.\"},\"returns\":{\"feeGrowthGlobal0\":\"The global fee growth for token0.\",\"feeGrowthGlobal1\":\"The global fee growth for token1.\"}},\"getFeeGrowthInside(bytes32,int24,int24)\":{\"details\":\"pools[poolId].feeGrowthInside0LastX128 in Position.Info is cached and can become stale. This function will calculate the up to date feeGrowthInside\",\"params\":{\"poolId\":\"The ID of the pool.\",\"tickLower\":\"The lower tick of the range.\",\"tickUpper\":\"The upper tick of the range.\"},\"returns\":{\"feeGrowthInside0X128\":\"The fee growth inside the tick range for token0.\",\"feeGrowthInside1X128\":\"The fee growth inside the tick range for token1.\"}},\"getLiquidity(bytes32)\":{\"details\":\"Corresponds to pools[poolId].liquidity\",\"params\":{\"poolId\":\"The ID of the pool.\"},\"returns\":{\"liquidity\":\"The liquidity of the pool.\"}},\"getPositionInfo(bytes32,address,int24,int24,bytes32)\":{\"details\":\"Corresponds to pools[poolId].positions[positionId]\",\"params\":{\"owner\":\"The owner of the liquidity position.\",\"poolId\":\"The ID of the pool.\",\"salt\":\"The bytes32 randomness to further distinguish position state.\",\"tickLower\":\"The lower tick of the liquidity range.\",\"tickUpper\":\"The upper tick of the liquidity range.\"},\"returns\":{\"feeGrowthInside0LastX128\":\"The fee growth inside the position for token0.\",\"feeGrowthInside1LastX128\":\"The fee growth inside the position for token1.\",\"liquidity\":\"The liquidity of the position.\"}},\"getPositionInfo(bytes32,bytes32)\":{\"details\":\"Corresponds to pools[poolId].positions[positionId]\",\"params\":{\"poolId\":\"The ID of the pool.\",\"positionId\":\"The ID of the position.\"},\"returns\":{\"feeGrowthInside0LastX128\":\"The fee growth inside the position for token0.\",\"feeGrowthInside1LastX128\":\"The fee growth inside the position for token1.\",\"liquidity\":\"The liquidity of the position.\"}},\"getPositionLiquidity(bytes32,bytes32)\":{\"details\":\"Corresponds to pools[poolId].positions[positionId].liquidity. More gas efficient for just retrieving liquidity as compared to getPositionInfo\",\"params\":{\"poolId\":\"The ID of the pool.\",\"positionId\":\"The ID of the position.\"},\"returns\":{\"liquidity\":\"The liquidity of the position.\"}},\"getSlot0(bytes32)\":{\"details\":\"Corresponds to pools[poolId].slot0\",\"params\":{\"poolId\":\"The ID of the pool.\"},\"returns\":{\"lpFee\":\"The swap fee of the pool.\",\"protocolFee\":\"The protocol fee of the pool.\",\"sqrtPriceX96\":\"The square root of the price of the pool, in Q96 precision.\",\"tick\":\"The current tick of the pool.\"}},\"getTickBitmap(bytes32,int16)\":{\"details\":\"Corresponds to pools[poolId].tickBitmap[tick]\",\"params\":{\"poolId\":\"The ID of the pool.\",\"tick\":\"The tick to retrieve the bitmap for.\"},\"returns\":{\"tickBitmap\":\"The bitmap of the tick.\"}},\"getTickFeeGrowthOutside(bytes32,int24)\":{\"details\":\"Corresponds to pools[poolId].ticks[tick].feeGrowthOutside0X128 and pools[poolId].ticks[tick].feeGrowthOutside1X128. A more gas efficient version of getTickInfo\",\"params\":{\"poolId\":\"The ID of the pool.\",\"tick\":\"The tick to retrieve fee growth for.\"},\"returns\":{\"feeGrowthOutside0X128\":\"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)\",\"feeGrowthOutside1X128\":\"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)\"}},\"getTickInfo(bytes32,int24)\":{\"details\":\"Corresponds to pools[poolId].ticks[tick]\",\"params\":{\"poolId\":\"The ID of the pool.\",\"tick\":\"The tick to retrieve information for.\"},\"returns\":{\"feeGrowthOutside0X128\":\"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)\",\"feeGrowthOutside1X128\":\"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)\",\"liquidityGross\":\"The total position liquidity that references this tick\",\"liquidityNet\":\"The amount of net liquidity added (subtracted) when tick is crossed from left to right (right to left)\"}},\"getTickLiquidity(bytes32,int24)\":{\"details\":\"Corresponds to pools[poolId].ticks[tick].liquidityGross and pools[poolId].ticks[tick].liquidityNet. A more gas efficient version of getTickInfo\",\"params\":{\"poolId\":\"The ID of the pool.\",\"tick\":\"The tick to retrieve liquidity for.\"},\"returns\":{\"liquidityGross\":\"The total position liquidity that references this tick\",\"liquidityNet\":\"The amount of net liquidity added (subtracted) when tick is crossed from left to right (right to left)\"}}},\"title\":\"IStateView\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFeeGrowthGlobals(bytes32)\":{\"notice\":\"Retrieves the global fee growth of a pool.\"},\"getFeeGrowthInside(bytes32,int24,int24)\":{\"notice\":\"Calculate the fee growth inside a tick range of a pool\"},\"getLiquidity(bytes32)\":{\"notice\":\"Retrieves the total liquidity of a pool.\"},\"getPositionInfo(bytes32,address,int24,int24,bytes32)\":{\"notice\":\"Retrieves the position info without needing to calculate the `positionId`.\"},\"getPositionInfo(bytes32,bytes32)\":{\"notice\":\"Retrieves the position information of a pool at a specific position ID.\"},\"getPositionLiquidity(bytes32,bytes32)\":{\"notice\":\"Retrieves the liquidity of a position.\"},\"getSlot0(bytes32)\":{\"notice\":\"Get Slot0 of the pool: sqrtPriceX96, tick, protocolFee, lpFee\"},\"getTickBitmap(bytes32,int16)\":{\"notice\":\"Retrieves the tick bitmap of a pool at a specific tick.\"},\"getTickFeeGrowthOutside(bytes32,int24)\":{\"notice\":\"Retrieves the fee growth outside a tick range of a pool\"},\"getTickInfo(bytes32,int24)\":{\"notice\":\"Retrieves the tick information of a pool at a specific tick.\"},\"getTickLiquidity(bytes32,int24)\":{\"notice\":\"Retrieves the liquidity information of a pool at a specific tick.\"},\"poolManager()\":{\"notice\":\"The Uniswap v4 PoolManager contract\"}},\"notice\":\"Interface for the StateView contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IStateView.sol\":\"IStateView\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/\",\":@uniswap/v4-core/=lib/v4-core/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/v4-core/lib/forge-std/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/src/\"],\"viaIR\":true},\"sources\":{\"lib/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"lib/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"lib/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"lib/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"lib/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"lib/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"lib/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"lib/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"lib/v4-core/src/libraries/FixedPoint128.sol\":{\"keccak256\":\"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb\",\"dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy\"]},\"lib/v4-core/src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"lib/v4-core/src/libraries/LiquidityMath.sol\":{\"keccak256\":\"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99\",\"dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD\"]},\"lib/v4-core/src/libraries/Position.sol\":{\"keccak256\":\"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2\",\"dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5\"]},\"lib/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"lib/v4-core/src/libraries/StateLibrary.sol\":{\"keccak256\":\"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0\",\"dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY\"]},\"lib/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"lib/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"lib/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"lib/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"lib/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"lib/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"src/interfaces/IImmutableState.sol\":{\"keccak256\":\"0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341\",\"dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq\"]},\"src/interfaces/IStateView.sol\":{\"keccak256\":\"0xe81357a8fd6c0efc8242f40a43a33addcb5ab4db9f78faada408eff839ac8d9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96c3ee2e93be4fcf7e9e35c66d981fcc5c69da34fc979f261a387543dc945dc0\",\"dweb:/ipfs/QmerNPYnmf5oPiKWvFkoFVcidoMHQSVmXZtrot7pgY4HhH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFeeGrowthGlobals","outputs":[{"internalType":"uint256","name":"feeGrowthGlobal0","type":"uint256"},{"internalType":"uint256","name":"feeGrowthGlobal1","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"stateMutability":"view","type":"function","name":"getFeeGrowthInside","outputs":[{"internalType":"uint256","name":"feeGrowthInside0X128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthInside1X128","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getLiquidity","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"bytes32","name":"positionId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getPositionInfo","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"feeGrowthInside0LastX128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthInside1LastX128","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getPositionInfo","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"feeGrowthInside0LastX128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthInside1LastX128","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"bytes32","name":"positionId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getPositionLiquidity","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getSlot0","outputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"uint24","name":"protocolFee","type":"uint24"},{"internalType":"uint24","name":"lpFee","type":"uint24"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"int16","name":"tick","type":"int16"}],"stateMutability":"view","type":"function","name":"getTickBitmap","outputs":[{"internalType":"uint256","name":"tickBitmap","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"int24","name":"tick","type":"int24"}],"stateMutability":"view","type":"function","name":"getTickFeeGrowthOutside","outputs":[{"internalType":"uint256","name":"feeGrowthOutside0X128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthOutside1X128","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"int24","name":"tick","type":"int24"}],"stateMutability":"view","type":"function","name":"getTickInfo","outputs":[{"internalType":"uint128","name":"liquidityGross","type":"uint128"},{"internalType":"int128","name":"liquidityNet","type":"int128"},{"internalType":"uint256","name":"feeGrowthOutside0X128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthOutside1X128","type":"uint256"}]},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"internalType":"int24","name":"tick","type":"int24"}],"stateMutability":"view","type":"function","name":"getTickLiquidity","outputs":[{"internalType":"uint128","name":"liquidityGross","type":"uint128"},{"internalType":"int128","name":"liquidityNet","type":"int128"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"getFeeGrowthGlobals(bytes32)":{"details":"Corresponds to pools[poolId].feeGrowthGlobal0X128 and pools[poolId].feeGrowthGlobal1X128","params":{"poolId":"The ID of the pool."},"returns":{"feeGrowthGlobal0":"The global fee growth for token0.","feeGrowthGlobal1":"The global fee growth for token1."}},"getFeeGrowthInside(bytes32,int24,int24)":{"details":"pools[poolId].feeGrowthInside0LastX128 in Position.Info is cached and can become stale. This function will calculate the up to date feeGrowthInside","params":{"poolId":"The ID of the pool.","tickLower":"The lower tick of the range.","tickUpper":"The upper tick of the range."},"returns":{"feeGrowthInside0X128":"The fee growth inside the tick range for token0.","feeGrowthInside1X128":"The fee growth inside the tick range for token1."}},"getLiquidity(bytes32)":{"details":"Corresponds to pools[poolId].liquidity","params":{"poolId":"The ID of the pool."},"returns":{"liquidity":"The liquidity of the pool."}},"getPositionInfo(bytes32,address,int24,int24,bytes32)":{"details":"Corresponds to pools[poolId].positions[positionId]","params":{"owner":"The owner of the liquidity position.","poolId":"The ID of the pool.","salt":"The bytes32 randomness to further distinguish position state.","tickLower":"The lower tick of the liquidity range.","tickUpper":"The upper tick of the liquidity range."},"returns":{"feeGrowthInside0LastX128":"The fee growth inside the position for token0.","feeGrowthInside1LastX128":"The fee growth inside the position for token1.","liquidity":"The liquidity of the position."}},"getPositionInfo(bytes32,bytes32)":{"details":"Corresponds to pools[poolId].positions[positionId]","params":{"poolId":"The ID of the pool.","positionId":"The ID of the position."},"returns":{"feeGrowthInside0LastX128":"The fee growth inside the position for token0.","feeGrowthInside1LastX128":"The fee growth inside the position for token1.","liquidity":"The liquidity of the position."}},"getPositionLiquidity(bytes32,bytes32)":{"details":"Corresponds to pools[poolId].positions[positionId].liquidity. More gas efficient for just retrieving liquidity as compared to getPositionInfo","params":{"poolId":"The ID of the pool.","positionId":"The ID of the position."},"returns":{"liquidity":"The liquidity of the position."}},"getSlot0(bytes32)":{"details":"Corresponds to pools[poolId].slot0","params":{"poolId":"The ID of the pool."},"returns":{"lpFee":"The swap fee of the pool.","protocolFee":"The protocol fee of the pool.","sqrtPriceX96":"The square root of the price of the pool, in Q96 precision.","tick":"The current tick of the pool."}},"getTickBitmap(bytes32,int16)":{"details":"Corresponds to pools[poolId].tickBitmap[tick]","params":{"poolId":"The ID of the pool.","tick":"The tick to retrieve the bitmap for."},"returns":{"tickBitmap":"The bitmap of the tick."}},"getTickFeeGrowthOutside(bytes32,int24)":{"details":"Corresponds to pools[poolId].ticks[tick].feeGrowthOutside0X128 and pools[poolId].ticks[tick].feeGrowthOutside1X128. A more gas efficient version of getTickInfo","params":{"poolId":"The ID of the pool.","tick":"The tick to retrieve fee growth for."},"returns":{"feeGrowthOutside0X128":"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)","feeGrowthOutside1X128":"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)"}},"getTickInfo(bytes32,int24)":{"details":"Corresponds to pools[poolId].ticks[tick]","params":{"poolId":"The ID of the pool.","tick":"The tick to retrieve information for."},"returns":{"feeGrowthOutside0X128":"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)","feeGrowthOutside1X128":"fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)","liquidityGross":"The total position liquidity that references this tick","liquidityNet":"The amount of net liquidity added (subtracted) when tick is crossed from left to right (right to left)"}},"getTickLiquidity(bytes32,int24)":{"details":"Corresponds to pools[poolId].ticks[tick].liquidityGross and pools[poolId].ticks[tick].liquidityNet. A more gas efficient version of getTickInfo","params":{"poolId":"The ID of the pool.","tick":"The tick to retrieve liquidity for."},"returns":{"liquidityGross":"The total position liquidity that references this tick","liquidityNet":"The amount of net liquidity added (subtracted) when tick is crossed from left to right (right to left)"}}},"version":1},"userdoc":{"kind":"user","methods":{"getFeeGrowthGlobals(bytes32)":{"notice":"Retrieves the global fee growth of a pool."},"getFeeGrowthInside(bytes32,int24,int24)":{"notice":"Calculate the fee growth inside a tick range of a pool"},"getLiquidity(bytes32)":{"notice":"Retrieves the total liquidity of a pool."},"getPositionInfo(bytes32,address,int24,int24,bytes32)":{"notice":"Retrieves the position info without needing to calculate the `positionId`."},"getPositionInfo(bytes32,bytes32)":{"notice":"Retrieves the position information of a pool at a specific position ID."},"getPositionLiquidity(bytes32,bytes32)":{"notice":"Retrieves the liquidity of a position."},"getSlot0(bytes32)":{"notice":"Get Slot0 of the pool: sqrtPriceX96, tick, protocolFee, lpFee"},"getTickBitmap(bytes32,int16)":{"notice":"Retrieves the tick bitmap of a pool at a specific tick."},"getTickFeeGrowthOutside(bytes32,int24)":{"notice":"Retrieves the fee growth outside a tick range of a pool"},"getTickInfo(bytes32,int24)":{"notice":"Retrieves the tick information of a pool at a specific tick."},"getTickLiquidity(bytes32,int24)":{"notice":"Retrieves the liquidity information of a pool at a specific tick."},"poolManager()":{"notice":"The Uniswap v4 PoolManager contract"}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/","@uniswap/v4-core/=lib/v4-core/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/v4-core/lib/forge-std/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/src/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/interfaces/IStateView.sol":"IStateView"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/v4-core/src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"lib/v4-core/src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"lib/v4-core/src/interfaces/IHooks.sol":{"keccak256":"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d","urls":["bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec","dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G"],"license":"MIT"},"lib/v4-core/src/interfaces/IPoolManager.sol":{"keccak256":"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e","urls":["bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4","dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi"],"license":"MIT"},"lib/v4-core/src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"lib/v4-core/src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"lib/v4-core/src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"lib/v4-core/src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"lib/v4-core/src/libraries/FixedPoint128.sol":{"keccak256":"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542","urls":["bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb","dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy"],"license":"MIT"},"lib/v4-core/src/libraries/FullMath.sol":{"keccak256":"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2","urls":["bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52","dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC"],"license":"MIT"},"lib/v4-core/src/libraries/LiquidityMath.sol":{"keccak256":"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353","urls":["bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99","dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD"],"license":"MIT"},"lib/v4-core/src/libraries/Position.sol":{"keccak256":"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9","urls":["bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2","dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5"],"license":"BUSL-1.1"},"lib/v4-core/src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"lib/v4-core/src/libraries/StateLibrary.sol":{"keccak256":"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952","urls":["bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0","dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY"],"license":"MIT"},"lib/v4-core/src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"lib/v4-core/src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"lib/v4-core/src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"lib/v4-core/src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"lib/v4-core/src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"lib/v4-core/src/types/PoolOperation.sol":{"keccak256":"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162","urls":["bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07","dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c"],"license":"MIT"},"src/interfaces/IImmutableState.sol":{"keccak256":"0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b","urls":["bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341","dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq"],"license":"MIT"},"src/interfaces/IStateView.sol":{"keccak256":"0xe81357a8fd6c0efc8242f40a43a33addcb5ab4db9f78faada408eff839ac8d9d","urls":["bzz-raw://96c3ee2e93be4fcf7e9e35c66d981fcc5c69da34fc979f261a387543dc945dc0","dweb:/ipfs/QmerNPYnmf5oPiKWvFkoFVcidoMHQSVmXZtrot7pgY4HhH"],"license":"MIT"}},"version":1},"id":119}