feat: Update ZkSync_SpokePool to support new L2 ZkStack L2AssetRouter#1190
feat: Update ZkSync_SpokePool to support new L2 ZkStack L2AssetRouter#1190nicholaspai wants to merge 20 commits intomasterfrom
Conversation
|
Test deployments with special |
| // are added, so that the total number of slots taken by this contract remains constant. Per-contract | ||
| // storage layout information can be found in storage-layouts/ | ||
| // This is at bottom of contract to make sure it's always at the end of storage. | ||
| uint256[999] private __gap; |
There was a problem hiding this comment.
does this need to be updated given that new vars are added?
There was a problem hiding this comment.
no because the new vars are constants or immutable so they don't add any storage slots
We need this code to finalize any withdrawals from ZkStack chains sent through the new `L2AssetRouter` contracts. See across-protocol/contracts#1190 for more details on L2 contract changes that will initiate these new withdrawals This PR is backwards compatible and can be merged today [test finalization can be seen here.](https://etherscan.io/tx/0x88f21e9730a6586155de9f8e46a8f82a78fde09193e3de3d48a783cf94c2dc41#eventlog)
There was a problem hiding this comment.
@fusmanii what's our current plan for deploying elastic chain (zksync-like) contracts? Do we need any config changes to foundry or?
There was a problem hiding this comment.
we have elastic chain deployment set up already, just need to install foundryup-zksync and it will pick up this config
This contract is designed to be used with ZkStack chains that migrate to the new [ZkGateway](https://forum.zknation.io/t/zip-6-prepare-zksync-for-zk-gateway/490#p-1247-changes-to-bridging-architecture-9) system. For example, this will be required for ZkSync (chain ID 324). The reason that I'm creating a new contract rather than updating the existing ZkSync_SpokePool is that I don't know yet whether currently supported (or future ones we plan to support) will use this new architecture or the current one, which might need to keep using ZkSync_SpokePool
Signed-off-by: Faisal Usmani <faisal.of.usmani@gmail.com>
b4319e6 to
a9af784
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
This contract is designed to be used with ZkStack chains that migrate to the new ZkGateway system. For example, this will be required for ZkSync (chain ID 324) and Lens.
I don't know yet whether currently supported ZkStack chains like Lens will use this new architecture or the current one. Therefore, to deploy hot fixes to Lens we would need to checkout an older commit and deploy that version of the ZkSync_SpokePool.The alternative is introducing a new contract, but I'd like to consolidate changes.Lens will be upgraded with ZkSync, according to the ZkSync team.