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

Granular MCMS optional CCIP chain contract changesets #15651

Conversation

connorwstein
Copy link
Contributor

@connorwstein connorwstein commented Dec 11, 2024

Replacing the add chain/add lane with more granular/flexible changesets which are MCMS optional. Flexibility is needed for when we want to test new chains/lanes via test router. Also moving towards a Validate(e deployment.Environment) error pattern to standardize (loading the state twice not a particularly big deal) and I added an ValidateOwnership function for general use with MCMS optional changesets.

Follow up work: replace AddLanes with a composition of chain contract changesets and add a AddNewChain test.

@connorwstein connorwstein changed the title Wip Granular MCMS optional chain contract changesets Dec 11, 2024
Copy link
Contributor

Flakeguard Summary

Ran new or updated tests between develop and 07b72d9 (CCIP-4567-granular-mcms-optional-changsets-for-chain-contracts).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestInitialAddChainAppliedTwice 66.67% false false false 3 2 1 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset false 1m58.276666666s @smartcontractkit/ccip, @smartcontractkit/core

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

Copy link
Contributor

github-actions bot commented Dec 11, 2024

AER Report: CI Core ran successfully ✅

aer_workflow , commit

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

@connorwstein connorwstein changed the title Granular MCMS optional chain contract changesets [WIP] Granular MCMS optional chain contract changesets Dec 11, 2024
@connorwstein connorwstein changed the title [WIP] Granular MCMS optional chain contract changesets [WIP] Granular MCMS optional CCIP chain contract changesets Dec 11, 2024
Copy link
Contributor

Flakeguard Summary

Ran new or updated tests between develop and 45a1cf1 (CCIP-4567-granular-mcms-optional-changsets-for-chain-contracts).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
Test_UpdateChainConfigs 0.00% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset false 23.186666666s @smartcontractkit/ccip, @smartcontractkit/core
Test_UpdateChainConfigs/MCMS_disabled 0.00% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset false 10.563333333s @smartcontractkit/ccip, @smartcontractkit/core
Test_UpdateChainConfigs/MCMS_enabled 0.00% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset false 12.616666666s @smartcontractkit/ccip, @smartcontractkit/core

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

},
}
}

type PromoteAllCandidatesChangesetConfig struct {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

made promote/add/setcandidate all support multiple DONs at once. Relevant for signer changes as an example

EncodableChainConifg chainconfig.ChainConfig
}

type UpdateChainConfigConfig struct {
Copy link
Contributor Author

@connorwstein connorwstein Dec 17, 2024

Choose a reason for hiding this comment

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

new changeset here for managing chain config. Parameterizing the readers in particular will allow us to test heterogeneous chain support

)

var (
_ deployment.ChangeSet[UpdateOnRampDestsConfig] = UpdateOnRampsDests
Copy link
Contributor Author

Choose a reason for hiding this comment

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

collectively these changesets allow for:

  • Adding/removing lanes and chains
  • Changing fee config
  • Promoting lanes to real router

@connorwstein connorwstein marked this pull request as ready for review December 18, 2024 16:29
@connorwstein connorwstein requested review from a team as code owners December 18, 2024 16:29
@connorwstein connorwstein requested a review from a team as a code owner December 18, 2024 16:29
@connorwstein connorwstein changed the title [WIP] Granular MCMS optional CCIP chain contract changesets Granular MCMS optional CCIP chain contract changesets Dec 18, 2024
_ deployment.ChangeSet[UpdateOffRampSourcesConfig] = UpdateOffRampSources
_ deployment.ChangeSet[UpdateRouterRampsConfig] = UpdateRouterRamps
_ deployment.ChangeSet[UpdateFeeQuoterDestsConfig] = UpdateFeeQuoterDests
_ deployment.ChangeSet[SetOCR3OffRampConfig] = SetOCR3OffRamp
Copy link
Contributor Author

Choose a reason for hiding this comment

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

note SetOCR3OffRamp technically has test coverage because its used in the env setup. Can add an explicit unit test in a follow up.

AnieeG
AnieeG previously approved these changes Dec 18, 2024
Copy link
Contributor

@AnieeG AnieeG left a comment

Choose a reason for hiding this comment

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

This looks great!! 👏

@connorwstein connorwstein added this pull request to the merge queue Dec 18, 2024
Merged via the queue into develop with commit e1b27f3 Dec 18, 2024
190 checks passed
@connorwstein connorwstein deleted the CCIP-4567-granular-mcms-optional-changsets-for-chain-contracts branch December 18, 2024 18:43
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.

3 participants