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

[Do not merge] example: create3 and create2 #179

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

ChefMist
Copy link
Collaborator

@ChefMist ChefMist commented Oct 2, 2024

Create3

For create3, it require a code change on our end, on places where Ownable(msg.sender).

In create3, the steps are as follow:

  1. deploy a minimal proxy contract
  2. proxy contract deploy contract via proxy.call{value: value}(creationCode)

Thus the owner is actually proxy contract, not Create3Factory.

thus to use create3, we will need

  1. deploy create3Factory on multiple chains
  2. update code from Ownable(msg.sender) to owner passed in constructor.

Create2

For create2, due to Ownable(msg.sender), the owner for Vault would be Create2Factory, thus we can't use publicly available create2Factory as we need to call transferOwnership.

thus to use create2, the steps are

  1. deploy create2Factory on multiple chains

@ChefMist ChefMist changed the title [Do not merge] example: create3 [Do not merge] example: create3 / create2 Oct 2, 2024
@ChefMist ChefMist changed the title [Do not merge] example: create3 / create2 [Do not merge] example: create3 Oct 2, 2024
@ChefMist ChefMist changed the title [Do not merge] example: create3 [Do not merge] example: create3 and create2 Oct 2, 2024
Copy link

github-actions bot commented Oct 2, 2024

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 75.00% (6/8) 75.00% (6/8) 100.00% (1/1) 100.00% (5/5)
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.81% (91/94) 96.46% (109/113) 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.50% (138/143) 96.49% (165/171) 93.10% (27/29) 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 57.14% (4/7) 62.50% (5/8) 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) 32.00% (32/100) 20.69% (6/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 81.25% (13/16) 84.21% (16/19) 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)

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.

1 participant