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

feat(l1): added missing foundry lib symlinks #741

Merged
merged 2 commits into from
Aug 28, 2024

Conversation

benceharomi
Copy link
Contributor

What ❔

Why ❔

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.

@benceharomi benceharomi changed the title feat: added foundry lib symlinks feat(l1): added foundry lib symlinks Aug 27, 2024
@StanislavBreadless
Copy link
Collaborator

@benceharomi this pr (#740) is more broad for making dev work with the server

@StanislavBreadless
Copy link
Collaborator

ah it actually introduces less symlinks...

@benceharomi
Copy link
Contributor Author

@StanislavBreadless I added all needed symlinks and also removed node_modules from the foundry config, because it was unknown whether some modules were imported from the the lib dir or from node_modules and it was too confusing.
It is better to use the lib deps for foundry and node_modules for harhdat.

@benceharomi
Copy link
Contributor Author

@benceharomi this pr (#740) is more broad for making dev work with the server

are the allow_paths and the fs_permissions actually required in the foundry.toml? For me both the build and tests worked without those.

Can you tell me where do we need them? @StanislavBreadless

@StanislavBreadless
Copy link
Collaborator

@benceharomi I believe these are needed to read the bytecodes of the l2 compiled contracts, such as l2standarderc20token impl

@StanislavBreadless
Copy link
Collaborator

for me personally tests did not run without those, but maybe there was a different reason

@benceharomi benceharomi changed the title feat(l1): added foundry lib symlinks feat(l1): added missing foundry lib symlinks Aug 28, 2024
Copy link

Coverage after merging bh/foundry-lib-symlinks into dev will be

86.38%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
contracts/bridge
   L1ERC20Bridge.sol81.82%80%75%83.87%62, 70, 70–71, 73–74
   L1SharedBridge.sol79.29%68.66%82.35%82.21%103–104, 111–112, 119, 119–120, 153–154, 162–163, 175–176, 178–179, 190, 190, 190–194, 194–195, 197, 202–204, 204–205, 207–209, 209–210, 212, 224, 233, 233–234, 393–394, 396–397, 528–529, 545–546, 556–557, 572–573, 669–670, 911, 916, 95–96
contracts/bridgehub
   Bridgehub.sol89.29%74.07%100%91.49%100–101, 112–113, 132–133, 155–156, 158–159, 332–333, 49, 63–64
contracts/common
   ReentrancyGuard.sol90%66.67%100%92.86%78–79
contracts/common/libraries
   L2ContractHelper.sol42.86%0%50%52.63%25–26, 31–32, 35–36, 50, 52, 52–53, 57, 57–58, 66
   SemVer.sol100%100%100%100%
   UncheckedMath.sol100%100%100%100%
   UnsafeBytes.sol100%100%100%100%
contracts/governance
   ChainAdmin.sol0%0%0%0%27, 27–28, 30, 32–33, 39–40, 47–48, 56, 56–57, 60, 62–63, 63, 66, 69, 78, 78–79, 81
   Governance.sol91.67%94.74%95%89.86%44, 44–45, 48, 50–51, 53–54
contracts/state-transition
   StateTransitionManager.sol59.48%35.71%50%65.42%101, 106–110, 116, 149–150, 152–153, 155–156, 158–159, 201, 203–204, 209, 211, 211–212, 215–217, 219–220, 255, 275, 289, 294, 299, 304, 309, 314, 319, 386, 386–387, 390, 455–456, 79, 92, 92–93
   TestnetVerifier.sol44.44%33.33%50%50%16, 16, 16, 32
   ValidatorTimelock.sol95.89%83.33%100%95.83%241, 82–83
   Verifier.sol89.88%35.71%96.30%90.93%1673–1674, 287–302, 305–308, 311–318, 321–328, 331–332, 335–336, 339, 384–385, 395–396, 406–407, 417–418, 428–429, 444–445, 454, 454–455, 904–905
contracts/state-transition/chain-deps
   DiamondInit.sol77.55%45.45%100%86.11%34–35, 37–38, 40–41, 43–44, 46–47, 71
   DiamondProxy.sol92.31%75%100%100%16, 27
contracts/state-transition/chain-deps/facets
   Admin.sol86.21%72.73%92.31%87.30%109, 109–110, 112–113, 178, 180, 83–84, 94–95
   Executor.sol82.04%63.41%84.38%87.90%137–138, 192, 197, 202, 207, 212, 217, 222, 227, 230–231, 235–236, 240–242, 244–245, 260–261, 280, 294–295, 361–362, 425, 447–449, 469, 48, 48–49, 519–520, 528–529, 549, 556–557, 57, 59, 59–60, 619, 62, 620, 63, 646–647, 696–697, 70, 700–701, 71, 74–75, 775
   Getters.sol92.08%100%90.24%93.10%153, 206, 72, 77
   Mailbox.sol100%100%100%100%
   ZkSyncHyperchainBase.sol92.86%85.71%100%92.86%55–56
contracts/state-transition/libraries
   Diamond.sol93.33%80.77%100%95.96%109–110, 113, 115, 117, 120, 198–199, 316
   LibMap.sol100%100%100%100%
   Merkle.sol100%100%100%100%
   PriorityQueue.sol100%100%100%100%
   TransactionValidator.sol94.44%88.24%100%96%66–67, 69–70
contracts/upgrades
   BaseZkSyncUpgrade.sol58.20%27.27%100%60.23%104, 104–105, 108, 111, 114–115, 126, 126–127, 130, 133, 136–137, 151–153, 171–173, 212–213, 215, 215–216, 232–233, 249–250, 252–253, 258–259, 259–260, 271–272, 278–279, 285–286, 293–294, 298–299, 308–309, 311–312, 75–76
   BaseZkSyncUpgradeGenesis.sol56.67%14.29%100%68.18%25, 25–26, 33–34, 40–41, 52–53, 62–63, 65–66
   DefaultUpgrade.sol100%100%100%100%
   GenesisUpgrade.sol100%100%100%100%
contracts/vendor
   AddressAliasHelper.sol100%100%100%100%

@benceharomi
Copy link
Contributor Author

for me personally tests did not run without those, but maybe there was a different reason

I leave those parts in, updated the PR accordingly.

Remaining changes:

  • added missing symlinks
  • removed node_modules from foundry libs

@StanislavBreadless StanislavBreadless merged commit f2d553b into dev Aug 28, 2024
20 checks passed
@StanislavBreadless StanislavBreadless deleted the bh/foundry-lib-symlinks branch August 28, 2024 12:17
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.

2 participants