diff --git a/.gas-report b/.gas-report deleted file mode 100644 index f01561b4..00000000 --- a/.gas-report +++ /dev/null @@ -1,307 +0,0 @@ -Compiling 5 files with 0.8.20 -Solc 0.8.20 finished in 6.68s -Compiler run successful! - -Running 9 tests for test/GeomeanOracle.t.sol:TestGeomeanOracle -[PASS] testAfterInitializeObservation() (gas: 103263) -[PASS] testAfterInitializeObserve0() (gas: 111551) -[PASS] testAfterInitializeState() (gas: 102994) -[PASS] testBeforeInitializeAllowsPoolCreation() (gas: 97765) -[PASS] testBeforeInitializeRevertsIfFee() (gas: 21174) -[PASS] testBeforeInitializeRevertsIfNotMaxTickSpacing() (gas: 22006) -[PASS] testBeforeModifyPositionNoObservations() (gas: 451900) -[PASS] testBeforeModifyPositionObservation() (gas: 455898) -[PASS] testBeforeModifyPositionObservationAndCardinality() (gas: 487676) -Test result: ok. 9 passed; 0 failed; 0 skipped; finished in 18.47ms - -Running 12 tests for test/TWAMM.t.sol:TWAMMTest -[PASS] testTWAMMEndToEndSimSymmetricalOrderPools() (gas: 796056) -[PASS] testTWAMM_beforeInitialize_SetsLastVirtualOrderTimestamp() (gas: 1543971) -[PASS] testTWAMM_submitOrder_EmitsEvent() (gas: 176414) -[PASS] testTWAMM_submitOrder_StoresOrderWithCorrectPoolAndOrderPoolInfo() (gas: 218226) -[PASS] testTWAMM_submitOrder_StoresSellRatesEarningsFactorsProperly() (gas: 955160) -[PASS] testTWAMM_updateOrder_EmitsEvent() (gas: 436339) -[PASS] testTWAMM_updateOrder_OneForZero_DecreasesSellrateUpdatesSellTokensOwed() (gas: 514301) -[PASS] testTWAMM_updateOrder_ZeroForOne_DecreasesSellrateUpdatesSellTokensOwed() (gas: 514231) -[PASS] testTWAMM_updatedOrder_OneForZero_ClosesOrderIfEliminatingPosition() (gas: 437734) -[PASS] testTWAMM_updatedOrder_OneForZero_IncreaseOrderAmount() (gas: 502469) -[PASS] testTWAMM_updatedOrder_ZeroForOne_ClosesOrderIfEliminatingPosition() (gas: 437742) -[PASS] testTWAMM_updatedOrder_ZeroForOne_IncreaseOrderAmount() (gas: 502467) -Test result: ok. 12 passed; 0 failed; 0 skipped; finished in 67.81ms - -Running 21 tests for test/FullRange.t.sol:TestFullRange -[PASS] testFullRange_BeforeModifyPositionFailsWithWrongMsgSender() (gas: 931705) -[PASS] testFullRange_addLiquidity_FailsIfNoPool() (gas: 20712) -[PASS] testFullRange_addLiquidity_FailsIfTooMuchSlippage() (gas: 1417713) -[PASS] testFullRange_addLiquidity_InitialAddFuzz(uint256) (runs: 256, μ: 1067175, ~: 901919) -[PASS] testFullRange_addLiquidity_InitialAddSucceeds() (gas: 1287095) -[PASS] testFullRange_addLiquidity_SubsequentAdd() (gas: 235736) -[PASS] testFullRange_addLiquidity_SwapThenAddSucceeds() (gas: 1471474) -[PASS] testFullRange_beforeInitialize_AllowsPoolCreation() (gas: 927663) -[PASS] testFullRange_beforeInitialize_RevertsIfWrongSpacing() (gas: 21207) -[PASS] testFullRange_removeLiquidity_DiffRatios() (gas: 1405163) -[PASS] testFullRange_removeLiquidity_FailsIfNoLiquidity() (gas: 959576) -[PASS] testFullRange_removeLiquidity_FailsIfNoPool() (gas: 20523) -[PASS] testFullRange_removeLiquidity_InitialRemoveFuzz(uint256) (runs: 256, μ: 1319139, ~: 1334491) -[PASS] testFullRange_removeLiquidity_InitialRemoveSucceeds() (gas: 248863) -[PASS] testFullRange_removeLiquidity_RemoveAllFuzz(uint256) (runs: 256, μ: 1082176, ~: 905318) -[PASS] testFullRange_removeLiquidity_SucceedsWithPartial() (gas: 1341038) -[PASS] testFullRange_removeLiquidity_SwapAndRebalance() (gas: 579224) -[PASS] testFullRange_removeLiquidity_SwapRemoveAllFuzz(uint256) (runs: 256, μ: 1190490, ~: 905264) -[PASS] testFullRange_removeLiquidity_ThreeLPsRemovePrincipalAndFees() (gas: 1917405) -[PASS] testFullRange_swap_TwoPools() (gas: 2596836) -[PASS] testFullRange_swap_TwoSwaps() (gas: 1430392) -Test result: ok. 21 passed; 0 failed; 0 skipped; finished in 1.39s - -Running 14 tests for test/LimitOrder.t.sol:TestLimitOrder -[PASS] testEpochNext() (gas: 7744) -[PASS] testGetTickLowerLast() (gas: 9959) -[PASS] testGetTickLowerLastWithDifferentPrice() (gas: 74899) -[PASS] testKill() (gas: 505672) -[PASS] testMultipleLPs() (gas: 611748) -[PASS] testNotZeroForOneCrossedRangeRevert() (gas: 239469) -[PASS] testNotZeroForOneInRangeRevert() (gas: 359048) -[PASS] testNotZeroForOneLeftBoundaryOfCurrentRange() (gas: 391999) -[PASS] testSwapAcrossRange() (gas: 833945) -[PASS] testZeroForOneCrossedRangeRevert() (gas: 238259) -[PASS] testZeroForOneInRangeRevert() (gas: 306791) -[PASS] testZeroForOneLeftBoundaryOfCurrentRange() (gas: 393271) -[PASS] testZeroForOneRightBoundaryOfCurrentRange() (gas: 364741) -[PASS] testZeroLiquidityRevert() (gas: 15562) -Test result: ok. 14 passed; 0 failed; 0 skipped; finished in 2.24s - -Running 60 tests for test/Oracle.t.sol:TestOracle -[PASS] testCanFetchMultipleObservations() (gas: 154980) -[PASS] testDoesNotFailAcrossOverflowBoundary() (gas: 58950) -[PASS] testFullOracle() (gas: 2090424997) -[PASS] testFullOracleGasCostObserve0After5Seconds() (gas: 2090269961) -[PASS] testFullOracleGasCostObserve200By13() (gas: 2090287915) -[PASS] testFullOracleGasCostObserve200By13Plus5() (gas: 2090288121) -[PASS] testFullOracleGasCostObserve5After5Seconds() (gas: 2090270060) -[PASS] testFullOracleGasCostObserveOldest() (gas: 2090287010) -[PASS] testFullOracleGasCostObserveOldestAfter5Seconds() (gas: 2090288483) -[PASS] testFullOracleGasCostObserveZero() (gas: 2090268349) -[PASS] testGas10SlotCardinalityGreater() (gas: 334542) -[PASS] testGas10Slots() (gas: 266320) -[PASS] testGas1Slot() (gas: 66176) -[PASS] testGas1SlotCardinalityGreater() (gas: 134429) -[PASS] testGasAllOfLast20Seconds() (gas: 262027) -[PASS] testGasBetweenOldestAndOldestPlusOne() (gas: 182500) -[PASS] testGasLatestEqual() (gas: 178357) -[PASS] testGasLatestTransform() (gas: 180008) -[PASS] testGasMiddle() (gas: 182642) -[PASS] testGasOldest() (gas: 182152) -[PASS] testGrow() (gas: 119740) -[PASS] testGrowAfterWrap() (gas: 73952) -[PASS] testInitialize() (gas: 89619) -[PASS] testInterpolatesAcrossChunkBoundaries() (gas: 110412) -[PASS] testInterpolatesSame0And1Liquidity() (gas: 108299) -[PASS] testInterpolationMaxLiquidity() (gas: 108286) -[PASS] testManyObservationsBetweenLatestObservationAfterLatest(uint32) (runs: 256, μ: 178510, ~: 178510) -[PASS] testManyObservationsBetweenLatestObservationAtLatest(uint32) (runs: 256, μ: 177475, ~: 177475) -[PASS] testManyObservationsCurrentObservation5SecondsAfterLatest(uint32) (runs: 256, μ: 174759, ~: 174759) -[PASS] testManyObservationsFetchManyValues(uint32) (runs: 256, μ: 202297, ~: 202292) -[PASS] testManyObservationsLatestObservation5SecondsAfterLatest(uint32) (runs: 256, μ: 174860, ~: 174860) -[PASS] testManyObservationsLatestObservationSameTimeAsLatest(uint32) (runs: 256, μ: 173207, ~: 173207) -[PASS] testManyObservationsOlderThanOldestReverts(uint32) (runs: 256, μ: 189853, ~: 189853) -[PASS] testManyObservationsOldest(uint32) (runs: 256, μ: 176962, ~: 176962) -[PASS] testManyObservationsOldestAfterTime(uint32) (runs: 256, μ: 178018, ~: 178018) -[PASS] testManyObservationsSimpleReads(uint32) (runs: 256, μ: 170946, ~: 170946) -[PASS] testObserveFailsBeforeInitialize() (gas: 14075) -[PASS] testObserveFailsIfOlderDoesNotExist() (gas: 61464) -[PASS] testObserveGasCurrentTime() (gas: 62111) -[PASS] testObserveGasCurrentTimeCounterfactual() (gas: 72518) -[PASS] testObserveGasSinceMostRecent() (gas: 64214) -[PASS] testSingleObservationAtCurrentTime() (gas: 56702) -[PASS] testSingleObservationInPastCounterfactualInPast() (gas: 58870) -[PASS] testSingleObservationInPastCounterfactualNow() (gas: 58212) -[PASS] testSingleObservationInRecentPast() (gas: 62566) -[PASS] testSingleObservationSecondsAgo() (gas: 58334) -[PASS] testTwoObservationsChronologicalSecondsAgoBetween() (gas: 88680) -[PASS] testTwoObservationsChronologicalSecondsAgoExactlyFirstObservation() (gas: 88383) -[PASS] testTwoObservationsChronologicalZeroSecondsAgoCounterfactual() (gas: 86168) -[PASS] testTwoObservationsChronologicalZeroSecondsAgoExact() (gas: 84658) -[PASS] testTwoObservationsReverseOrderSecondsAgoBetween() (gas: 93005) -[PASS] testTwoObservationsReverseOrderSecondsAgoExactlyOnFirstObservation() (gas: 92709) -[PASS] testTwoObservationsReverseOrderZeroSecondsAgoCounterfactual() (gas: 90537) -[PASS] testTwoObservationsReverseOrderZeroSecondsAgoExact() (gas: 88961) -[PASS] testWrite() (gas: 36417) -[PASS] testWriteAccumulatesLiquidity() (gas: 103839) -[PASS] testWriteAddsNothingIfTimeUnchanged() (gas: 44663) -[PASS] testWriteGrowsCardinalityWritingPast() (gas: 95433) -[PASS] testWriteTimeChanged() (gas: 70010) -[PASS] testWriteWrapsAround() (gas: 76186) -Test result: ok. 60 passed; 0 failed; 0 skipped; finished in 2.24s -| contracts/hooks/examples/FullRange.sol:FullRange contract | | | | | | -|-----------------------------------------------------------|-----------------|--------|--------|--------|---------| -| Deployment Cost | Deployment Size | | | | | -| 3489540 | 18155 | | | | | -| Function Name | min | avg | median | max | # calls | -| addLiquidity | 7858 | 312766 | 394894 | 394894 | 41 | -| beforeInitialize | 995 | 810205 | 828441 | 837441 | 38 | -| beforeModifyPosition | 893 | 947 | 949 | 949 | 49 | -| beforeSwap | 2202 | 2687 | 2495 | 5295 | 10 | -| lockAcquired | 8583 | 225213 | 269698 | 327800 | 45 | -| poolInfo | 594 | 816 | 594 | 2594 | 27 | -| removeLiquidity | 7978 | 142805 | 92468 | 353950 | 8 | - - -| contracts/hooks/examples/GeomeanOracle.sol:GeomeanOracle contract | | | | | | -|-------------------------------------------------------------------|-----------------|-------|--------|-------|---------| -| Deployment Cost | Deployment Size | | | | | -| 1817225 | 9744 | | | | | -| Function Name | min | avg | median | max | # calls | -| afterInitialize | 46668 | 46668 | 46668 | 46668 | 7 | -| beforeInitialize | 1057 | 1860 | 1966 | 1966 | 9 | -| beforeModifyPosition | 9365 | 10054 | 10380 | 10419 | 3 | -| getObservation | 1815 | 1815 | 1815 | 1815 | 5 | -| getState | 1618 | 1618 | 1618 | 1618 | 5 | -| increaseCardinalityNext | 24132 | 24132 | 24132 | 24132 | 1 | -| observe | 8822 | 8822 | 8822 | 8822 | 1 | - - -| contracts/hooks/examples/LimitOrder.sol:LimitOrder contract | | | | | | -|-------------------------------------------------------------|-----------------|--------|--------|--------|---------| -| Deployment Cost | Deployment Size | | | | | -| 2680961 | 14064 | | | | | -| Function Name | min | avg | median | max | # calls | -| afterInitialize | 4946 | 6272 | 4946 | 24846 | 15 | -| afterSwap | 7048 | 62217 | 32587 | 147018 | 3 | -| epochInfos | 1292 | 2625 | 1292 | 5292 | 3 | -| epochNext | 2417 | 2417 | 2417 | 2417 | 1 | -| getEpoch | 1851 | 1851 | 1851 | 1851 | 4 | -| getEpochLiquidity | 821 | 821 | 821 | 821 | 2 | -| getTickLowerLast | 531 | 1197 | 531 | 2531 | 3 | -| kill | 72534 | 72534 | 72534 | 72534 | 1 | -| lockAcquired | 39381 | 156560 | 187504 | 216036 | 14 | -| lockAcquiredFill | 75428 | 75428 | 75428 | 75428 | 1 | -| lockAcquiredKill | 40377 | 40377 | 40377 | 40377 | 1 | -| lockAcquiredPlace | 38401 | 182736 | 188324 | 214811 | 11 | -| lockAcquiredWithdraw | 50123 | 50123 | 50123 | 50123 | 1 | -| onERC1155Received | 917 | 917 | 917 | 917 | 1 | -| place | 902 | 262930 | 288664 | 372312 | 12 | -| withdraw | 74418 | 74418 | 74418 | 74418 | 1 | - - -| contracts/hooks/examples/TWAMM.sol:TWAMM contract | | | | | | -|---------------------------------------------------|-----------------|--------|--------|--------|---------| -| Deployment Cost | Deployment Size | | | | | -| 5497774 | 28258 | | | | | -| Function Name | min | avg | median | max | # calls | -| beforeInitialize | 22144 | 24082 | 24244 | 24244 | 13 | -| beforeModifyPosition | 5793 | 8011 | 5793 | 15893 | 37 | -| beforeSwap | 6304 | 6304 | 6304 | 6304 | 1 | -| claimTokens | 4491 | 4491 | 4491 | 4491 | 2 | -| executeTWAMMOrders | 89245 | 122431 | 122431 | 155618 | 2 | -| getOrder | 2672 | 3338 | 2672 | 6672 | 6 | -| getOrderPool | 1983 | 2188 | 1988 | 3993 | 10 | -| lastVirtualOrderTimestamp | 510 | 1510 | 1510 | 2510 | 2 | -| lockAcquired | 160064 | 160064 | 160064 | 160064 | 1 | -| submitOrder | 92000 | 129739 | 106972 | 626744 | 21 | -| tokensOwed | 731 | 731 | 731 | 731 | 16 | -| updateOrder | 9607 | 138511 | 183704 | 228998 | 11 | - - -| contracts/libraries/UniswapV4ERC20.sol:UniswapV4ERC20 contract | | | | | | -|----------------------------------------------------------------|-----------------|-------|--------|-------|---------| -| Deployment Cost | Deployment Size | | | | | -| 764329 | 4835 | | | | | -| Function Name | min | avg | median | max | # calls | -| approve | 24546 | 24546 | 24546 | 24546 | 7 | -| balanceOf | 608 | 733 | 608 | 2608 | 16 | -| burn | 3047 | 6247 | 3047 | 12647 | 6 | -| mint | 2981 | 33152 | 24881 | 46781 | 70 | -| totalSupply | 363 | 1220 | 363 | 2363 | 7 | - - -| lib/v4-core/contracts/PoolManager.sol:PoolManager contract | | | | | | -|------------------------------------------------------------|-----------------|--------|--------|--------|---------| -| Deployment Cost | Deployment Size | | | | | -| 5657368 | 28767 | | | | | -| Function Name | min | avg | median | max | # calls | -| MAX_TICK_SPACING | 277 | 277 | 277 | 277 | 11 | -| donate | 19952 | 19952 | 19952 | 19952 | 2 | -| extsload | 426 | 1854 | 2426 | 2426 | 14 | -| getLiquidity(bytes32)(uint128) | 593 | 1534 | 593 | 2593 | 136 | -| getLiquidity(bytes32,address,int24,int24)(uint128) | 1106 | 1106 | 1106 | 1106 | 5 | -| getSlot0 | 1007 | 1236 | 1007 | 3007 | 131 | -| initialize | 6002 | 453809 | 85853 | 873521 | 75 | -| lock | 34078 | 217471 | 217630 | 346022 | 112 | -| mint | 24253 | 24253 | 24253 | 24253 | 1 | -| modifyPosition | 3771 | 171722 | 191163 | 224594 | 102 | -| onERC1155Received | 21080 | 21080 | 21080 | 21080 | 1 | -| safeTransferFrom | 43814 | 43814 | 43814 | 43814 | 1 | -| settle | 3240 | 12630 | 20760 | 20760 | 173 | -| swap | 20223 | 92694 | 96576 | 232442 | 14 | -| take | 5049 | 6759 | 5049 | 18569 | 24 | - - -| lib/v4-core/contracts/test/PoolModifyPositionTest.sol:PoolModifyPositionTest contract | | | | | | -|---------------------------------------------------------------------------------------|-----------------|--------|--------|--------|---------| -| Deployment Cost | Deployment Size | | | | | -| 770392 | 4092 | | | | | -| Function Name | min | avg | median | max | # calls | -| lockAcquired | 6414 | 203177 | 172180 | 310314 | 41 | -| modifyPosition | 37560 | 227134 | 190692 | 340799 | 41 | - - -| lib/v4-core/contracts/test/PoolSwapTest.sol:PoolSwapTest contract | | | | | | -|-------------------------------------------------------------------|-----------------|--------|--------|--------|---------| -| Deployment Cost | Deployment Size | | | | | -| 952865 | 5045 | | | | | -| Function Name | min | avg | median | max | # calls | -| lockAcquired | 41524 | 106045 | 94376 | 290123 | 11 | -| swap | 75920 | 131508 | 118116 | 311623 | 11 | - - -| lib/v4-core/test/foundry-tests/utils/MockERC20.sol:MockERC20 contract | | | | | | -|-----------------------------------------------------------------------|-----------------|-------|--------|-------|---------| -| Deployment Cost | Deployment Size | | | | | -| 701701 | 4609 | | | | | -| Function Name | min | avg | median | max | # calls | -| approve | 22446 | 24530 | 24546 | 24546 | 270 | -| balanceOf | 564 | 673 | 564 | 2564 | 219 | -| mint | 2862 | 6333 | 2862 | 29562 | 28 | -| symbol | 1191 | 2028 | 1191 | 3191 | 74 | -| transfer | 2362 | 5773 | 2952 | 29652 | 29 | -| transferFrom | 2948 | 17487 | 24308 | 32048 | 195 | - - -| test/shared/GetSender.sol:GetSender contract | | | | | | -|----------------------------------------------|-----------------|-----|--------|-----|---------| -| Deployment Cost | Deployment Size | | | | | -| 23675 | 147 | | | | | -| Function Name | min | avg | median | max | # calls | -| sender | 148 | 148 | 148 | 148 | 5 | - - -| test/shared/implementation/OracleImplementation.sol:OracleImplementation contract | | | | | | -|-----------------------------------------------------------------------------------|-----------------|-----------|--------|------------|---------| -| Deployment Cost | Deployment Size | | | | | -| 1185027 | 5951 | | | | | -| Function Name | min | avg | median | max | # calls | -| advanceTime | 591 | 775 | 591 | 5391 | 26 | -| batchUpdate | 711199 | 711199 | 711199 | 711258 | 1752 | -| cardinality | 377 | 377 | 377 | 377 | 9 | -| cardinalityNext | 399 | 399 | 399 | 399 | 14 | -| getGasCostOfObserve | 2383 | 12755 | 4804 | 76826 | 16 | -| grow | 793 | 224259672 | 89782 | 1457345922 | 52 | -| index | 356 | 356 | 356 | 356 | 18 | -| initialize | 46206 | 46206 | 46206 | 46206 | 107 | -| observations | 691 | 926 | 691 | 2691 | 17 | -| observe | 2673 | 7264 | 4604 | 26419 | 48 | -| time | 326 | 326 | 326 | 326 | 1 | -| update | 2650 | 3890 | 3678 | 13288 | 130 | - - -| test/utils/HookMiner.sol:HookMiner contract | | | | | | -|---------------------------------------------|-----------------|--------|--------|---------|---------| -| Deployment Cost | Deployment Size | | | | | -| 238306 | 1248 | | | | | -| Function Name | min | avg | median | max | # calls | -| find | 169330 | 673493 | 696888 | 1052336 | 56 | - - - - -Ran 5 test suites: 116 tests passed, 0 failed, 0 skipped (116 total tests) diff --git a/.gas-snapshot b/.gas-snapshot deleted file mode 100644 index 3671cd93..00000000 --- a/.gas-snapshot +++ /dev/null @@ -1,116 +0,0 @@ -TWAMMTest:testTWAMMEndToEndSimSymmetricalOrderPools() (gas: 796056) -TWAMMTest:testTWAMM_beforeInitialize_SetsLastVirtualOrderTimestamp() (gas: 1543971) -TWAMMTest:testTWAMM_submitOrder_EmitsEvent() (gas: 176414) -TWAMMTest:testTWAMM_submitOrder_StoresOrderWithCorrectPoolAndOrderPoolInfo() (gas: 218226) -TWAMMTest:testTWAMM_submitOrder_StoresSellRatesEarningsFactorsProperly() (gas: 955160) -TWAMMTest:testTWAMM_updateOrder_EmitsEvent() (gas: 436339) -TWAMMTest:testTWAMM_updateOrder_OneForZero_DecreasesSellrateUpdatesSellTokensOwed() (gas: 514301) -TWAMMTest:testTWAMM_updateOrder_ZeroForOne_DecreasesSellrateUpdatesSellTokensOwed() (gas: 514231) -TWAMMTest:testTWAMM_updatedOrder_OneForZero_ClosesOrderIfEliminatingPosition() (gas: 437734) -TWAMMTest:testTWAMM_updatedOrder_OneForZero_IncreaseOrderAmount() (gas: 502469) -TWAMMTest:testTWAMM_updatedOrder_ZeroForOne_ClosesOrderIfEliminatingPosition() (gas: 437742) -TWAMMTest:testTWAMM_updatedOrder_ZeroForOne_IncreaseOrderAmount() (gas: 502467) -TestFullRange:testFullRange_BeforeModifyPositionFailsWithWrongMsgSender() (gas: 931705) -TestFullRange:testFullRange_addLiquidity_FailsIfNoPool() (gas: 20712) -TestFullRange:testFullRange_addLiquidity_FailsIfTooMuchSlippage() (gas: 1417713) -TestFullRange:testFullRange_addLiquidity_InitialAddFuzz(uint256) (runs: 256, μ: 1040150, ~: 901919) -TestFullRange:testFullRange_addLiquidity_InitialAddSucceeds() (gas: 1287095) -TestFullRange:testFullRange_addLiquidity_SubsequentAdd() (gas: 235736) -TestFullRange:testFullRange_addLiquidity_SwapThenAddSucceeds() (gas: 1471474) -TestFullRange:testFullRange_beforeInitialize_AllowsPoolCreation() (gas: 927663) -TestFullRange:testFullRange_beforeInitialize_RevertsIfWrongSpacing() (gas: 21207) -TestFullRange:testFullRange_removeLiquidity_DiffRatios() (gas: 1405163) -TestFullRange:testFullRange_removeLiquidity_FailsIfNoLiquidity() (gas: 959576) -TestFullRange:testFullRange_removeLiquidity_FailsIfNoPool() (gas: 20523) -TestFullRange:testFullRange_removeLiquidity_InitialRemoveFuzz(uint256) (runs: 256, μ: 1318073, ~: 1328396) -TestFullRange:testFullRange_removeLiquidity_InitialRemoveSucceeds() (gas: 248863) -TestFullRange:testFullRange_removeLiquidity_RemoveAllFuzz(uint256) (runs: 256, μ: 1072322, ~: 905318) -TestFullRange:testFullRange_removeLiquidity_SucceedsWithPartial() (gas: 1341038) -TestFullRange:testFullRange_removeLiquidity_SwapAndRebalance() (gas: 579224) -TestFullRange:testFullRange_removeLiquidity_SwapRemoveAllFuzz(uint256) (runs: 256, μ: 1157950, ~: 905264) -TestFullRange:testFullRange_removeLiquidity_ThreeLPsRemovePrincipalAndFees() (gas: 1917405) -TestFullRange:testFullRange_swap_TwoPools() (gas: 2596836) -TestFullRange:testFullRange_swap_TwoSwaps() (gas: 1430392) -TestGeomeanOracle:testAfterInitializeObservation() (gas: 103263) -TestGeomeanOracle:testAfterInitializeObserve0() (gas: 111551) -TestGeomeanOracle:testAfterInitializeState() (gas: 102994) -TestGeomeanOracle:testBeforeInitializeAllowsPoolCreation() (gas: 97765) -TestGeomeanOracle:testBeforeInitializeRevertsIfFee() (gas: 21174) -TestGeomeanOracle:testBeforeInitializeRevertsIfNotMaxTickSpacing() (gas: 22006) -TestGeomeanOracle:testBeforeModifyPositionNoObservations() (gas: 451900) -TestGeomeanOracle:testBeforeModifyPositionObservation() (gas: 455898) -TestGeomeanOracle:testBeforeModifyPositionObservationAndCardinality() (gas: 487676) -TestLimitOrder:testEpochNext() (gas: 7744) -TestLimitOrder:testGetTickLowerLast() (gas: 9959) -TestLimitOrder:testGetTickLowerLastWithDifferentPrice() (gas: 74899) -TestLimitOrder:testKill() (gas: 505672) -TestLimitOrder:testMultipleLPs() (gas: 611748) -TestLimitOrder:testNotZeroForOneCrossedRangeRevert() (gas: 239469) -TestLimitOrder:testNotZeroForOneInRangeRevert() (gas: 359048) -TestLimitOrder:testNotZeroForOneLeftBoundaryOfCurrentRange() (gas: 391999) -TestLimitOrder:testSwapAcrossRange() (gas: 833945) -TestLimitOrder:testZeroForOneCrossedRangeRevert() (gas: 238259) -TestLimitOrder:testZeroForOneInRangeRevert() (gas: 306791) -TestLimitOrder:testZeroForOneLeftBoundaryOfCurrentRange() (gas: 393271) -TestLimitOrder:testZeroForOneRightBoundaryOfCurrentRange() (gas: 364741) -TestLimitOrder:testZeroLiquidityRevert() (gas: 15562) -TestOracle:testCanFetchMultipleObservations() (gas: 154980) -TestOracle:testDoesNotFailAcrossOverflowBoundary() (gas: 58950) -TestOracle:testFullOracle() (gas: 2090424997) -TestOracle:testFullOracleGasCostObserve0After5Seconds() (gas: 2090269961) -TestOracle:testFullOracleGasCostObserve200By13() (gas: 2090287915) -TestOracle:testFullOracleGasCostObserve200By13Plus5() (gas: 2090288121) -TestOracle:testFullOracleGasCostObserve5After5Seconds() (gas: 2090270060) -TestOracle:testFullOracleGasCostObserveOldest() (gas: 2090287010) -TestOracle:testFullOracleGasCostObserveOldestAfter5Seconds() (gas: 2090288483) -TestOracle:testFullOracleGasCostObserveZero() (gas: 2090268349) -TestOracle:testGas10SlotCardinalityGreater() (gas: 334542) -TestOracle:testGas10Slots() (gas: 266320) -TestOracle:testGas1Slot() (gas: 66176) -TestOracle:testGas1SlotCardinalityGreater() (gas: 134429) -TestOracle:testGasAllOfLast20Seconds() (gas: 262027) -TestOracle:testGasBetweenOldestAndOldestPlusOne() (gas: 182500) -TestOracle:testGasLatestEqual() (gas: 178357) -TestOracle:testGasLatestTransform() (gas: 180008) -TestOracle:testGasMiddle() (gas: 182642) -TestOracle:testGasOldest() (gas: 182152) -TestOracle:testGrow() (gas: 119740) -TestOracle:testGrowAfterWrap() (gas: 73952) -TestOracle:testInitialize() (gas: 89619) -TestOracle:testInterpolatesAcrossChunkBoundaries() (gas: 110412) -TestOracle:testInterpolatesSame0And1Liquidity() (gas: 108299) -TestOracle:testInterpolationMaxLiquidity() (gas: 108286) -TestOracle:testManyObservationsBetweenLatestObservationAfterLatest(uint32) (runs: 256, μ: 178510, ~: 178510) -TestOracle:testManyObservationsBetweenLatestObservationAtLatest(uint32) (runs: 256, μ: 177475, ~: 177475) -TestOracle:testManyObservationsCurrentObservation5SecondsAfterLatest(uint32) (runs: 256, μ: 174759, ~: 174759) -TestOracle:testManyObservationsFetchManyValues(uint32) (runs: 256, μ: 202292, ~: 202292) -TestOracle:testManyObservationsLatestObservation5SecondsAfterLatest(uint32) (runs: 256, μ: 174860, ~: 174860) -TestOracle:testManyObservationsLatestObservationSameTimeAsLatest(uint32) (runs: 256, μ: 173207, ~: 173207) -TestOracle:testManyObservationsOlderThanOldestReverts(uint32) (runs: 256, μ: 189853, ~: 189853) -TestOracle:testManyObservationsOldest(uint32) (runs: 256, μ: 176962, ~: 176962) -TestOracle:testManyObservationsOldestAfterTime(uint32) (runs: 256, μ: 178018, ~: 178018) -TestOracle:testManyObservationsSimpleReads(uint32) (runs: 256, μ: 170946, ~: 170946) -TestOracle:testObserveFailsBeforeInitialize() (gas: 14075) -TestOracle:testObserveFailsIfOlderDoesNotExist() (gas: 61464) -TestOracle:testObserveGasCurrentTime() (gas: 62111) -TestOracle:testObserveGasCurrentTimeCounterfactual() (gas: 72518) -TestOracle:testObserveGasSinceMostRecent() (gas: 64214) -TestOracle:testSingleObservationAtCurrentTime() (gas: 56702) -TestOracle:testSingleObservationInPastCounterfactualInPast() (gas: 58870) -TestOracle:testSingleObservationInPastCounterfactualNow() (gas: 58212) -TestOracle:testSingleObservationInRecentPast() (gas: 62566) -TestOracle:testSingleObservationSecondsAgo() (gas: 58334) -TestOracle:testTwoObservationsChronologicalSecondsAgoBetween() (gas: 88680) -TestOracle:testTwoObservationsChronologicalSecondsAgoExactlyFirstObservation() (gas: 88383) -TestOracle:testTwoObservationsChronologicalZeroSecondsAgoCounterfactual() (gas: 86168) -TestOracle:testTwoObservationsChronologicalZeroSecondsAgoExact() (gas: 84658) -TestOracle:testTwoObservationsReverseOrderSecondsAgoBetween() (gas: 93005) -TestOracle:testTwoObservationsReverseOrderSecondsAgoExactlyOnFirstObservation() (gas: 92709) -TestOracle:testTwoObservationsReverseOrderZeroSecondsAgoCounterfactual() (gas: 90537) -TestOracle:testTwoObservationsReverseOrderZeroSecondsAgoExact() (gas: 88961) -TestOracle:testWrite() (gas: 36417) -TestOracle:testWriteAccumulatesLiquidity() (gas: 103839) -TestOracle:testWriteAddsNothingIfTimeUnchanged() (gas: 44663) -TestOracle:testWriteGrowsCardinalityWritingPast() (gas: 95433) -TestOracle:testWriteTimeChanged() (gas: 70010) -TestOracle:testWriteWrapsAround() (gas: 76186) \ No newline at end of file