@uniswap/v4-core
Version:
🦄 Core smart contracts of Uniswap v4
1 lines • 51.3 kB
JSON
{"abi":[{"type":"function","name":"getAmount0DeltaEquivalency","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"sqrtQ","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"roundUp","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getAmount0DeltaInvariants","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"sqrtQ","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getAmount0DeltaSignedInvariants","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"sqrtQ","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"int128","internalType":"int128"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getAmount1DeltaInvariants","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"sqrtQ","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getAmount1DeltaSignedInvariants","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"sqrtQ","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"int128","internalType":"int128"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getInRangeMintInvariants","inputs":[{"name":"sqrtLower","type":"uint160","internalType":"uint160"},{"name":"sqrtCurrent","type":"uint160","internalType":"uint160"},{"name":"sqrtUpper","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"int128","internalType":"int128"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getNextSqrtPriceFromAmount0RoundingUpInvariants","inputs":[{"name":"sqrtPX96","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"add","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getNextSqrtPriceFromAmount1RoundingDownInvariants","inputs":[{"name":"sqrtPX96","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"add","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getNextSqrtPriceFromInputInvariants","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"zeroForOne","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getNextSqrtPriceFromOutputInvariants","inputs":[{"name":"sqrtP","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amountOut","type":"uint256","internalType":"uint256"},{"name":"zeroForOne","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getOutOfRangeMintInvariants","inputs":[{"name":"sqrtA","type":"uint160","internalType":"uint160"},{"name":"sqrtB","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"int128","internalType":"int128"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"mulDivRoundingUpInvariants","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"},{"name":"z","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"}],"bytecode":{"object":"0x60808060405234601557611612908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80631faf4a3914610bd957806321e14f8b14610b3e5780633001e65e14610a7757806339933d511461096f5780633d729147146108de5780636e6238d7146108465780638e13a4b9146105b7578063b29f199e146104aa578063b46e6714146103e3578063b712c47c146102f1578063c8569d88146102065763f157fb501461009d575f80fd5b34610202576100ab36610d79565b9273ffffffffffffffffffffffffffffffffffffffff8193929316936fffffffffffffffffffffffffffffffff8316158515176101f55780156101e45773ffffffffffffffffffffffffffffffffffffffff84116101c3578360601b6fffffffffffffffffffffffffffffffff841680820615159104015b808611156101b657850373ffffffffffffffffffffffffffffffffffffffff16905b156101835790816101756101819673ffffffffffffffffffffffffffffffffffffffff61017a9695161115610e04565b610ea0565b1015610e04565b005b61017a92916101b16101819673ffffffffffffffffffffffffffffffffffffffff841661017a811515610e04565b610f98565b634323a5555f526004601cfd5b6101df6fffffffffffffffffffffffffffffffff8416856113e5565b610123565b6101ef8484846114d9565b90610145565b634f2461b85f526004601cfd5b5f80fd5b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102025761023d610d14565b610245610d37565b61024d610d5a565b73ffffffffffffffffffffffffffffffffffffffff83161515806102d2575b156102025782826102bb6102b48461028d6102cc966002986101819a610ea0565b946102a361029c838388610ea0565b8714610e04565b6102ae828683610e45565b94610e45565b8214610e04565b6102c781831115610e04565b610e38565b10610e04565b5073ffffffffffffffffffffffffffffffffffffffff8216151561026c565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261020257610328610d14565b610330610d37565b610338610df4565b73ffffffffffffffffffffffffffffffffffffffff831690811515806103c4575b15610202575f81600f0b131561020257610394818461038e73ffffffffffffffffffffffffffffffffffffffff948289611147565b966111cc565b9216036103ae576103a86101819215610e04565b15610e04565b5f906103be826101819413610e04565b13610e04565b5073ffffffffffffffffffffffffffffffffffffffff83161515610359565b34610202576103f136610d79565b9273ffffffffffffffffffffffffffffffffffffffff8116928315610202576fffffffffffffffffffffffffffffffff811615610202578285916104349361154f565b92156104835761045c8273ffffffffffffffffffffffffffffffffffffffff85161115610e04565b1561046357005b73ffffffffffffffffffffffffffffffffffffffff610181921614610e04565b6104a58273ffffffffffffffffffffffffffffffffffffffff85161015610e04565b61045c565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610202576104e1610d14565b6104e9610d37565b6104f1610df4565b9173ffffffffffffffffffffffffffffffffffffffff81169081151580610598575b1561020257836105239184611147565b92600f0b915f8312610587575b5f831361054b575b50501561054157005b6101819015610e04565b73ffffffffffffffffffffffffffffffffffffffff1603610577576105708215610e04565b8280610538565b6105825f8313610e04565b610570565b6105935f851315610e04565b610530565b5073ffffffffffffffffffffffffffffffffffffffff83161515610513565b346102025760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610202576105ee610d14565b6105f6610d37565b6105fe610d5a565b9160643580151581036102025773ffffffffffffffffffffffffffffffffffffffff83169373ffffffffffffffffffffffffffffffffffffffff8316928584106102025783159182158061083d575b1561020257868502928573ffffffffffffffffffffffffffffffffffffffff851604908189148117156107e3576108105773ffffffffffffffffffffffffffffffffffffffff889116036102025760601b7bffffffffffffffffffffffffffffffff000000000000000000000000169186850373ffffffffffffffffffffffffffffffffffffffff81116107e35773ffffffffffffffffffffffffffffffffffffffff169085810488036107e35784156107d35761070b9184611429565b945b81948197116107c7575b505073ffffffffffffffffffffffffffffffffffffffff85169182156107bb5761018195840373ffffffffffffffffffffffffffffffffffffffff16901561078b5773ffffffffffffffffffffffffffffffffffffffff61077a93941691611429565b908082061515910401905b14610e04565b906107b09173ffffffffffffffffffffffffffffffffffffffff6107b5951691611346565b610ee3565b90610785565b62bfc9215f526004601cfd5b90955092508580610717565b6107dd9184611346565b9461070d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5086151561064d565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102025761087d610d14565b610885610d37565b61088d610df4565b9173ffffffffffffffffffffffffffffffffffffffff811690811515806108bf575b15610202578383610523926111cc565b5073ffffffffffffffffffffffffffffffffffffffff831615156108af565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102025760043560443560243581158061020257600161092a848487611346565b610935858588611429565b61094182821015610e04565b0361094e60028210610e04565b03610963576108105761018192091515610e04565b50610181920915610e04565b346102025760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610202576109a6610d14565b6109ae610d37565b906044359173ffffffffffffffffffffffffffffffffffffffff831692838103610202576064359384600f0b908186036102025773ffffffffffffffffffffffffffffffffffffffff851690811561020257808210156102025773ffffffffffffffffffffffffffffffffffffffff8516809211159182610a6c575b505015610202575f1215610202578382610a4c61018196610a52945f96611147565b946111cc565b9113908115610a62575b50610e04565b5f91501382610a5c565b111590508680610a2a565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261020257610aae610d14565b610ab6610d37565b90610abf610d5a565b73ffffffffffffffffffffffffffffffffffffffff8216151580610b1f575b156102025782826102bb6102b484610aff6102cc966002986101819a610f98565b94610b0e61029c838388610f98565b610b19828683610eed565b94610eed565b5073ffffffffffffffffffffffffffffffffffffffff83161515610ade565b3461020257610b4c36610d79565b9273ffffffffffffffffffffffffffffffffffffffff8116928315610202576fffffffffffffffffffffffffffffffff81161561020257828591610b8f93611047565b9215610bb75761045c8273ffffffffffffffffffffffffffffffffffffffff85161015610e04565b6104a58273ffffffffffffffffffffffffffffffffffffffff85161115610e04565b3461020257610be736610d79565b9273ffffffffffffffffffffffffffffffffffffffff8193929316936fffffffffffffffffffffffffffffffff8316158515176101f5578015610c9c57610c2f848484611445565b905b15610c6d579081610c616101819673ffffffffffffffffffffffffffffffffffffffff610c669695161115610e04565b610eed565b1115610e04565b610c669291610c976101819673ffffffffffffffffffffffffffffffffffffffff84161015610e04565b610e45565b73ffffffffffffffffffffffffffffffffffffffff8411610ced57610ce7610ce2610cdc6fffffffffffffffffffffffffffffffff86168760601b610ee3565b8761103a565b6115e4565b90610c31565b610ce7610ce2610d0f6fffffffffffffffffffffffffffffffff86168761128d565b610cdc565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361020257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361020257565b604435906fffffffffffffffffffffffffffffffff8216820361020257565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126102025760043573ffffffffffffffffffffffffffffffffffffffff8116810361020257906024356fffffffffffffffffffffffffffffffff8116810361020257906044359060643580151581036102025790565b6044359081600f0b820361020257565b15610e0b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b919082039182116107e357565b6fffffffffffffffffffffffffffffffff6c010000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff80600195169116038060ff1d90810118931692610e978185611213565b93091515160190565b6fffffffffffffffffffffffffffffffff9073ffffffffffffffffffffffffffffffffffffffff80610ee09594169116038060ff1d908101189116611213565b90565b8115610810570490565b9073ffffffffffffffffffffffffffffffffffffffff811673ffffffffffffffffffffffffffffffffffffffff831611610f92575b73ffffffffffffffffffffffffffffffffffffffff82169283156107bb577bffffffffffffffffffffffffffffffff00000000000000000000000073ffffffffffffffffffffffffffffffffffffffff610f86948185169403169160601b16611429565b90808206151591040190565b90610f22565b73ffffffffffffffffffffffffffffffffffffffff821673ffffffffffffffffffffffffffffffffffffffff821611611034575b73ffffffffffffffffffffffffffffffffffffffff81169182156107bb57610ee0937bffffffffffffffffffffffffffffffff00000000000000000000000073ffffffffffffffffffffffffffffffffffffffff6107b0948185169403169160601b16611346565b90610fcc565b919082018092116107e357565b92909190156110c1579173ffffffffffffffffffffffffffffffffffffffff610ce292610ee094828111155f1461109f576fffffffffffffffffffffffffffffffff61109792169060601b610ee3565b915b1661103a565b6fffffffffffffffffffffffffffffffff6110bb92169061128d565b91611099565b73ffffffffffffffffffffffffffffffffffffffff9190828111611125576fffffffffffffffffffffffffffffffff9060601b91168082061515910401915b1690808211156101b65773ffffffffffffffffffffffffffffffffffffffff91031690565b6fffffffffffffffffffffffffffffffff6111419216906113e5565b91611100565b905f83600f0b125f146111a457611172925f036fffffffffffffffffffffffffffffffff1691610f98565b5f811261117c5790565b7f93dafdf1000000000000000000000000000000000000000000000000000000005f5260045ffd5b6111c0926fffffffffffffffffffffffffffffffff1691610eed565b5f811261117c575f0390565b905f83600f0b125f146111f757611172925f036fffffffffffffffffffffffffffffffff1691610ea0565b6111c0926fffffffffffffffffffffffffffffffff1691610e45565b90808202917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828209918380841093039280840393846c0100000000000000000000000011156102025714611284576c01000000000000000000000000910990828211900360a01b910360601c1790565b50505060601c90565b908160601b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c01000000000000000000000000840992828085109403938085039485841115610202571461133f576c0100000000000000000000000082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b91818302917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8185099383808610950394808603958685111561020257146113dd579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b91906113ff816c0100000000000000000000000085611346565b928115610810576c01000000000000000000000000900961141c57565b9060010190811561020257565b929190611437828286611346565b938215610810570961141c57565b909180156114d35773ffffffffffffffffffffffffffffffffffffffff7bffffffffffffffffffffffffffffffff000000000000000000000000819460601b169216808202816114958483610ee3565b146114bb575b50906114aa6114af9284610ee3565b61103a565b80820615159104011690565b830183811061149b5791506114cf92611429565b1690565b50905090565b9190811561154a577bffffffffffffffffffffffffffffffff00000000000000000000000073ffffffffffffffffffffffffffffffffffffffff9160601b16921691828202918383831191840414161561153d57610ee092610ce292820391611429565b63f5c787f15f526004601cfd5b505090565b9082156115dd5760601b7bffffffffffffffffffffffffffffffff0000000000000000000000001692156115a5579073ffffffffffffffffffffffffffffffffffffffff80939216808202816114958483610ee3565b73ffffffffffffffffffffffffffffffffffffffff16918183029182048314828211161561153d57610ee092610ce292820391611429565b5091505090565b9073ffffffffffffffffffffffffffffffffffffffff821691820361117c5756fea164736f6c634300081a000a","sourceMap":"240:7199:98:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80631faf4a3914610bd957806321e14f8b14610b3e5780633001e65e14610a7757806339933d511461096f5780633d729147146108de5780636e6238d7146108465780638e13a4b9146105b7578063b29f199e146104aa578063b46e6714146103e3578063b712c47c146102f1578063c8569d88146102065763f157fb501461009d575f80fd5b34610202576100ab36610d79565b9273ffffffffffffffffffffffffffffffffffffffff8193929316936fffffffffffffffffffffffffffffffff8316158515176101f55780156101e45773ffffffffffffffffffffffffffffffffffffffff84116101c3578360601b6fffffffffffffffffffffffffffffffff841680820615159104015b808611156101b657850373ffffffffffffffffffffffffffffffffffffffff16905b156101835790816101756101819673ffffffffffffffffffffffffffffffffffffffff61017a9695161115610e04565b610ea0565b1015610e04565b005b61017a92916101b16101819673ffffffffffffffffffffffffffffffffffffffff841661017a811515610e04565b610f98565b634323a5555f526004601cfd5b6101df6fffffffffffffffffffffffffffffffff8416856113e5565b610123565b6101ef8484846114d9565b90610145565b634f2461b85f526004601cfd5b5f80fd5b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102025761023d610d14565b610245610d37565b61024d610d5a565b73ffffffffffffffffffffffffffffffffffffffff83161515806102d2575b156102025782826102bb6102b48461028d6102cc966002986101819a610ea0565b946102a361029c838388610ea0565b8714610e04565b6102ae828683610e45565b94610e45565b8214610e04565b6102c781831115610e04565b610e38565b10610e04565b5073ffffffffffffffffffffffffffffffffffffffff8216151561026c565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261020257610328610d14565b610330610d37565b610338610df4565b73ffffffffffffffffffffffffffffffffffffffff831690811515806103c4575b15610202575f81600f0b131561020257610394818461038e73ffffffffffffffffffffffffffffffffffffffff948289611147565b966111cc565b9216036103ae576103a86101819215610e04565b15610e04565b5f906103be826101819413610e04565b13610e04565b5073ffffffffffffffffffffffffffffffffffffffff83161515610359565b34610202576103f136610d79565b9273ffffffffffffffffffffffffffffffffffffffff8116928315610202576fffffffffffffffffffffffffffffffff811615610202578285916104349361154f565b92156104835761045c8273ffffffffffffffffffffffffffffffffffffffff85161115610e04565b1561046357005b73ffffffffffffffffffffffffffffffffffffffff610181921614610e04565b6104a58273ffffffffffffffffffffffffffffffffffffffff85161015610e04565b61045c565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610202576104e1610d14565b6104e9610d37565b6104f1610df4565b9173ffffffffffffffffffffffffffffffffffffffff81169081151580610598575b1561020257836105239184611147565b92600f0b915f8312610587575b5f831361054b575b50501561054157005b6101819015610e04565b73ffffffffffffffffffffffffffffffffffffffff1603610577576105708215610e04565b8280610538565b6105825f8313610e04565b610570565b6105935f851315610e04565b610530565b5073ffffffffffffffffffffffffffffffffffffffff83161515610513565b346102025760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610202576105ee610d14565b6105f6610d37565b6105fe610d5a565b9160643580151581036102025773ffffffffffffffffffffffffffffffffffffffff83169373ffffffffffffffffffffffffffffffffffffffff8316928584106102025783159182158061083d575b1561020257868502928573ffffffffffffffffffffffffffffffffffffffff851604908189148117156107e3576108105773ffffffffffffffffffffffffffffffffffffffff889116036102025760601b7bffffffffffffffffffffffffffffffff000000000000000000000000169186850373ffffffffffffffffffffffffffffffffffffffff81116107e35773ffffffffffffffffffffffffffffffffffffffff169085810488036107e35784156107d35761070b9184611429565b945b81948197116107c7575b505073ffffffffffffffffffffffffffffffffffffffff85169182156107bb5761018195840373ffffffffffffffffffffffffffffffffffffffff16901561078b5773ffffffffffffffffffffffffffffffffffffffff61077a93941691611429565b908082061515910401905b14610e04565b906107b09173ffffffffffffffffffffffffffffffffffffffff6107b5951691611346565b610ee3565b90610785565b62bfc9215f526004601cfd5b90955092508580610717565b6107dd9184611346565b9461070d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5086151561064d565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102025761087d610d14565b610885610d37565b61088d610df4565b9173ffffffffffffffffffffffffffffffffffffffff811690811515806108bf575b15610202578383610523926111cc565b5073ffffffffffffffffffffffffffffffffffffffff831615156108af565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102025760043560443560243581158061020257600161092a848487611346565b610935858588611429565b61094182821015610e04565b0361094e60028210610e04565b03610963576108105761018192091515610e04565b50610181920915610e04565b346102025760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610202576109a6610d14565b6109ae610d37565b906044359173ffffffffffffffffffffffffffffffffffffffff831692838103610202576064359384600f0b908186036102025773ffffffffffffffffffffffffffffffffffffffff851690811561020257808210156102025773ffffffffffffffffffffffffffffffffffffffff8516809211159182610a6c575b505015610202575f1215610202578382610a4c61018196610a52945f96611147565b946111cc565b9113908115610a62575b50610e04565b5f91501382610a5c565b111590508680610a2a565b346102025760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261020257610aae610d14565b610ab6610d37565b90610abf610d5a565b73ffffffffffffffffffffffffffffffffffffffff8216151580610b1f575b156102025782826102bb6102b484610aff6102cc966002986101819a610f98565b94610b0e61029c838388610f98565b610b19828683610eed565b94610eed565b5073ffffffffffffffffffffffffffffffffffffffff83161515610ade565b3461020257610b4c36610d79565b9273ffffffffffffffffffffffffffffffffffffffff8116928315610202576fffffffffffffffffffffffffffffffff81161561020257828591610b8f93611047565b9215610bb75761045c8273ffffffffffffffffffffffffffffffffffffffff85161015610e04565b6104a58273ffffffffffffffffffffffffffffffffffffffff85161115610e04565b3461020257610be736610d79565b9273ffffffffffffffffffffffffffffffffffffffff8193929316936fffffffffffffffffffffffffffffffff8316158515176101f5578015610c9c57610c2f848484611445565b905b15610c6d579081610c616101819673ffffffffffffffffffffffffffffffffffffffff610c669695161115610e04565b610eed565b1115610e04565b610c669291610c976101819673ffffffffffffffffffffffffffffffffffffffff84161015610e04565b610e45565b73ffffffffffffffffffffffffffffffffffffffff8411610ced57610ce7610ce2610cdc6fffffffffffffffffffffffffffffffff86168760601b610ee3565b8761103a565b6115e4565b90610c31565b610ce7610ce2610d0f6fffffffffffffffffffffffffffffffff86168761128d565b610cdc565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361020257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361020257565b604435906fffffffffffffffffffffffffffffffff8216820361020257565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126102025760043573ffffffffffffffffffffffffffffffffffffffff8116810361020257906024356fffffffffffffffffffffffffffffffff8116810361020257906044359060643580151581036102025790565b6044359081600f0b820361020257565b15610e0b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b919082039182116107e357565b6fffffffffffffffffffffffffffffffff6c010000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff80600195169116038060ff1d90810118931692610e978185611213565b93091515160190565b6fffffffffffffffffffffffffffffffff9073ffffffffffffffffffffffffffffffffffffffff80610ee09594169116038060ff1d908101189116611213565b90565b8115610810570490565b9073ffffffffffffffffffffffffffffffffffffffff811673ffffffffffffffffffffffffffffffffffffffff831611610f92575b73ffffffffffffffffffffffffffffffffffffffff82169283156107bb577bffffffffffffffffffffffffffffffff00000000000000000000000073ffffffffffffffffffffffffffffffffffffffff610f86948185169403169160601b16611429565b90808206151591040190565b90610f22565b73ffffffffffffffffffffffffffffffffffffffff821673ffffffffffffffffffffffffffffffffffffffff821611611034575b73ffffffffffffffffffffffffffffffffffffffff81169182156107bb57610ee0937bffffffffffffffffffffffffffffffff00000000000000000000000073ffffffffffffffffffffffffffffffffffffffff6107b0948185169403169160601b16611346565b90610fcc565b919082018092116107e357565b92909190156110c1579173ffffffffffffffffffffffffffffffffffffffff610ce292610ee094828111155f1461109f576fffffffffffffffffffffffffffffffff61109792169060601b610ee3565b915b1661103a565b6fffffffffffffffffffffffffffffffff6110bb92169061128d565b91611099565b73ffffffffffffffffffffffffffffffffffffffff9190828111611125576fffffffffffffffffffffffffffffffff9060601b91168082061515910401915b1690808211156101b65773ffffffffffffffffffffffffffffffffffffffff91031690565b6fffffffffffffffffffffffffffffffff6111419216906113e5565b91611100565b905f83600f0b125f146111a457611172925f036fffffffffffffffffffffffffffffffff1691610f98565b5f811261117c5790565b7f93dafdf1000000000000000000000000000000000000000000000000000000005f5260045ffd5b6111c0926fffffffffffffffffffffffffffffffff1691610eed565b5f811261117c575f0390565b905f83600f0b125f146111f757611172925f036fffffffffffffffffffffffffffffffff1691610ea0565b6111c0926fffffffffffffffffffffffffffffffff1691610e45565b90808202917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828209918380841093039280840393846c0100000000000000000000000011156102025714611284576c01000000000000000000000000910990828211900360a01b910360601c1790565b50505060601c90565b908160601b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c01000000000000000000000000840992828085109403938085039485841115610202571461133f576c0100000000000000000000000082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b91818302917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8185099383808610950394808603958685111561020257146113dd579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b91906113ff816c0100000000000000000000000085611346565b928115610810576c01000000000000000000000000900961141c57565b9060010190811561020257565b929190611437828286611346565b938215610810570961141c57565b909180156114d35773ffffffffffffffffffffffffffffffffffffffff7bffffffffffffffffffffffffffffffff000000000000000000000000819460601b169216808202816114958483610ee3565b146114bb575b50906114aa6114af9284610ee3565b61103a565b80820615159104011690565b830183811061149b5791506114cf92611429565b1690565b50905090565b9190811561154a577bffffffffffffffffffffffffffffffff00000000000000000000000073ffffffffffffffffffffffffffffffffffffffff9160601b16921691828202918383831191840414161561153d57610ee092610ce292820391611429565b63f5c787f15f526004601cfd5b505090565b9082156115dd5760601b7bffffffffffffffffffffffffffffffff0000000000000000000000001692156115a5579073ffffffffffffffffffffffffffffffffffffffff80939216808202816114958483610ee3565b73ffffffffffffffffffffffffffffffffffffffff16918183029182048314828211161561153d57610ee092610ce292820391611429565b5091505090565b9073ffffffffffffffffffffffffffffffffffffffff821691820361117c5756fea164736f6c634300081a000a","sourceMap":"240:7199:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8211:358:60;;;;;;;;;;;;;;;;;8646:194;;;;240:7199:98;5152:27:60;;240:7199:98;;295:2:48;;;240:7199:98;;;558:86:66;;;;;;;;5152:205:60;5468:277;;;;;;240:7199:98;;;;;8646:194:60;1683:397:98;;;240:7199;;1713:22;1749:82;240:7199;8211:358:60;1769:61:98;240:7199;;;1720:14;;1713:22;:::i;:::-;1769:61;:::i;:::-;-1:-1:-1;1756:74:98;1749:82;:::i;:::-;240:7199;1683:397;2007:61;240:7199;;1951:22;1987:82;240:7199;8211:358:60;240:7199:98;;1862:17;1869:9;;;1862:17;:::i;1951:22::-;2007:61;:::i;5468:277:60:-;;240:7199:98;5468:277:60;;;;5152:205;5295:62;240:7199:98;;;5295:62:60;;:::i;:::-;5152:205;;8646:194;8764:76;;;;;:::i;:::-;8646:194;;;8211:358;;240:7199:98;8211:358:60;240:7199:98;8211:358:60;;240:7199:98;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;4884:9;;:22;;;240:7199;;;;4940:61;;5196:81;5216:60;4940:61;;5363:23;4940:61;5389:1;4940:61;5356:35;4940:61;;:::i;:::-;5033;5011:84;5033:61;;;;;:::i;:::-;5018:76;;5011:84;:::i;:::-;5126:60;;;;;:::i;:::-;5216;;:::i;:::-;5203:73;;5196:81;:::i;:::-;5288:32;5295:24;;;;5288:32;:::i;:::-;5363:23;:::i;:::-;:27;5356:35;:::i;4884:22::-;240:7199;;;;4897:9;;4884:22;;240:7199;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;6459:9;;;;:22;;;240:7199;;;;;;;;6500:13;240:7199;;;6623:54;6542;;;240:7199;6542:54;;;;:::i;:::-;6623;;:::i;:::-;240:7199;;6692:14;240:7199;;6722:20;6756;6729:12;;6722:20;:::i;:::-;6763:12;6756:20;:::i;6688:182::-;240:7199;6814:11;6807:19;6814:11;6840:19;6814:11;;6807:19;:::i;:::-;6847:11;6840:19;:::i;6459:22::-;240:7199;;;;6472:9;;6459:22;;240:7199;;;;;;;:::i;:::-;;;;;2282:12;;;240:7199;;;;;2313:13;240:7199;;2356:85;;;;;;:::i;:::-;2452:121;;;;2475:28;240:7199;;;;2482:20;;2475:28;:::i;:::-;2587:11;2583:70;;240:7199;2583:70;240:7199;2614:28;240:7199;;2621:20;2614:28;:::i;2452:121::-;2534:28;240:7199;;;;2541:20;;2534:28;:::i;:::-;2452:121;;240:7199;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;5525:9;;;;:22;;;240:7199;;;;5576:54;;;;;:::i;:::-;240:7199;;;5644:13;240:7199;5644:13;;5640:39;;240:7199;;5693:13;;5689:122;;240:7199;5824:14;;;5820:40;;240:7199;5820:40;5840:20;5847:12;;5840:20;:::i;5689:122::-;240:7199;;5726:14;240:7199;;5742:20;5749:12;;5742:20;:::i;:::-;5689:122;;;;5722:78;5781:19;240:7199;5788:11;;5781:19;:::i;:::-;5722:78;;5640:39;5659:20;240:7199;5666:12;;;5659:20;:::i;:::-;5640:39;;5525:22;240:7199;;;;5538:9;;5525:22;;240:7199;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;4153:14;;;;240:7199;;4186:9;;;;;:22;;;240:7199;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:32;240:7199;;;295:2:48;;;;;;;240:7199:98;295:2:48;;;;240:7199:98;;295:2:48;;;;;;;;4467:151:98;;;;4489:62;;;;:::i;:::-;4467:151;;4649:63;;;;9600:29:60;9596:98;;4467:151:98;9783:262:60;;240:7199:98;9783:262:60;;;;;;;4723:32:98;;240:7199;;;;;10211:220:60;;;240:7199:98;10262:64:60;240:7199:98;;;10262:64:60;;:::i;:::-;558:86:66;;;;;;;;;10211:220:60;;4730:24:98;4723:32;:::i;10211:220:60:-;240:7199:98;10361:54:60;240:7199:98;;10361:70:60;240:7199:98;;10361:54:60;;:::i;:::-;:70;:::i;:::-;10211:220;;;9783:262;;240:7199:98;9783:262:60;240:7199:98;9783:262:60;;9596:98;9631:63;;-1:-1:-1;9631:63:60;-1:-1:-1;9596:98:60;;;;4467:151:98;4566:52;;;;:::i;:::-;4467:151;;;295:2:48;240:7199:98;;;;;;;;;;;;;;;;;;;4186:22;4199:9;;;;4186:22;;240:7199;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;5994:9;;;;:22;;;240:7199;;;;6045:54;;;;;:::i;5994:22::-;240:7199;;;;6007:9;;5994:22;;240:7199;;;;;;;;;;;;;;;;;405:5;;;240:7199;;;448:24;;;;;:::i;:::-;506:34;;;;;:::i;:::-;554:33;561:25;;;;554:33;:::i;:::-;240:7199;601:36;635:1;608:28;;601:36;:::i;:::-;655:29;240:7199;;711:15;;704:27;711:15;;:19;;704:27;:::i;651:162::-;777:15;770:28;777:15;;:20;770:28;:::i;240:7199::-;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7045:13;;;240:7199;;7077:21;;;240:7199;;;;;;7117:24;;;;:52;;;;240:7199;;;;;;;-1:-1:-1;240:7199:98;;;7230:64;;;7396:34;7230:64;7321;7230;240:7199;7230:64;;:::i;:::-;7321;;:::i;:::-;7403:11;;:26;;;;;240:7199;7396:34;;:::i;7403:26::-;240:7199;7418:11;;;7403:26;;;7117:52;7145:24;;;-1:-1:-1;7117:52:98;;;;240:7199;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;3358:9;;:22;;;240:7199;;;;3414:61;;3670:81;3690:60;3414:61;;3837:23;3414:61;3863:1;3414:61;3830:35;3414:61;;:::i;:::-;3507;3485:84;3507:61;;;;;:::i;3485:84::-;3600:60;;;;;:::i;:::-;3690;;:::i;3358:22::-;240:7199;;;;3371:9;;3358:22;;240:7199;;;;;;;:::i;:::-;;;;;2857:12;;;240:7199;;;;;2888:13;240:7199;;2931:87;;;;;;:::i;:::-;3029:121;;;;3052:28;240:7199;;;;3059:20;;3052:28;:::i;3029:121::-;3111:28;240:7199;;;;3118:20;;3111:28;:::i;240:7199::-;;;;;;;:::i;:::-;6731:358:60;;;;;;;;;;;;;;;;;7172:190;;;;7197:74;;;;;:::i;:::-;7172:190;;1099:304:98;;;240:7199;;1129:22;1165:80;240:7199;6731:358:60;1184:60:98;240:7199;;;1136:14;;1129:22;:::i;:::-;1184:60;:::i;:::-;-1:-1:-1;1172:72:98;1165:80;:::i;1099:304::-;1331:60;240:7199;;1276:22;1312:80;240:7199;6731:358:60;240:7199:98;;1283:14;;1276:22;:::i;:::-;1331:60;:::i;7172:190:60:-;240:7199:98;4834:27:60;;240:7199:98;;5042:42:60;5043:28;4884:47;240:7199:98;;;295:2:48;;;4884:47:60;:::i;:::-;5043:28;;:::i;:::-;5042:42;:::i;:::-;7172:190;;;4834:172;5042:42;5043:28;4954:52;240:7199:98;;;4954:52:60;;:::i;:::-;4834:172;;240:7199:98;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;11589:938:60:-;240:7199:98;335:27:48;11589:938:60;10595:530;11589:938;1386:4:98;11589:938:60;10595:530;;;;;;;;;;;240:7199:98;;12323:51:60;;;;;:::i;:::-;12384:137;;;;;;11589:938;:::o;:::-;240:7199:98;11589:938:60;10595:530;11589:938;12323:51;11589:938;;10595:530;;;;;;;;;;;240:7199:98;;12323:51:60;:::i;:::-;11589:938;:::o;240:7199:98:-;;;;;;;:::o;9398:1050:60:-;;240:7199:98;;;;;;9600:29:60;9596:98;;9398:1050;240:7199:98;9783:262:60;;;;;;;295:2:48;240:7199:98;10262:64:60;10211:220;240:7199:98;;;;;;295:2:48;;;;10262:64:60;:::i;:::-;558:86:66;;;;;;;;;9398:1050:60;:::o;9596:98::-;;;;9398:1050;240:7199:98;;;;;;9600:29:60;9596:98;;9398:1050;240:7199:98;9783:262:60;;;;;;;10361:70;10211:220;295:2:48;240:7199:98;10361:54:60;10211:220;240:7199:98;;;;;;295:2:48;;;;10361:54:60;:::i;9596:98::-;9631:63;9596:98;;240:7199:98;;;;;;;;;;:::o;4438:1450:60:-;;;;;4774:1108;;;4834:172;240:7199:98;5043:28:60;4834:172;5042:42;4834:172;:27;;;;:172;240:7199:98;;;;4884:47:60;240:7199:98;;295:2:48;;;4884:47:60;:::i;:::-;4834:172;;240:7199:98;5043:28:60;:::i;4834:172::-;240:7199:98;4954:52:60;240:7199:98;;4954:52:60;;:::i;:::-;4834:172;;;4774:1108;240:7199:98;;5152:205:60;:27;;;240:7199:98;;;295:2:48;;;240:7199:98;;558:86:66;;;;;;;;5152:205:60;;5468:277;;;;;;;;240:7199:98;;;;5822:35:60;:::o;5152:205::-;240:7199:98;5295:62:60;240:7199:98;;5295:62:60;;:::i;:::-;5152:205;;;12876:424;;13077:1;240:7199:98;;;13065:13:60;:218;13077:1;;;13097:73;240:7199:98;13077:1:60;240:7199:98;;;13097:73:60;;:::i;:::-;13077:1;1875:5:59;;1871:49;;12876:424:60;:::o;1871:49:59:-;1882:25;13077:1:60;814:96:46;;13077:1:60;814:96:46;13065:218:60;13201:71;240:7199:98;;;13201:71:60;;:::i;:::-;13077:1;1875:5:59;;1871:49;;13077:1:60;240:7199:98;12876:424:60;:::o;13649:::-;;13850:1;240:7199:98;;;13838:13:60;:218;13850:1;;;13870:73;240:7199:98;13850:1:60;240:7199:98;;;13870:73:60;;:::i;13838:218::-;13974:71;240:7199:98;;;13974:71:60;;:::i;741:4141:49:-;;240:7199:98;;;1347:147:49;;;;;;;;;;;;;;;;1619:19;;335:27:48;1619:19:49;240:7199:98;;;1720:10:49;1716:177;;335:27:48;2224:95:49;;2391:145;;;;;;240:7199:98;;2391:145:49;;2977:82;;3363:21;741:4141;:::o;1716:177::-;1750:98;;;;;1865:13;:::o;741:4141::-;;240:7199:98;;;1347:147:49;;335:27:48;1347:147:49;;;;;;;;;;;;;1619:19;;;;240:7199:98;;;1720:10:49;1716:177;;335:27:48;2224:95:49;;;240:7199:98;;;;2716:31:49;2811:94;;;3776:1;240:7199:98;3757:1:49;240:7199:98;3756:21:49;240:7199:98;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;3254:96:49;;;;240:7199:98;3254:96:49;;;2391:145;;;;;;240:7199:98;2391:145:49;;2977:82;3363:21;240:7199:98;741:4141:49;:::o;1716:177::-;1750:98;;;;1865:13;:::o;741:4141::-;;240:7199:98;;;1347:147:49;;;;;;;;;;;;;;;;1619:19;;;;240:7199:98;;;1720:10:49;1716:177;;2224:95;;;;240:7199:98;;;;2716:31:49;2811:94;;;3776:1;240:7199:98;3757:1:49;240:7199:98;3756:21:49;240:7199:98;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;;;;3776:1:49;240:7199:98;;3254:96:49;;;;240:7199:98;3254:96:49;;;2391:145;;;;;;240:7199:98;2391:145:49;;2977:82;3363:21;240:7199:98;741:4141:49;:::o;1716:177::-;1750:98;;;;;1865:13;:::o;5164:296::-;;;5315:25;;335:27:48;5315:25:49;;:::i;:::-;5358;;;;;335:27:48;5358:25:49;;5354:90;;5164:296::o;5354:90::-;240:7199:98;;;5416:12:49;;;240:7199:98;;5164:296:49:o;:::-;;;;5315:25;;;;;:::i;:::-;5358;;;;;;5354:90;;5164:296::o;1535:2065:60:-;;;1831:11;;1827:32;;240:7199:98;295:2:48;;;;;;240:7199:98;;;;;2054:16:60;;;;;:::i;:::-;:28;2050:345;;1535:2065;2526:21;;;2525:32;2526:21;;;:::i;:::-;2525:32;:::i;:::-;558:86:66;;;;;;;;240:7199:98;1535:2065:60;:::o;2050:345::-;240:7199:98;;2174:25:60;;;2050:345;2170:207;2293:60;;;;;:::i;:::-;240:7199:98;2278:76:60;:::o;1827:32::-;1844:15;;;;:::o;1535:2065::-;;;1831:11;;1827:32;;295:2:48;240:7199:98;295:2:48;;;;1946:1648:60;240:7199:98;;;;;2951:462:60;;;;;;;;;;;;;3497:72;240:7199:98;3497:60:60;240:7199:98;;;3497:60:60;;:::i;2951:462::-;;1946:1648;2951:462;;;;1827:32;1844:15;;;:::o;1535:2065::-;;1831:11;;1827:32;;295:2:48;;;;;1946:1648:60;;;240:7199:98;;;;;;;;;2054:16:60;;;;;:::i;1946:1648::-;240:7199:98;;;;;;;2951:462:60;;;;;;;;;;;3497:72;240:7199:98;3497:60:60;240:7199:98;;;3497:60:60;;:::i;1827:32::-;1844:15;;;;;:::o;460:155:59:-;;240:7199:98;;;562:6:59;;;558:50;;460:155::o","linkReferences":{}},"methodIdentifiers":{"getAmount0DeltaEquivalency(uint160,uint160,uint128,bool)":"8e13a4b9","getAmount0DeltaInvariants(uint160,uint160,uint128)":"3001e65e","getAmount0DeltaSignedInvariants(uint160,uint160,int128)":"b29f199e","getAmount1DeltaInvariants(uint160,uint160,uint128)":"c8569d88","getAmount1DeltaSignedInvariants(uint160,uint160,int128)":"6e6238d7","getInRangeMintInvariants(uint160,uint160,uint160,int128)":"39933d51","getNextSqrtPriceFromAmount0RoundingUpInvariants(uint160,uint128,uint256,bool)":"b46e6714","getNextSqrtPriceFromAmount1RoundingDownInvariants(uint160,uint128,uint256,bool)":"21e14f8b","getNextSqrtPriceFromInputInvariants(uint160,uint128,uint256,bool)":"1faf4a39","getNextSqrtPriceFromOutputInvariants(uint160,uint128,uint256,bool)":"f157fb50","getOutOfRangeMintInvariants(uint160,uint160,int128)":"b712c47c","mulDivRoundingUpInvariants(uint256,uint256,uint256)":"3d729147"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtQ\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"bool\",\"name\":\"roundUp\",\"type\":\"bool\"}],\"name\":\"getAmount0DeltaEquivalency\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtQ\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"name\":\"getAmount0DeltaInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtQ\",\"type\":\"uint160\"},{\"internalType\":\"int128\",\"name\":\"liquidity\",\"type\":\"int128\"}],\"name\":\"getAmount0DeltaSignedInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtQ\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"name\":\"getAmount1DeltaInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtQ\",\"type\":\"uint160\"},{\"internalType\":\"int128\",\"name\":\"liquidity\",\"type\":\"int128\"}],\"name\":\"getAmount1DeltaSignedInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtLower\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtCurrent\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtUpper\",\"type\":\"uint160\"},{\"internalType\":\"int128\",\"name\":\"liquidity\",\"type\":\"int128\"}],\"name\":\"getInRangeMintInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPX96\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"add\",\"type\":\"bool\"}],\"name\":\"getNextSqrtPriceFromAmount0RoundingUpInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPX96\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"add\",\"type\":\"bool\"}],\"name\":\"getNextSqrtPriceFromAmount1RoundingDownInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"}],\"name\":\"getNextSqrtPriceFromInputInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtP\",\"type\":\"uint160\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"}],\"name\":\"getNextSqrtPriceFromOutputInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtA\",\"type\":\"uint160\"},{\"internalType\":\"uint160\",\"name\":\"sqrtB\",\"type\":\"uint160\"},{\"internalType\":\"int128\",\"name\":\"liquidity\",\"type\":\"int128\"}],\"name\":\"getOutOfRangeMintInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"z\",\"type\":\"uint256\"}],\"name\":\"mulDivRoundingUpInvariants\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/SqrtPriceMathEchidnaTest.sol\":\"SqrtPriceMathEchidnaTest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"src/libraries/FixedPoint96.sol\":{\"keccak256\":\"0xef5c3fd41aee26bb12aa1c32873cfee88e67eddfe7c2b32283786265ac669741\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de298d02f662a1c36c7be0a150f18c2a161408a5d3e48432e707efd01fac9a4\",\"dweb:/ipfs/QmSiM4oeMmLVKmAtJXz2feYkv4R9ZcyBpkTRW5Nhw5KDyJ\"]},\"src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"src/libraries/SqrtPriceMath.sol\":{\"keccak256\":\"0xf8079fe6e3460db495451d06b1705e18f1c4075c1af96a31ad313545f7082982\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://582fc51546723a0a8acccf782f69b530bacf9b3ef929458e82569b7121f0b138\",\"dweb:/ipfs/QmSBXcmqZdFsM7M4sRaiyQAxykCeMNFKyKgBcwSMTw1bcF\"]},\"src/libraries/UnsafeMath.sol\":{\"keccak256\":\"0xa6e55e0a43a15df2df471d9972cd48f613d07c663ecb8bbeaf7623f6f99bcce4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02ea6e13879fc5a5f35149a2f1cd8af3a1f0877ff69101dad53841d16f515572\",\"dweb:/ipfs/QmcpL4gdG6hL2w1wqs2Vw4J1EFCwBs9T1Qd4p16CtECQkn\"]},\"src/test/SqrtPriceMathEchidnaTest.sol\":{\"keccak256\":\"0xfe03d428a2fd5bd7746ff00cfbff9b56c3cb24bf921ff1b7b588385a4d365aab\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6dda6a7bbaac8654f23e0149b1a5b7b68e35ddfb1d5fcc663035fed8e58af40a\",\"dweb:/ipfs/QmTQFwytK8kRxka6Zg3AuASdyrzK5xqTsW7hPh1ewuwjqn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint160","name":"sqrtQ","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"bool","name":"roundUp","type":"bool"}],"stateMutability":"pure","type":"function","name":"getAmount0DeltaEquivalency"},{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint160","name":"sqrtQ","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"}],"stateMutability":"pure","type":"function","name":"getAmount0DeltaInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint160","name":"sqrtQ","type":"uint160"},{"internalType":"int128","name":"liquidity","type":"int128"}],"stateMutability":"pure","type":"function","name":"getAmount0DeltaSignedInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint160","name":"sqrtQ","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"}],"stateMutability":"pure","type":"function","name":"getAmount1DeltaInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint160","name":"sqrtQ","type":"uint160"},{"internalType":"int128","name":"liquidity","type":"int128"}],"stateMutability":"pure","type":"function","name":"getAmount1DeltaSignedInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtLower","type":"uint160"},{"internalType":"uint160","name":"sqrtCurrent","type":"uint160"},{"internalType":"uint160","name":"sqrtUpper","type":"uint160"},{"internalType":"int128","name":"liquidity","type":"int128"}],"stateMutability":"pure","type":"function","name":"getInRangeMintInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtPX96","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"add","type":"bool"}],"stateMutability":"pure","type":"function","name":"getNextSqrtPriceFromAmount0RoundingUpInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtPX96","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"add","type":"bool"}],"stateMutability":"pure","type":"function","name":"getNextSqrtPriceFromAmount1RoundingDownInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"bool","name":"zeroForOne","type":"bool"}],"stateMutability":"pure","type":"function","name":"getNextSqrtPriceFromInputInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtP","type":"uint160"},{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"bool","name":"zeroForOne","type":"bool"}],"stateMutability":"pure","type":"function","name":"getNextSqrtPriceFromOutputInvariants"},{"inputs":[{"internalType":"uint160","name":"sqrtA","type":"uint160"},{"internalType":"uint160","name":"sqrtB","type":"uint160"},{"internalType":"int128","name":"liquidity","type":"int128"}],"stateMutability":"pure","type":"function","name":"getOutOfRangeMintInvariants"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function","name":"mulDivRoundingUpInvariants"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-contracts/=lib/openzeppelin-contracts/","solmate/=lib/solmate/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/test/SqrtPriceMathEchidnaTest.sol":"SqrtPriceMathEchidnaTest"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"src/libraries/FixedPoint96.sol":{"keccak256":"0xef5c3fd41aee26bb12aa1c32873cfee88e67eddfe7c2b32283786265ac669741","urls":["bzz-raw://4de298d02f662a1c36c7be0a150f18c2a161408a5d3e48432e707efd01fac9a4","dweb:/ipfs/QmSiM4oeMmLVKmAtJXz2feYkv4R9ZcyBpkTRW5Nhw5KDyJ"],"license":"MIT"},"src/libraries/FullMath.sol":{"keccak256":"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2","urls":["bzz-raw: