v4-core
v4-core copied to clipboard
M02 tick price discrepancy
trafficstars
Related Issue
Which issue does this pull request resolve?
Description of changes
Forge code coverage:
| File | % Lines | % Statements | % Branches | % Funcs |
|---|---|---|---|---|
| src/ERC6909.sol | 91.30% (21/23) | 85.71% (24/28) | 100.00% (4/4) | 85.71% (6/7) |
| src/ERC6909Claims.sol | 100.00% (6/6) | 100.00% (8/8) | 100.00% (4/4) | 100.00% (1/1) |
| src/Extsload.sol | 100.00% (28/28) | 93.33% (28/30) | 0.00% (0/2) | 100.00% (3/3) |
| src/Exttload.sol | 13.33% (2/15) | 12.50% (2/16) | 0.00% (0/1) | 50.00% (1/2) |
| src/NoDelegateCall.sol | 100.00% (3/3) | 100.00% (4/4) | 100.00% (2/2) | 100.00% (3/3) |
| src/PoolManager.sol | 100.00% (94/94) | 98.48% (130/132) | 100.00% (38/38) | 100.00% (20/20) |
| src/ProtocolFees.sol | 100.00% (27/27) | 96.97% (32/33) | 100.00% (11/11) | 100.00% (6/6) |
| src/libraries/BitMath.sol | 100.00% (11/11) | 100.00% (11/11) | 100.00% (4/4) | 100.00% (2/2) |
| src/libraries/CurrencyDelta.sol | 100.00% (9/9) | 100.00% (11/11) | 100.00% (0/0) | 100.00% (3/3) |
| src/libraries/CurrencyReserves.sol | 85.71% (6/7) | 85.71% (6/7) | 100.00% (2/2) | 100.00% (5/5) |
| src/libraries/CustomRevert.sol | 100.00% (33/33) | 100.00% (33/33) | 100.00% (0/0) | 100.00% (8/8) |
| src/libraries/FullMath.sol | 100.00% (29/29) | 100.00% (33/33) | 100.00% (8/8) | 100.00% (2/2) |
| src/libraries/Hooks.sol | 100.00% (84/84) | 98.64% (145/147) | 100.00% (60/60) | 100.00% (14/14) |
| src/libraries/LPFeeLibrary.sol | 100.00% (10/10) | 100.00% (17/17) | 100.00% (4/4) | 100.00% (7/7) |
| src/libraries/LiquidityMath.sol | 100.00% (4/4) | 100.00% (4/4) | 100.00% (1/1) | 100.00% (1/1) |
| src/libraries/Lock.sol | 100.00% (3/3) | 100.00% (3/3) | 100.00% (0/0) | 100.00% (3/3) |
| src/libraries/NonZeroDeltaCount.sol | 100.00% (7/7) | 100.00% (7/7) | 100.00% (0/0) | 100.00% (3/3) |
| src/libraries/ParseBytes.sol | 100.00% (3/3) | 100.00% (3/3) | 100.00% (0/0) | 100.00% (3/3) |
| src/libraries/Pool.sol | 99.37% (157/158) | 99.44% (177/178) | 100.00% (86/86) | 100.00% (13/13) |
| src/libraries/Position.sol | 100.00% (19/19) | 100.00% (21/21) | 100.00% (4/4) | 100.00% (3/3) |
| src/libraries/ProtocolFeeLibrary.sol | 100.00% (10/10) | 100.00% (10/10) | 100.00% (0/0) | 100.00% (4/4) |
| src/libraries/SafeCast.sol | 100.00% (10/10) | 100.00% (16/16) | 100.00% (10/10) | 100.00% (5/5) |
| src/libraries/SqrtPriceMath.sol | 100.00% (49/49) | 100.00% (65/65) | 88.24% (15/17) | 100.00% (9/9) |
| src/libraries/StateLibrary.sol | 100.00% (63/63) | 100.00% (87/87) | 100.00% (4/4) | 100.00% (14/14) |
| src/libraries/SwapMath.sol | 100.00% (26/26) | 100.00% (27/27) | 100.00% (6/6) | 100.00% (2/2) |
| src/libraries/TickBitmap.sol | 100.00% (30/30) | 100.00% (36/36) | 100.00% (3/3) | 100.00% (4/4) |
| src/libraries/TickMath.sol | 100.00% (120/120) | 100.00% (166/166) | 100.00% (45/45) | 100.00% (4/4) |
| src/libraries/TransientStateLibrary.sol | 100.00% (10/10) | 100.00% (14/14) | 100.00% (2/2) | 100.00% (5/5) |
| src/libraries/UnsafeMath.sol | 100.00% (1/1) | 100.00% (1/1) | 100.00% (0/0) | 100.00% (1/1) |
| src/types/BalanceDelta.sol | 100.00% (2/2) | 100.00% (2/2) | 100.00% (0/0) | 100.00% (2/2) |
| src/types/BeforeSwapDelta.sol | 100.00% (2/2) | 100.00% (2/2) | 100.00% (0/0) | 100.00% (2/2) |
| src/types/Currency.sol | 100.00% (23/23) | 96.88% (31/32) | 100.00% (10/10) | 100.00% (7/7) |
| src/types/PoolId.sol | 100.00% (1/1) | 100.00% (1/1) | 100.00% (0/0) | 100.00% (1/1) |
| src/types/Slot0.sol | 100.00% (8/8) | 100.00% (8/8) | 100.00% (0/0) | 100.00% (8/8) |
| Total | 84.33% (1668/1978) | 83.57% (2142/2563) | 79.61% (578/726) | 78.86% (373/473) |
this is actually bugged. I think we need a zeroForOne check on line 399
ty for your work 🫡