Skip to content

Conversation

@StanislavBreadless
Copy link
Contributor

What ❔

For the purposes of zksync os integration, we had to split GatewayCTMDeployer into multiple contracts.

Also, we had to adapt some of the scripts to work fine with the latest zksync os workflows

Why ❔

Is this a breaking change?

  • Yes
  • No

Operational changes

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.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

@StanislavBreadless StanislavBreadless changed the title Feat: split gw ctm deployer feat: split gw ctm deployer Jan 20, 2026
.await?;

let l1_da_validator_addr = get_l1_da_validator(&chain_config)
let l1_da_validator_addr = get_l1_da_validator(&chain_config, args.validium_type.clone())
Copy link
Contributor

Choose a reason for hiding this comment

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

it can be discoverable.
let's refactor the script as the next step

L1BatchCommitmentMode::Validium => {
let general_config = chain_config.get_general_config().await?;
match general_config.da_client_type().as_deref() {
// Use CLI param if provided, otherwise read from general config
Copy link
Contributor

Choose a reason for hiding this comment

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

You don't need to convert to string, for converting it to contracts

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm, I'll still need to match by string for the sake of chain_config.get_general_config().await?.da_client_type() working, I can only reduce code repetition by giving some common method to convert ValidiumTypeInternal to a string

}
} else {
let da_client_type = chain_config.get_general_config().await?.da_client_type();
// For Validium, use CLI param if provided, otherwise read from general config
Copy link
Contributor

Choose a reason for hiding this comment

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

You don't need to convert to string, for converting it to contracts

@StanislavBreadless
Copy link
Contributor Author

CI is not worse than before, merging

@StanislavBreadless StanislavBreadless merged commit ea3c161 into draft-v31 Jan 26, 2026
24 of 31 checks passed
@StanislavBreadless StanislavBreadless deleted the sb/split-gw-ctm-deployer branch January 26, 2026 10:27
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