[CLD-1916]: fix(evm): port state load evm funcs#9
Conversation
There was a problem hiding this comment.
Pull request overview
Ports EVM “state loading” helpers for MCMS-with-Timelock deployments from the Chainlink repo into this codebase, and introduces initial unit tests around address filtering and basic error cases.
Changes:
- Added EVM state loading helpers:
MaybeLoadMCMSWithTimelockStateWithQualifier,MaybeLoadMCMSWithTimelockChainState, andGetAddressTypeVersionByQualifier. - Added Go bindings dependency (
ccip-owner-contracts) and directgo-ethereumdependency for address handling. - Added unit tests for qualifier filtering and a couple of MCMS bundle validation scenarios.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/family/evm/state.go | Adds new EVM state-loading functions and address filtering helper. |
| pkg/family/evm/state_test.go | Adds tests for address filtering and partial MCMS chain-state loading behavior. |
| pkg/contract/version.go | Introduces Version1_0_0 constant used by the new EVM logic. |
| pkg/contract/contract.go | Adds MCMS role constants used as labels. |
| go.mod / go.sum | Adds required dependencies for EVM bindings and address parsing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1bfd61f to
597c8a0
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
597c8a0 to
be5ca6c
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
efd52db to
bbb5e19
Compare
be5ca6c to
dc0d36b
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Porting over these from Chainlink repo - MaybeLoadMCMSWithTimelockStateWithQualifier - MaybeLoadMCMSWithTimelockChainState JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916
dc0d36b to
76c4335
Compare
|
|
||
| // maybeLoadMCMSWithTimelockChainState loads MCMSWithTimelockState from Datastore address refs. | ||
| func maybeLoadMCMSWithTimelockChainState(refs []datastore.AddressRef) (*MCMSWithTimelockState, error) { | ||
| // MaybeLoadMCMSWithTimelockChainState loads MCMSWithTimelockState from Datastore address refs. |
There was a problem hiding this comment.
exporting this so it can be used outside this package for other changesets
Porting over these from Chainlink repo - MaybeLoadMCMSWithTimelockStateWithQualifier - MaybeLoadMCMSWithTimelockChainState JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916
🤖 I have created a release *beep* *boop* --- ## [0.1.0](cld-changesets-v0.0.1...cld-changesets-v0.1.0) (2026-05-06) ### Features * add "catalog create chain metadata" changeset ([#36](#36)) ([c12bb51](c12bb51)) * add catalog create contract metadata changeset ([#27](#27)) ([8ec1cbc](8ec1cbc)) * add CRE workflow deploy changeset and operation ([#1](#1)) ([960fde1](960fde1)) * add target name param to cre deploy changeset ([#3](#3)) ([8b25662](8b25662)) * fund mcms pdas ([#22](#22)) ([821e542](821e542)) * **jobspec:** port jobspec changesets from chainlink ([#21](#21)) ([0ce3f74](0ce3f74)) * link token ([#30](#30)) ([07345c1](07345c1)) * **pkg:** add contract constants and Solana MCMS state loading ([#5](#5)) ([6a2bbee](6a2bbee)) * port BuildProposalFromBatchesV2 ([#24](#24)) ([28d53d7](28d53d7)) * port run changeset from chainlink ([#32](#32)) ([693922f](693922f)) * port solana grant role ([#33](#33)) ([7eca5be](7eca5be)) * port token approve ([#40](#40)) ([04130de](04130de)) * **port:** firedrill mcms with operations api refactor ([#25](#25)) ([6d9010c](6d9010c)) * **solana:** add SOL funding helpers for deployer transfers ([#19](#19)) ([63bebf8](63bebf8)) * **solana:** port over mcms pda loader ([#11](#11)) ([7170ddc](7170ddc)) ### Bug Fixes * **aptos:** move state load ([#8](#8)) ([de58102](de58102)) * **evm:** port state load evm funcs ([#9](#9)) ([99279f1](99279f1)) * **state:** restore addressbook usage ([#17](#17)) ([017cd5e](017cd5e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: app-token-issuer-ops-platform[bot] <275822481+app-token-issuer-ops-platform[bot]@users.noreply.github.com> Co-authored-by: James Kong <61834+jkongie@users.noreply.github.com>
Porting over these from Chainlink repo and added tests
JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916