Skip to content

[CLD-1916]: fix(evm): port state load evm funcs#9

Merged
graham-chainlink merged 1 commit intomainfrom
ggoh/cld-1916/evm-state-load
Apr 23, 2026
Merged

[CLD-1916]: fix(evm): port state load evm funcs#9
graham-chainlink merged 1 commit intomainfrom
ggoh/cld-1916/evm-state-load

Conversation

@graham-chainlink
Copy link
Copy Markdown
Collaborator

Porting over these from Chainlink repo and added tests

  • MaybeLoadMCMSWithTimelockStateWithQualifier
  • MaybeLoadMCMSWithTimelockChainState

JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916

@graham-chainlink graham-chainlink changed the title fix(evm): port state load evm funcs [CLD-1916]: fix(evm): port state load evm funcs Apr 22, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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, and GetAddressTypeVersionByQualifier.
  • Added Go bindings dependency (ccip-owner-contracts) and direct go-ethereum dependency 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.

Comment thread pkg/family/evm/state_test.go
Comment thread pkg/family/evm/state.go
Comment thread pkg/family/evm/state.go Outdated
Comment thread pkg/family/evm/state.go Outdated
Comment thread pkg/family/evm/state.go Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

Comment thread pkg/family/evm/state.go Outdated
Comment thread pkg/family/evm/state.go
Comment thread pkg/family/evm/state_test.go
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

Comment thread pkg/family/evm/state.go
ecPablo
ecPablo previously approved these changes Apr 22, 2026
@graham-chainlink graham-chainlink force-pushed the ggoh/cld-1916/aptos-state-load branch 7 times, most recently from efd52db to bbb5e19 Compare April 22, 2026 14:39
Base automatically changed from ggoh/cld-1916/aptos-state-load to main April 22, 2026 14:44
@graham-chainlink graham-chainlink dismissed ecPablo’s stale review April 22, 2026 14:44

The base branch was changed.

@graham-chainlink graham-chainlink force-pushed the ggoh/cld-1916/evm-state-load branch from be5ca6c to dc0d36b Compare April 23, 2026 00:23
@graham-chainlink graham-chainlink marked this pull request as ready for review April 23, 2026 00:24
@graham-chainlink graham-chainlink requested a review from a team as a code owner April 23, 2026 00:24
Copilot AI review requested due to automatic review settings April 23, 2026 00:24
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

Comment thread pkg/family/evm/state_test.go
Porting over these from Chainlink repo
- MaybeLoadMCMSWithTimelockStateWithQualifier
- MaybeLoadMCMSWithTimelockChainState

JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916
@graham-chainlink graham-chainlink force-pushed the ggoh/cld-1916/evm-state-load branch from dc0d36b to 76c4335 Compare April 23, 2026 00:34

// maybeLoadMCMSWithTimelockChainState loads MCMSWithTimelockState from Datastore address refs.
func maybeLoadMCMSWithTimelockChainState(refs []datastore.AddressRef) (*MCMSWithTimelockState, error) {
// MaybeLoadMCMSWithTimelockChainState loads MCMSWithTimelockState from Datastore address refs.
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

exporting this so it can be used outside this package for other changesets

@graham-chainlink graham-chainlink enabled auto-merge (squash) April 23, 2026 00:35
@graham-chainlink graham-chainlink merged commit 99279f1 into main Apr 23, 2026
10 checks passed
@graham-chainlink graham-chainlink deleted the ggoh/cld-1916/evm-state-load branch April 23, 2026 01:22
ecPablo pushed a commit that referenced this pull request Apr 27, 2026
Porting over these from Chainlink repo
- MaybeLoadMCMSWithTimelockStateWithQualifier
- MaybeLoadMCMSWithTimelockChainState

JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916
jkongie added a commit that referenced this pull request May 6, 2026
🤖 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>
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