feat: generate compressed states with anvil-1.6.0-5bcdddc0#846
feat: generate compressed states with anvil-1.6.0-5bcdddc0#846
Conversation
Test results185 tests 185 ✅ 17m 39s ⏱️ Results for commit 68c903d. ♻️ This comment has been updated with latest results. |
3620dea to
68c903d
Compare
|
Wouldn't it be better to wait when/if the PR is merged? |
|
@popzxc it would certainly be better if I had confidence the PR will get reviewed and merged soon. I am hopeful it will be at some point (and in some form), but this is blocking a few things including gateway integration. I don't want to put a rush on Paradigm to look at the PR -- well, it's not like we have leverage anyway. IMHO it's fine to use this random commit for now, but I could improve this PR slightly by moving this branch from my own fork to matterlabs/foundry (I would've done so from the start but I don't have write rights in that repo for some reason). The other option is to keep this PR as a draft for now and keep using uncompressed state for gateway integration. It will permanently impact history size but maybe that's still acceptable. |
|
Converting back into draft as after discussing internally we decided to go with the alternative approach in #837 for now. This PR will be resurrected once foundry PR is merged and makes it into nightly. |
## Summary Alternative to #846 that uses compressed `l1-state.json.gz` files with stable anvil. Just to be clear: the state format is not supported by anvil 1.5.1, so I updated scripts and guides to reflect that. This might affect development short-term as you can no longer spin-up anvil in a single command. L1 state was generated using matter-labs/zksync-os-scripts#11, which: * makes single-chain setup reuse the same L1 state as multichain * enables preserved historical states * updates v31 contract commit to latest in `draft-v31-with-zksync-os` branch Also includes minor refactoring of integration tests as I had to touch L1 initialization logic. <!-- Briefly explain what this PR does. What problem does it solve? --> <!-- If your change is *breaking* (semver-major), please UNCOMMENT and fill out the sections below. These are required for PRs whose title is marked as breaking via conventional commits (e.g. `feat!: ...`, `fix!: ...`). Make sure that the contents are _actually_ helpful for people who can be self-hosting our software. --> <!-- ## Breaking Changes - Who is affected? (e.g. protocol in general, EN users, main node) - What exactly is breaking? (changed DB schema or wiring protocol, added configs) - Are there migration steps required for consumers? - Links to any related docs / migration guides. ## Rollout Instructions - Order of operations (deploy backend, then clients, etc). - Monitoring / alerting to watch during rollout. - Rollback plan (what to revert, how to mitigate if things go wrong). --> --------- Co-authored-by: Anton Baliasnikov <aba@matterlabs.dev>
Summary
Alternative to #837 that uses custom anvil (temporarily)
L1 state was generated using matter-labs/zksync-os-scripts#8, which: