Skip to content

Conversation

@calebguy
Copy link
Collaborator

@calebguy calebguy commented Nov 18, 2025

Ticket

What does this PR do?

  • Summary:
    • Moves create-chain to a CLI
    • Updates call to RollupCreator.createRollup() to only pass required fields for Syndicate Appchains (no validators, batch posters, batch post manager, or fee token pricer)
    • Uses non-forked versions of v3.1.1 nitro contracts
    • Pass options from a config file like --config path_to_options.json
    • Generate example option configs with bun synd-cli <cmmd> init (bun synd-cli appchain create foundation init will write an example config file to options/foundation.json)
    • Pre-commit hook for formatting

Breaking changes?

  • Yes/No:
    • No

Anything interesting?

  • We can add any additional helpers here for deploying & maintaining appchains

How can this PR be tested?

  • bun synd-cli -h

@calebguy calebguy changed the title Feat/synd cli create chain synd-cli Nov 19, 2025
@calebguy calebguy marked this pull request as ready for review November 21, 2025 19:39
@calebguy calebguy changed the title synd-cli [ENG-2210][ENG-2200] synd-cli Nov 21, 2025
Copy link
Collaborator

@daniilrrr daniilrrr left a comment

Choose a reason for hiding this comment

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

lgtm

dumb q but are there any low time commitment/ "low-hanging fruit" approaches we could take to validating that create-chain works in CI and that a new PR hasn't broken it? Would prefer to know proactively if create-chain works vs finding out in a a deployment or from a customer. It doesn't have to be super comprehensive but even checking if things like if new lib/tooling/contract versions have broken something would be helpful to reduce the feedback loop

separate question - is there a release artifact that gets produced for synd-cli "releases" like we produce Docker containers for the other services? Maybe something like a bun executable? If so, I think we should have a Github action for that to create it as part of the release flow

functionName: "bridgeCreator"
})

// v3.1 - bridge, sequencerInbox, delayBufferableSequencerInbox, inbox, rollupEventInbox, outbox
Copy link
Collaborator

Choose a reason for hiding this comment

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

any way we can assert or unit test this ?

Copy link
Collaborator Author

@calebguy calebguy Nov 24, 2025

Choose a reason for hiding this comment

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

Will follow up with tests in an additional PR so this one does not get unwieldy, ty!

@calebguy
Copy link
Collaborator Author

calebguy commented Nov 21, 2025

lgtm

dumb q but are there any low time commitment/ "low-hanging fruit" approaches we could take to validating that create-chain works in CI and that a new PR hasn't broken it? Would prefer to know proactively if create-chain works vs finding out in a a deployment or from a customer. It doesn't have to be super comprehensive but even checking if things like if new lib/tooling/contract versions have broken something would be helpful to reduce the feedback loop

separate question - is there a release artifact that gets produced for synd-cli "releases" like we produce Docker containers for the other services? Maybe something like a bun executable? If so, I think we should have a Github action for that to create it as part of the release flow

Yup totally - We currently cover this with 2 GH actions. 1 to make sure the ABIs the CLI uses are up to date with the source code (similar to how we check the contract bindings for the portions of the stack where we utilize rust & go). & another that typechecks the CLI. If the ABIs are out of sync the first action fails. If the ABIs are in sync but the cli code hasn't been updated yet, the 2 action will fail. Added support for publishing builds in 4d600636!

Copy link
Contributor

@ericvelazquez ericvelazquez left a comment

Choose a reason for hiding this comment

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

🚢

@calebguy calebguy merged commit a11e855 into main Nov 24, 2025
13 checks passed
@calebguy calebguy deleted the feat/synd-cli-create-chain branch November 24, 2025 19:46
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.

5 participants