Closed ChefMist closed 1 month ago
File | % Lines | % Statements | % Branches | % Funcs |
---|---|---|---|---|
src/Extsload.sol | 0.00% (0/15) | 0.00% (0/16) | 0.00% (0/1) | 100.00% (2/2) |
src/Owner.sol | 0.00% (0/2) | 0.00% (0/2) | 100.00% (0/0) | 100.00% (3/3) |
src/ProtocolFees.sol | 86.96% (20/23) | 90.32% (28/31) | 100.00% (5/5) | 100.00% (5/5) |
src/Vault.sol | 92.16% (47/51) | 90.41% (66/73) | 83.33% (10/12) | 85.71% (18/21) |
src/VaultToken.sol | 85.19% (23/27) | 82.86% (29/35) | 100.00% (4/4) | 87.50% (7/8) |
src/base/Ownable.sol | 81.82% (9/11) | 83.33% (10/12) | 50.00% (1/2) | 100.00% (6/6) |
src/base/Pausable.sol | 88.89% (8/9) | 88.89% (8/9) | 100.00% (1/1) | 100.00% (6/6) |
src/base/PausableRole.sol | 100.00% (5/5) | 100.00% (9/9) | 100.00% (1/1) | 100.00% (4/4) |
src/libraries/BipsLibrary.sol | 100.00% (2/2) | 100.00% (4/4) | 100.00% (1/1) | 100.00% (1/1) |
src/libraries/CustomRevert.sol | 0.00% (0/9) | 0.00% (0/9) | 100.00% (0/0) | 100.00% (1/1) |
src/libraries/Hooks.sol | 77.27% (17/22) | 84.21% (32/38) | 83.33% (5/6) | 100.00% (5/5) |
src/libraries/LPFeeLibrary.sol | 77.78% (7/9) | 86.67% (13/15) | 100.00% (1/1) | 100.00% (6/6) |
src/libraries/ParseBytes.sol | 0.00% (0/3) | 0.00% (0/3) | 100.00% (0/0) | 100.00% (3/3) |
src/libraries/ProtocolFeeLibrary.sol | 20.00% (2/10) | 20.00% (2/10) | 100.00% (0/0) | 100.00% (4/4) |
src/libraries/SafeCast.sol | 83.33% (10/12) | 61.11% (11/18) | 0.00% (0/5) | 100.00% (6/6) |
src/libraries/SettlementGuard.sol | 56.25% (9/16) | 68.18% (15/22) | 100.00% (4/4) | 100.00% (5/5) |
src/libraries/VaultReserve.sol | 0.00% (0/4) | 0.00% (0/4) | 100.00% (0/0) | 100.00% (2/2) |
src/libraries/math/Encoded.sol | 0.00% (0/8) | 0.00% (0/9) | 100.00% (0/0) | 85.71% (6/7) |
src/libraries/math/ParametersHelper.sol | 100.00% (3/3) | 100.00% (3/3) | 100.00% (1/1) | 100.00% (2/2) |
src/libraries/math/UnsafeMath.sol | 0.00% (0/2) | 0.00% (0/2) | 100.00% (0/0) | 100.00% (2/2) |
src/pool-bin/BinPoolManager.sol | 96.77% (90/93) | 96.43% (108/112) | 84.62% (11/13) | 87.50% (14/16) |
src/pool-bin/BinPoolManagerOwner.sol | 100.00% (8/8) | 100.00% (9/9) | 100.00% (1/1) | 100.00% (7/7) |
src/pool-bin/libraries/BinHelper.sol | 89.66% (78/87) | 91.60% (109/119) | 75.00% (12/16) | 100.00% (9/9) |
src/pool-bin/libraries/BinHooks.sol | 90.54% (67/74) | 91.67% (77/84) | 72.73% (16/22) | 100.00% (11/11) |
src/pool-bin/libraries/BinPool.sol | 96.53% (139/144) | 96.53% (167/173) | 93.33% (28/30) | 100.00% (16/16) |
src/pool-bin/libraries/BinPoolParametersHelper.sol | 100.00% (2/2) | 100.00% (3/3) | 100.00% (0/0) | 100.00% (2/2) |
src/pool-bin/libraries/BinPosition.sol | 33.33% (4/12) | 38.46% (5/13) | 100.00% (0/0) | 100.00% (4/4) |
src/pool-bin/libraries/FeeHelper.sol | 100.00% (8/8) | 100.00% (12/12) | 100.00% (0/0) | 100.00% (3/3) |
src/pool-bin/libraries/PriceHelper.sol | 100.00% (10/10) | 100.00% (21/21) | 100.00% (0/0) | 100.00% (6/6) |
src/pool-bin/libraries/math/BitMath.sol | 8.77% (5/57) | 12.90% (8/62) | 0.00% (0/16) | 100.00% (4/4) |
src/pool-bin/libraries/math/LiquidityConfigurations.sol | 84.62% (11/13) | 89.47% (17/19) | 100.00% (1/1) | 100.00% (3/3) |
src/pool-bin/libraries/math/PackedUint128Math.sol | 65.62% (21/32) | 76.79% (43/56) | 100.00% (2/2) | 86.67% (13/15) |
src/pool-bin/libraries/math/SafeCast.sol | 94.29% (33/35) | 49.25% (33/67) | 0.00% (0/32) | 100.00% (33/33) |
src/pool-bin/libraries/math/TreeMath.sol | 100.00% (82/82) | 100.00% (101/101) | 100.00% (16/16) | 100.00% (7/7) |
src/pool-bin/libraries/math/Uint128x128Math.sol | 34.72% (25/72) | 31.00% (31/100) | 17.24% (5/29) | 100.00% (2/2) |
src/pool-bin/libraries/math/Uint256x256Math.sol | 78.05% (32/41) | 84.21% (48/57) | 100.00% (9/9) | 100.00% (8/8) |
src/pool-cl/CLPoolManager.sol | 97.10% (67/69) | 93.41% (85/91) | 80.00% (8/10) | 86.67% (13/15) |
src/pool-cl/CLPoolManagerOwner.sol | 100.00% (5/5) | 100.00% (5/5) | 100.00% (0/0) | 100.00% (5/5) |
src/pool-cl/libraries/BitMath.sol | 18.18% (2/11) | 18.18% (2/11) | 0.00% (0/4) | 100.00% (2/2) |
src/pool-cl/libraries/CLHooks.sol | 91.30% (63/69) | 93.75% (75/80) | 78.26% (18/23) | 100.00% (9/9) |
src/pool-cl/libraries/CLPool.sol | 96.36% (106/110) | 96.46% (109/113) | 94.44% (34/36) | 100.00% (8/8) |
src/pool-cl/libraries/CLPoolGetters.sol | 100.00% (3/3) | 100.00% (3/3) | 100.00% (0/0) | 100.00% (3/3) |
src/pool-cl/libraries/CLPoolParametersHelper.sol | 100.00% (2/2) | 100.00% (3/3) | 100.00% (0/0) | 100.00% (2/2) |
src/pool-cl/libraries/CLPosition.sol | 59.09% (13/22) | 64.00% (16/25) | 100.00% (4/4) | 100.00% (3/3) |
src/pool-cl/libraries/FullMath.sol | 68.97% (20/29) | 72.73% (24/33) | 33.33% (2/6) | 100.00% (2/2) |
src/pool-cl/libraries/LiquidityMath.sol | 0.00% (0/4) | 0.00% (0/4) | 0.00% (0/1) | 100.00% (1/1) |
src/pool-cl/libraries/SqrtPriceMath.sol | 60.42% (29/48) | 69.84% (44/63) | 58.33% (7/12) | 100.00% (9/9) |
src/pool-cl/libraries/SwapMath.sol | 80.77% (21/26) | 81.48% (22/27) | 100.00% (6/6) | 100.00% (2/2) |
src/pool-cl/libraries/Tick.sol | 79.17% (38/48) | 81.48% (44/54) | 100.00% (10/10) | 100.00% (6/6) |
src/pool-cl/libraries/TickBitmap.sol | 40.00% (12/30) | 50.00% (18/36) | 66.67% (2/3) | 100.00% (4/4) |
src/pool-cl/libraries/TickMath.sol | 30.00% (36/120) | 48.80% (81/166) | 95.83% (23/24) | 100.00% (4/4) |
src/types/BalanceDelta.sol | 0.00% (0/2) | 0.00% (0/2) | 100.00% (0/0) | 100.00% (2/2) |
src/types/BeforeSwapDelta.sol | 0.00% (0/2) | 0.00% (0/2) | 100.00% (0/0) | 100.00% (2/2) |
src/types/Currency.sol | 59.09% (13/22) | 70.00% (21/30) | 75.00% (6/8) | 100.00% (6/6) |
src/types/PoolId.sol | 0.00% (0/1) | 0.00% (0/1) | 100.00% (0/0) | 100.00% (1/1) |
by the way, should we consider adding tests so that test coverage on funs reaches 100% ?
This PR will support
forge coverage --ir-minimum
in CI (to run during PR).In order to ensure forge coverage report is generated, all tests have to be passing, thus the changes are as folllows:
Changes:
as
forge coverage --ir-minimum
will cause the bytecode to exceed24576
, this PR update to only revert iffoundry_profile
is set (so its only on CIforge test
job)removed
noIsolateTest
-- as it will fail withforge coverage --ir-minimum
-- however this means that dev have to be aware to runforge test --isolate
and notforge test
include
coverage.yaml
which runsforge coverage --ir-minimum
and post the comment in this PR