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: support legacy zkevm-node and new zkevm sequence senders and aggregators #234

Draft
wants to merge 98 commits into
base: main
Choose a base branch
from

Conversation

leovct
Copy link
Member

@leovct leovct commented Aug 21, 2024

Description

In #193, we introduced cdk-node as the default sequence sender / aggregator component for the CDK stack. In this effort, we removed support for the legacy zkevm-node sequence sender and aggregator as well as the new zkevm components, zkevm-sequence-sender and zkevm-aggregator. However, this is something we still need to test.

This PR introduces a new flag sequence_sender_aggregator_type to specify the type of sequence sender and aggregator to deploy. There are 3 options:

The following diagram describes what kurtosis-cdk currently deploys (only for the central environment).

current-cdk

And the following diagram represents what kurtosis-cdk will be able to deploy with this new change.

new-cdk

The deploy workflow has been updated to test different scenarios listed under .github/tests. For example, the scenario erigon-sequencer-cdk-stack-cdk-validium-da.yml will deploy a devnet with an L1 and a CDK L2 with erigon as the sequencer, the cdk-node as the sequence sender / aggregator and the chain will be a CDK validium.

$ ls -l .github/tests
total 48
-rw-r--r--  1 leovct  staff  126 Aug 27 09:49 additional-services.yml
-rw-r--r--  1 leovct  staff  172 Aug 27 10:28 erigon-sequencer-cdk-stack-cdk-validium-da.yml
-rw-r--r--  1 leovct  staff  178 Aug 27 10:31 erigon-sequencer-new-zkevm-stack-cdk-validium-da.yml
-rw-r--r--  1 leovct  staff   43 Aug 27 10:33 gas-token.yml
-rw-r--r--  1 leovct  staff  180 Aug 27 10:29 legacy-zkevm-stack-cdk-validium-da.yml
-rw-r--r--  1 leovct  staff  174 Aug 27 10:29 legacy-zkevm-stack-rollup-da.yml

References (if applicable)

https://0xpolygon.slack.com/archives/C06M06XR5A4/p1724233695796189

@leovct leovct marked this pull request as ready for review August 21, 2024 18:36
@leovct leovct requested a review from a team August 21, 2024 18:37
jhkimqd
jhkimqd previously approved these changes Aug 22, 2024
Copy link
Collaborator

@jhkimqd jhkimqd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally and lgtm.
Might be worth noting somewhere that the legacy configs may not work with CDK-Erigon configs. e.g. aggregator_sequence_sender_type and sequencer_type had to be both zkevm to work on my test.

@leovct
Copy link
Member Author

leovct commented Aug 22, 2024

Tested locally and lgtm. Might be worth noting somewhere that the legacy configs may not work with CDK-Erigon configs. e.g. aggregator_sequence_sender_type and sequencer_type had to be both zkevm to work on my test.

I think we should aim to cover scenarios 1, 2, 4, 7 and 8. I updated the CI jobs to test that.

Screenshot 2024-08-22 at 11 17 07

@leovct
Copy link
Member Author

leovct commented Aug 22, 2024

This PR also cleans up some parts of the CDK central environment (e.g. how sequencer is deployed, how aggregator / sequence sender is deployed, etc.). The central RPC deployed will be of the same type as the sequencer. For example, if sequencer_type is equal to erigon, it will automatically deploy a cdk-erigon-node rpc. Same thing if sequencer_type is equal to zkevm, it will deploy a zkevm-node rpc.

@leovct leovct force-pushed the feat/support-legacy-aggregator-and-sequence-sender branch from 62f6b8a to 5aa6671 Compare August 28, 2024 10:43
@leovct leovct changed the title feat: support legacy aggregator and sequence sender feat: support new zkevm aggregator and sequence sender Aug 28, 2024
@leovct leovct changed the title feat: support new zkevm aggregator and sequence sender feat: support legacy zkevm-node and new zkevm sequence senders and aggregators Aug 28, 2024
@leovct
Copy link
Member Author

leovct commented Aug 28, 2024

Update before I leave for a few days: every scenario work except the one with cdk-erigon as the sequence and the new zkevm components (zkevm-sequence-sender and zkevm-aggregator). Batches are being virtualized but not verified. I tried to bump the images but it looks like there is still an issue with the aggregator.

https://github.com/0xPolygon/kurtosis-cdk/actions/runs/10601202150/job/29380486728?pr=234#step:6:1654

@leovct leovct mentioned this pull request Sep 2, 2024
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