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

Add modifyLiquidity script and call with ffi to check to test for accuracy #702

Merged
merged 17 commits into from
May 26, 2024

Conversation

snreynolds
Copy link
Member

@snreynolds snreynolds commented May 23, 2024

Related Issue

Which issue does this pull request resolve?
Testing function accuracy (modifyLiquidity)

Description of changes

Sets up ffi infra for modifyLiquidity - should be able to use the same getModifyLiquidityResult.ts for additional add/remove tests.

TODO (Will do in future PR to keep small)
Check the fee returns.
Check removeLiquidity.
Check multiple add or removes.
Check for more granular accuracy - can we get less than ONE_PIP error?
Fix CI for the new v3-sdk dependency.
Add docs to README.

To run tests now:
install just
cd test/js-scripts
npm i
Then run from main directory:
foundryup
just test

Copy link

socket-security bot commented May 23, 2024

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@uniswap/v3-sdk@3.11.2 environment Transitive: eval, filesystem, network, shell, unsafe +284 193 MB uniswap-labs-service-account
npm/esbuild@0.21.3 environment, filesystem, network, shell +23 226 MB evanw

View full report↗︎

Copy link

github-actions bot commented May 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 100.00% (0/0) 100.00% (0/0) 100.00% (0/0) 100.00% (3/3)
src/Exttload.sol 100.00% (0/0) 100.00% (0/0) 100.00% (0/0) 50.00% (1/2)
src/NoDelegateCall.sol 100.00% (3/3) 100.00% (5/5) 100.00% (2/2) 100.00% (3/3)
src/PoolManager.sol 100.00% (83/83) 98.25% (112/114) 94.12% (32/34) 100.00% (17/17)
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% (4/4) 100.00% (6/6) 100.00% (0/0) 100.00% (3/3)
src/libraries/CustomRevert.sol 100.00% (0/0) 100.00% (0/0) 100.00% (0/0) 100.00% (6/6)
src/libraries/FullMath.sol 100.00% (28/28) 100.00% (32/32) 100.00% (8/8) 100.00% (2/2)
src/libraries/Hooks.sol 100.00% (77/77) 100.00% (139/139) 100.00% (56/56) 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% (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/ParseBytes.sol 100.00% (3/3) 100.00% (3/3) 100.00% (0/0) 100.00% (3/3)
src/libraries/Pool.sol 99.35% (153/154) 99.42% (170/171) 96.51% (83/86) 100.00% (13/13)
src/libraries/Position.sol 100.00% (11/11) 100.00% (12/12) 100.00% (4/4) 100.00% (2/2)
src/libraries/ProtocolFeeLibrary.sol 100.00% (4/4) 100.00% (6/6) 100.00% (0/0) 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% (10/10) 100.00% (26/26) 100.00% (10/10) 100.00% (6/6)
src/libraries/SqrtPriceMath.sol 100.00% (37/37) 100.00% (53/53) 82.35% (14/17) 100.00% (9/9)
src/libraries/StateLibrary.sol 100.00% (65/65) 100.00% (94/94) 100.00% (4/4) 100.00% (14/14)
src/libraries/SwapMath.sol 100.00% (22/22) 100.00% (24/24) 100.00% (6/6) 100.00% (2/2)
src/libraries/TickBitmap.sol 100.00% (17/17) 100.00% (23/23) 100.00% (3/3) 100.00% (4/4)
src/libraries/TickMath.sol 100.00% (95/95) 100.00% (140/140) 100.00% (43/43) 100.00% (4/4)
src/libraries/TransientStateLibrary.sol 88.89% (8/9) 85.71% (12/14) 100.00% (0/0) 75.00% (3/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/BeforeSwapDelta.sol 100.00% (2/2) 100.00% (2/2) 100.00% (0/0) 100.00% (2/2)
src/types/Currency.sol 100.00% (12/12) 94.12% (16/17) 100.00% (8/8) 100.00% (6/6)
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 85.69% (1479/1726) 85.65% (1988/2321) 62.29% (517/830) 79.28% (352/444)

snreynolds and others added 3 commits May 23, 2024 19:04
* bundle typescript into javascript files

* remove unused imports

* adjust just file
Copy link

socket-security bot commented May 24, 2024

👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring: npm/esbuild@0.21.3

View full report↗︎

Next steps

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/foo@1.0.0 or ignore all packages with @SocketSecurity ignore-all

@gretzke
Copy link
Contributor

gretzke commented May 24, 2024

@SocketSecurity ignore npm/esbuild@0.21.3

@gretzke gretzke requested a review from hensha256 May 24, 2024 21:46
@Uniswap Uniswap deleted a comment from ANNOUCEMENT43 May 26, 2024
hensha256
hensha256 previously approved these changes May 26, 2024
@hensha256 hensha256 enabled auto-merge (squash) May 26, 2024 23:16
@hensha256 hensha256 merged commit 6e6ce35 into main May 26, 2024
6 checks passed
@hensha256 hensha256 deleted the ffi-liq branch May 26, 2024 23:20
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.

4 participants