{"abi":[{"type":"constructor","inputs":[{"name":"_poolManager","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"nonpayable"},{"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"},{"type":"error","name":"NotPoolManager","inputs":[]}],"bytecode":{"object":"0x60a03460b357601f610e9738819003918201601f19168301916001600160401b0383118484101760b75780849260209460405283398101031260b357516001600160a01b038116810360b357608052604051610dcb90816100cc823960805181818161012b01528181610246015281816102db0152818161039e0152818161048101528181610549015281816105db01528181610622015281816106870152818161073401528181610810015261096a0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80631c7ccb4c146108ac57806353e9c1fb146107c95780637c40f1fe146106ab5780638a2bb9e61461064657806397fd7b421461060b5780639ec538c8146105a2578063c815641c1461050b578063caedab54146103f6578063dacf1d2f146102ff578063dc4c90d314610291578063f0928f29146101e65763fa6793d51461009d575f80fd5b346101a25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576100d7600435610d2f565b600381018091116101b957604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f90610177575b6020906fffffffffffffffffffffffffffffffff60405191168152f35b506020813d6020116101a6575b8161019160209383610a2b565b810103126101a2576020905161015a565b5f80fd5b3d9150610184565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b346101a2576101fd6101f7366109f7565b90610d8b565b604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f90610177576020906fffffffffffffffffffffffffffffffff60405191168152f35b346101a2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101a25760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760243573ffffffffffffffffffffffffffffffffffffffff811681036101a2576103566109e7565b6064358060020b81036101a2576103f2926103c2926040519260843560268501526006840152600383015281525f603a600c83012091816040820152816020820152526004357f0000000000000000000000000000000000000000000000000000000000000000610bc0565b604080516fffffffffffffffffffffffffffffffff90941684526020840192909252908201529081906060820190565b0390f35b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576104386104306109d7565b600435610d55565b604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f906104d8575b6040908151906fffffffffffffffffffffffffffffffff8116825260801d600f0b6020820152f35b506020813d602011610503575b816104f260209383610a2b565b810103126101a257604090516104b0565b3d91506104e5565b346101a25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a257608062ffffff8061056d6004357f0000000000000000000000000000000000000000000000000000000000000000610c63565b92949173ffffffffffffffffffffffffffffffffffffffff6040519616865260020b6020860152166040840152166060820152f35b346101a25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760406105ff6004357f0000000000000000000000000000000000000000000000000000000000000000610c58565b82519182526020820152f35b346101a2576103f26103c261061f366109f7565b907f0000000000000000000000000000000000000000000000000000000000000000610bc0565b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760406105ff6106826109d7565b6004357f0000000000000000000000000000000000000000000000000000000000000000610b1e565b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576106e56104306109d7565b604051907f35fd631a0000000000000000000000000000000000000000000000000000000082526004820152600360248201525f8160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae576080915f916107a7575b506020810151906060604082015191015190604051926fffffffffffffffffffffffffffffffff81168452841d600f0b602084015260408301526060820152f35b6107c391503d805f833e6107bb8183610a2b565b810190610a99565b82610766565b346101a25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760406004356108056109d7565b9061080e6109e7565b7f00000000000000000000000000000000000000000000000000000000000000009061083a8383610c58565b90610846868686610b1e565b96909361085f610857828989610b1e565b989097610c63565b5050905060020b9160020b82125f14610885575050505003910382519182526020820152f35b95969593949360020b1361089d5750500391036105ff565b949392909403039203036105ff565b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576024358060010b8091036101a2576108f4600435610d2f565b600581018091116101b957604051906020820192835260408201526040815261091e606082610a2b565b519020604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f906109a4575b602090604051908152f35b506020813d6020116109cf575b816109be60209383610a2b565b810103126101a25760209051610999565b3d91506109b1565b602435908160020b82036101a257565b604435908160020b82036101a257565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60409101126101a2576004359060243590565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a6c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6020818303126101a25780519067ffffffffffffffff82116101a257019080601f830112156101a25781519167ffffffffffffffff8311610a6c578260051b9060405193610aea6020840186610a2b565b84526020808501928201019283116101a257602001905b828210610b0e5750505090565b8151815260209182019101610b01565b9291610b2991610d55565b600181018091116101b95773ffffffffffffffffffffffffffffffffffffffff9260445f9260405195869384927f35fd631a000000000000000000000000000000000000000000000000000000008452600484015260026024840152165afa9182156101ae575f92610ba4575b506040602083015192015190565b610bb99192503d805f833e6107bb8183610a2b565b905f610b96565b6044610be273ffffffffffffffffffffffffffffffffffffffff945f94610d8b565b60405194859384927f35fd631a000000000000000000000000000000000000000000000000000000008452600484015260036024840152165afa9081156101ae575f91610c3e575b506020810151916060604083015192015190565b610c5291503d805f833e6107bb8183610a2b565b5f610c2a565b9190610b2990610d2f565b6020906024610c8773ffffffffffffffffffffffffffffffffffffffff9594610d2f565b60405195869384927f1e2eaeaf0000000000000000000000000000000000000000000000000000000084526004840152165afa9182156101ae575f92610cfb575b5073ffffffffffffffffffffffffffffffffffffffff8216918060a01c60020b9162ffffff808360b81c169260d01c1690565b9091506020813d602011610d27575b81610d1760209383610a2b565b810103126101a25751905f610cc8565b3d9150610d0a565b604051602081019182526006604082015260408152610d4f606082610a2b565b51902090565b610d5e90610d2f565b600481018091116101b95760405190602082019260020b8352604082015260408152610d4f606082610a2b565b610d9490610d2f565b600681018091116101b9576040519060208201928352604082015260408152610d4f606082610a2b56fea164736f6c634300081a000a","sourceMap":"678:3126:127:-:0;;;;;;;;;;;;;-1:-1:-1;;678:3126:127;;;;-1:-1:-1;;;;;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;678:3126:127;;;;;;782:26:96;;678:3126:127;;;;;;;;782:26:96;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;678:3126:127;;;;;;-1:-1:-1;678:3126:127;;;;;-1:-1:-1;678:3126:127","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80631c7ccb4c146108ac57806353e9c1fb146107c95780637c40f1fe146106ab5780638a2bb9e61461064657806397fd7b421461060b5780639ec538c8146105a2578063c815641c1461050b578063caedab54146103f6578063dacf1d2f146102ff578063dc4c90d314610291578063f0928f29146101e65763fa6793d51461009d575f80fd5b346101a25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576100d7600435610d2f565b600381018091116101b957604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f90610177575b6020906fffffffffffffffffffffffffffffffff60405191168152f35b506020813d6020116101a6575b8161019160209383610a2b565b810103126101a2576020905161015a565b5f80fd5b3d9150610184565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b346101a2576101fd6101f7366109f7565b90610d8b565b604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f90610177576020906fffffffffffffffffffffffffffffffff60405191168152f35b346101a2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101a25760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760243573ffffffffffffffffffffffffffffffffffffffff811681036101a2576103566109e7565b6064358060020b81036101a2576103f2926103c2926040519260843560268501526006840152600383015281525f603a600c83012091816040820152816020820152526004357f0000000000000000000000000000000000000000000000000000000000000000610bc0565b604080516fffffffffffffffffffffffffffffffff90941684526020840192909252908201529081906060820190565b0390f35b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576104386104306109d7565b600435610d55565b604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f906104d8575b6040908151906fffffffffffffffffffffffffffffffff8116825260801d600f0b6020820152f35b506020813d602011610503575b816104f260209383610a2b565b810103126101a257604090516104b0565b3d91506104e5565b346101a25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a257608062ffffff8061056d6004357f0000000000000000000000000000000000000000000000000000000000000000610c63565b92949173ffffffffffffffffffffffffffffffffffffffff6040519616865260020b6020860152166040840152166060820152f35b346101a25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760406105ff6004357f0000000000000000000000000000000000000000000000000000000000000000610c58565b82519182526020820152f35b346101a2576103f26103c261061f366109f7565b907f0000000000000000000000000000000000000000000000000000000000000000610bc0565b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760406105ff6106826109d7565b6004357f0000000000000000000000000000000000000000000000000000000000000000610b1e565b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576106e56104306109d7565b604051907f35fd631a0000000000000000000000000000000000000000000000000000000082526004820152600360248201525f8160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae576080915f916107a7575b506020810151906060604082015191015190604051926fffffffffffffffffffffffffffffffff81168452841d600f0b602084015260408301526060820152f35b6107c391503d805f833e6107bb8183610a2b565b810190610a99565b82610766565b346101a25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a25760406004356108056109d7565b9061080e6109e7565b7f00000000000000000000000000000000000000000000000000000000000000009061083a8383610c58565b90610846868686610b1e565b96909361085f610857828989610b1e565b989097610c63565b5050905060020b9160020b82125f14610885575050505003910382519182526020820152f35b95969593949360020b1361089d5750500391036105ff565b949392909403039203036105ff565b346101a25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a2576024358060010b8091036101a2576108f4600435610d2f565b600581018091116101b957604051906020820192835260408201526040815261091e606082610a2b565b519020604051907f1e2eaeaf000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156101ae575f906109a4575b602090604051908152f35b506020813d6020116109cf575b816109be60209383610a2b565b810103126101a25760209051610999565b3d91506109b1565b602435908160020b82036101a257565b604435908160020b82036101a257565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60409101126101a2576004359060243590565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a6c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6020818303126101a25780519067ffffffffffffffff82116101a257019080601f830112156101a25781519167ffffffffffffffff8311610a6c578260051b9060405193610aea6020840186610a2b565b84526020808501928201019283116101a257602001905b828210610b0e5750505090565b8151815260209182019101610b01565b9291610b2991610d55565b600181018091116101b95773ffffffffffffffffffffffffffffffffffffffff9260445f9260405195869384927f35fd631a000000000000000000000000000000000000000000000000000000008452600484015260026024840152165afa9182156101ae575f92610ba4575b506040602083015192015190565b610bb99192503d805f833e6107bb8183610a2b565b905f610b96565b6044610be273ffffffffffffffffffffffffffffffffffffffff945f94610d8b565b60405194859384927f35fd631a000000000000000000000000000000000000000000000000000000008452600484015260036024840152165afa9081156101ae575f91610c3e575b506020810151916060604083015192015190565b610c5291503d805f833e6107bb8183610a2b565b5f610c2a565b9190610b2990610d2f565b6020906024610c8773ffffffffffffffffffffffffffffffffffffffff9594610d2f565b60405195869384927f1e2eaeaf0000000000000000000000000000000000000000000000000000000084526004840152165afa9182156101ae575f92610cfb575b5073ffffffffffffffffffffffffffffffffffffffff8216918060a01c60020b9162ffffff808360b81c169260d01c1690565b9091506020813d602011610d27575b81610d1760209383610a2b565b810103126101a25751905f610cc8565b3d9150610d0a565b604051602081019182526006604082015260408152610d4f606082610a2b565b51902090565b610d5e90610d2f565b600481018091116101b95760405190602082019260020b8352604082015260408152610d4f606082610a2b565b610d9490610d2f565b600681018091116101b9576040519060208201928352604082015260408152610d4f606082610a2b56fea164736f6c634300081a000a","sourceMap":"678:3126:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3820:331:69;678:3126:127;3820:331:69;;;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;940:1:69;;;678:3126:127;;;;;;;;;;;;;;8371:25:69;678:3126:127;;8371:25:69;:::i;:::-;690:1;940;;;;;;;678:3126:127;;8550:22:69;940:1;8550:22;;678:3126:127;8550:22:69;;678:3126:127;;2363:11;8550:22:69;2363:11:127;678:3126;2363:11;678:3126;8550:22:69;;;;;;678:3126:127;8550:22:69;;;678:3126:127;;;;;;;;;;;8550:22:69;;678:3126:127;8550:22:69;;678:3126:127;8550:22:69;;;;;;940:1;8550:22;;;:::i;:::-;;;940:1;;;;678:3126:127;940:1:69;;8550:22;;940:1;678:3126:127;;;8550:22:69;;;-1:-1:-1;8550:22:69;;;678:3126:127;;940:1:69;678:3126:127;940:1:69;;;;;;;678:3126:127;940:1:69;;678:3126:127;940:1:69;;678:3126:127;940:1:69;678:3126:127;;;;12653:40:69;678:3126:127;;;:::i;:::-;12653:40:69;;:::i;:::-;678:3126:127;;12731:22:69;940:1;12731:22;;678:3126:127;12731:22:69;;678:3126:127;940:1:69;3434:11:127;12731:22:69;3434:11:127;678:3126;3434:11;678:3126;12731:22:69;;;;;;678:3126:127;12731:22:69;;;940:1;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;411:41:96;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;2447:609:65;10829:45:69;2447:609:65;678:3126:127;2447:609:65;678:3126:127;;;2447:609:65;;;;;;;;;;;;;;678:3126:127;2447:609:65;;;;;;;678:3126:127;2447:609:65;;;;678:3126:127;2447:609:65;;;;678:3126:127;;2890:11;10829:45:69;:::i;:::-;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:30:69;678:3126:127;;:::i;:::-;;;4973:30:69;:::i;:::-;678:3126:127;;5030:22:69;940:1;5030:22;;678:3126:127;5030:22:69;;678:3126:127;;1651:11;678:3126;1651:11;678:3126;1651:11;678:3126;5030:22:69;;;;;;678:3126:127;5030:22:69;;;678:3126:127;;;;;5062:157:69;;;;678:3126:127;;5062:157:69;;678:3126:127;;;;;;;5030:22:69;;678:3126:127;5030:22:69;;678:3126:127;5030:22:69;;;;;;940:1;5030:22;;;:::i;:::-;;;940:1;;;;678:3126:127;940:1:69;;5030:22;;;;;-1:-1:-1;5030:22:69;;678:3126:127;;;;;;;;;;;;;;1051:28;678:3126;;1051:11;:28;:::i;:::-;678:3126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2184:39;678:3126;;2184:11;:39;:::i;:::-;678:3126;;;;;;;;;;;;;;;3219:47;678:3126;;;:::i;:::-;3219:11;;:47;:::i;678:3126::-;;;;;;;;;;;;1927:49;678:3126;;:::i;:::-;;;1927:11;:49;:::i;678:3126::-;;;;;;;;;;;3669:30:69;678:3126:127;;:::i;3669:30:69:-;678:3126:127;;3785:25:69;940:1;3785:25;;678:3126:127;3785:25:69;;678:3126:127;3808:1:69;678:3126:127;;;;;1404:11;3785:25:69;1404:11:127;678:3126;1404:11;678:3126;3785:25:69;;;;;;3820:331;3785:25;678:3126:127;3785:25:69;;;678:3126:127;3820:331:69;678:3126:127;3820:331:69;;;;;678:3126:127;3820:331:69;;;;;;678:3126:127;;;3820:331:69;;;;678:3126:127;;3820:331:69;;678:3126:127;;;;;;;;;;3820:331:69;678:3126:127;;;;3785:25:69;;;;;;678:3126:127;3785:25:69;;;;;;:::i;:::-;;;;;:::i;:::-;;;;678:3126:127;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;3735:11;:60;13664:36:69;;;;:::i;:::-;13798:51;;;;;;:::i;:::-;13946;;;14033:25;13946:51;;;;;:::i;:::-;14033:25;;;;:::i;:::-;678:3126:127;;;;;;;;;14096:23:69;;14092:738;14096:23;;;678:3126:127;;;;;;;;;;;;;;;;;14092:738:69;678:3126:127;;;;;;;;-1:-1:-1;14338:24:69;;678:3126:127;;;;;14092:738:69;;14334:496;678:3126:127;;;;;;;;;;14092:738:69;;678:3126:127;;;;;;;;;;;;;;;;;;;;;9158:25:69;678:3126:127;;9158:25:69;:::i;:::-;940:1;;;;;;;;678:3126:127;;9440:49:69;678:3126:127;9440:49:69;;678:3126:127;;;;940:1:69;;678:3126:127;;9440:49:69;;;;;;:::i;:::-;940:1;9430:60;;678:3126:127;;9522:22:69;940:1;9522:22;;678:3126:127;9522:22:69;;678:3126:127;;2549:11;678:3126;2549:11;678:3126;2549:11;678:3126;9522:22:69;;;;;;678:3126:127;9522:22:69;;;678:3126:127;;;;;;;;;9522:22:69;;678:3126:127;9522:22:69;;678:3126:127;9522:22:69;;;;;;940:1;9522:22;;;:::i;:::-;;;940:1;;;;678:3126:127;940:1:69;;9522:22;;;;;-1:-1:-1;9522:22:69;;678:3126:127;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;940:1:69:-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;940:1:69;;;;;-1:-1:-1;940:1:69;678:3126:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;940:1:69;;678:3126:127;;;;;;;;;;5904:583:69;;;6124:30;5904:583;6124:30;:::i;:::-;6313:1;940;;;;;;;678:3126:127;;6272:47:69;-1:-1:-1;678:3126:127;;;6272:47:69;;;;;940:1;6272:47;;;;;678:3126:127;6317:1:69;678:3126:127;;;;;6272:47:69;;;;;;;-1:-1:-1;6272:47:69;;;5904:583;6329:152;678:3126:127;;6329:152:69;;;;;;5904:583;:::o;6272:47::-;;;;;;;-1:-1:-1;6272:47:69;;;;;;:::i;:::-;;;;;11422:623;11799:25;11667:40;678:3126:127;11422:623:69;-1:-1:-1;11422:623:69;11667:40;:::i;:::-;678:3126:127;;11799:25:69;;;;;940:1;11799:25;;;;;678:3126:127;11822:1:69;678:3126:127;;;;;11799:25:69;;;;;;;-1:-1:-1;11799:25:69;;;11422:623;11835:204;678:3126:127;11835:204:69;;;;;678:3126:127;11835:204:69;;;;;;11422:623;:::o;11799:25::-;;;;;;-1:-1:-1;11799:25:69;;;;;;:::i;:::-;;;;7189:723;;;7445:25;7189:723;7445:25;:::i;1580:996::-;940:1;1580:996;1892:27;1841:25;678:3126:127;1580:996:69;;1841:25;:::i;:::-;678:3126:127;;1892:27:69;;;;;940:1;1892:27;;;;;678:3126:127;;1892:27:69;;;;;;;-1:-1:-1;1892:27:69;;;1580:996;2147:423;678:3126:127;2147:423:69;;;;;;;;;;;;;;;;;;;1580:996;:::o;1892:27::-;;;;940:1;1892:27;;940:1;1892:27;;;;;;940:1;1892:27;;;:::i;:::-;;;940:1;;;;;1892:27;;;;;;;-1:-1:-1;1892:27:69;;14852:160;678:3126:127;;14953:51:69;;;678:3126:127;;;414:1:69;678:3126:127;398:19:69;;678:3126:127;;14953:51:69;;;;;;:::i;:::-;940:1;14943:62;;14852:160;:::o;15018:483::-;15190:25;15018:483;15190:25;:::i;:::-;829:1;940;;;;;;;678:3126:127;;15445:48:69;;;;678:3126:127;;;;;;940:1:69;;678:3126:127;;15445:48:69;;;;;;:::i;15507:517::-;15691:25;15507:517;15691:25;:::i;:::-;1100:1;940;;;;;;;678:3126:127;;15971:45:69;;;;678:3126:127;;;;398:19:69;;678:3126:127;;15971:45:69;;;;;;:::i","linkReferences":{},"immutableReferences":{"52637":[{"start":299,"length":32},{"start":582,"length":32},{"start":731,"length":32},{"start":926,"length":32},{"start":1153,"length":32},{"start":1353,"length":32},{"start":1499,"length":32},{"start":1570,"length":32},{"start":1671,"length":32},{"start":1844,"length":32},{"start":2064,"length":32},{"start":2410,"length":32}]}},"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\":\"contract IPoolManager\",\"name\":\"_poolManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"NotPoolManager\",\"type\":\"error\"},{\"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\":{\"details\":\"The contract is intended for offchain clients. Use StateLibrary.sol directly if reading state onchain.\",\"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\":{\"errors\":{\"NotPoolManager()\":[{\"notice\":\"Thrown when the caller is not PoolManager\"}]},\"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\":\"A view only contract wrapping the StateLibrary.sol library for reading storage in v4-core.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/lens/StateView.sol\":\"StateView\"},\"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/base/ImmutableState.sol\":{\"keccak256\":\"0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337\",\"dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU\"]},\"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\"]},\"src/lens/StateView.sol\":{\"keccak256\":\"0xe2604da12e628a24ec832019577a78619b749bc6b4f01cf5019721f14038a38c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ade9ff55fc5de60f46e0fa6c0e41d88f946b19aba2a697be70ff0efed03d0230\",\"dweb:/ipfs/QmNdQBLxqtDGXTpn14ZH4RpmsNrqXEotqycMPZ1tZbHy7B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_poolManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"NotPoolManager"},{"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/lens/StateView.sol":"StateView"},"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/base/ImmutableState.sol":{"keccak256":"0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a","urls":["bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337","dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU"],"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"},"src/lens/StateView.sol":{"keccak256":"0xe2604da12e628a24ec832019577a78619b749bc6b4f01cf5019721f14038a38c","urls":["bzz-raw://ade9ff55fc5de60f46e0fa6c0e41d88f946b19aba2a697be70ff0efed03d0230","dweb:/ipfs/QmNdQBLxqtDGXTpn14ZH4RpmsNrqXEotqycMPZ1tZbHy7B"],"license":"MIT"}},"version":1},"id":127}