Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove indexed modifier from select fields #595

Merged
merged 3 commits into from
Apr 25, 2024
Merged

Conversation

codyborn
Copy link
Contributor

Description of changes

Saves ~100 gas on Swaps and Pool creation.

Removes the indexed modifier from the sender in the Swap event. This field is important for wallet providers but they will already have the transaction hash when sent by the user, which they can use to track the state change from this user.

Removes the indexed modifier from the id in the Initialize event. It doesn't make sense to index on this field since this is the first time that the PoolId will be created. Future events (Swap/ModifyLiquidity) can be filtered on this PoolId, but no one would be aware of the PoolId until the Initialize event is emitted.

Copy link

github-actions bot commented Apr 23, 2024

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 0.00% (0/3) 0.00% (0/4) 100.00% (0/0) 0.00% (0/2)
src/NoDelegateCall.sol 100.00% (3/3) 100.00% (5/5) 100.00% (2/2) 100.00% (3/3)
src/PoolManager.sol 94.12% (80/85) 92.44% (110/119) 96.67% (29/30) 82.14% (23/28)
src/ProtocolFees.sol 100.00% (20/20) 97.06% (33/34) 91.67% (11/12) 100.00% (6/6)
src/libraries/BitMath.sol 100.00% (47/47) 100.00% (57/57) 100.00% (36/36) 100.00% (2/2)
src/libraries/CurrencyDelta.sol 100.00% (5/5) 100.00% (7/7) 100.00% (0/0) 100.00% (3/3)
src/libraries/CurrencySettleTake.sol 100.00% (8/8) 100.00% (7/7) 50.00% (2/4) 100.00% (2/2)
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% (42/42) 98.72% (77/78) 96.67% (29/30) 100.00% (15/15)
src/libraries/LPFeeLibrary.sol 100.00% (5/5) 100.00% (9/9) 100.00% (4/4) 100.00% (3/3)
src/libraries/LiquidityMath.sol 100.00% (2/2) 100.00% (1/1) 100.00% (1/1) 100.00% (1/1)
src/libraries/Lock.sol 100.00% (4/4) 100.00% (4/4) 100.00% (0/0) 100.00% (3/3)
src/libraries/NonZeroDeltaCount.sol 100.00% (6/6) 100.00% (6/6) 100.00% (0/0) 100.00% (3/3)
src/libraries/Pool.sol 99.32% (147/148) 98.12% (157/160) 94.44% (85/90) 100.00% (13/13)
src/libraries/PoolGetters.sol 100.00% (3/3) 100.00% (3/3) 100.00% (0/0) 100.00% (3/3)
src/libraries/Position.sol 100.00% (14/14) 100.00% (16/16) 100.00% (6/6) 100.00% (2/2)
src/libraries/ProtocolFeeLibrary.sol 100.00% (10/10) 100.00% (18/18) 100.00% (4/4) 100.00% (4/4)
src/libraries/Reserves.sol 100.00% (8/8) 100.00% (13/13) 100.00% (6/6) 100.00% (3/3)
src/libraries/SafeCast.sol 100.00% (8/8) 100.00% (14/14) 100.00% (8/8) 100.00% (4/4)
src/libraries/SqrtPriceMath.sol 100.00% (32/32) 98.48% (65/66) 83.33% (20/24) 100.00% (8/8)
src/libraries/SwapMath.sol 100.00% (23/23) 100.00% (30/30) 100.00% (12/12) 100.00% (1/1)
src/libraries/TickBitmap.sol 100.00% (19/19) 100.00% (34/34) 100.00% (6/6) 100.00% (3/3)
src/libraries/TickMath.sol 97.87% (92/94) 97.30% (144/148) 97.83% (45/46) 50.00% (2/4)
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/Currency.sol 100.00% (15/15) 91.67% (22/24) 80.00% (8/10) 100.00% (6/6)
src/types/PoolId.sol 100.00% (1/1) 100.00% (1/1) 100.00% (0/0) 100.00% (1/1)
Total 80.13% (1145/1429) 79.53% (1550/1949) 59.06% (453/767) 70.98% (247/348)

@hensha256
Copy link
Contributor

thank you!!
2 things

  • your commit needs to be signed for this repo! please can you remove your unsigned commit and replace it with a signed one?
  • please can you run forge fmt 🙏

@codyborn codyborn force-pushed the event_gas_optimizations branch from 5f81944 to 0e4fecb Compare April 24, 2024 16:55
@codyborn codyborn merged commit fa0de1c into main Apr 25, 2024
6 checks passed
@codyborn codyborn deleted the event_gas_optimizations branch April 25, 2024 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants