[CLD-2462]: feat(deployment): new changeset output builder#1021
[CLD-2462]: feat(deployment): new changeset output builder#1021graham-chainlink wants to merge 1 commit into
Conversation
|
There was a problem hiding this comment.
Pull request overview
Adds a fluent OutputBuilder utility to the deployment package to simplify constructing ChangesetOutput, and to optionally build an MCMS timelock proposal when batch operations are provided.
Changes:
- Introduces
OutputBuilderwith chaining methods to set reports, batch operations, MCMS registry override, and timelock proposal input. - Implements optional per-chain batch op merging (
MergeBatchOpsPerChain) and filtering of empty batch ops. - Adds comprehensive unit tests covering success paths and error cases (nil datastore, invalid MCMS input, registry failures, per-chain deduping, merge behavior).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
deployment/output_builder.go |
Adds the OutputBuilder implementation, including batch-op filtering/merging and MCMS timelock proposal construction. |
deployment/output_builder_test.go |
Adds unit tests validating builder behavior, error handling, and batch-op merge/filter semantics. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
64fbc2f to
5c685ad
Compare
In deployment package, implemented an changeset output builder util which simplify how users can construct changeset output which also includes mcms proposals. JIRA: https://smartcontract-it.atlassian.net/browse/CLD-2462
5c685ad to
38b6d74
Compare
|
| } | ||
|
|
||
| proposal, err := mcms.NewTimelockProposalBuilder(). | ||
| SetVersion("v1"). |
There was a problem hiding this comment.
just courious, why is this version hardcoded?
There was a problem hiding this comment.
Because i dont think there is ever a v2. From the code
Version string `json:"version" validate:"required,oneof=v1"`





In deployment package, implemented an changeset output builder util which simplify how users can construct changeset output which also includes mcms proposals. This was taken from CCIP tooling api and refactored to suit CLDF.
JIRA: https://smartcontract-it.atlassian.net/browse/CLD-2462