[CLD-1916]: feat(solana): port MaybeLoadMCMSWithTimelockState#12
[CLD-1916]: feat(solana): port MaybeLoadMCMSWithTimelockState#12graham-chainlink merged 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Ports Solana support for loading MCMS+Timelock deployment state across multiple chain selectors, aligning this repo’s Solana family helpers with the upstream Chainlink implementation.
Changes:
- Added
MaybeLoadMCMSWithTimelockState(env, chainSelectors)to load Solana MCMS+Timelock state per chain selector from the datastore. - Added unit tests covering empty inputs, multi-chain isolation, and invalid address error wrapping.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
pkg/family/solana/state.go |
Introduces the multi-chain state loader that iterates selectors and delegates to the existing per-chain loader. |
pkg/family/solana/state_test.go |
Adds test coverage for the new multi-chain loader and a local test environment helper. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
62574ba to
c5b44e0
Compare
There was a problem hiding this comment.
Pull request overview
Ports MaybeLoadMCMSWithTimelockState into the Solana family state helpers so callers can load MCMS+Timelock bindings for multiple Solana chain selectors from the environment datastore.
Changes:
- Added
MaybeLoadMCMSWithTimelockState(env, chainSelectors)to load per-chain Solana MCMS+Timelock state from datastore address refs. - Added unit tests covering empty input, per-chain isolation, and wrapped error behavior on invalid addresses.
- Added a small Solana test environment helper for constructing a
cldf.Environmentwith an in-memory datastore.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| pkg/family/solana/state.go | Adds multi-chain-selector state loader wrapper around MaybeLoadMCMSWithTimelockChainState. |
| pkg/family/solana/state_test.go | Adds tests for the new multi-chain loader and a helper to build a minimal Solana test environment. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Bring over [MaybeLoadMCMSWithTimelockState](https://github.com/smartcontractkit/chainlink/blob/7e663cb96847f78902ca9c61ae2b302931fd0434/deployment/common/changeset/state/solana.go#L170-L170) from chainlink repo JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916
c5b44e0 to
167ebad
Compare
There was a problem hiding this comment.
Pull request overview
Ports Solana MCMS-with-Timelock state-loading helpers (and supporting accessors) into this repo to load per-chain Solana deployment state from the datastore.
Changes:
- Added
MaybeLoadMCMSWithTimelockStateto loadMCMSWithTimelockStatefor multiple Solana chain selectors. - Added
MCMSWithTimelockProgramshelpers (GetStateFromType,SetState,RoleAccount) to read/write program/seed/account state by contract/role type. - Added comprehensive unit tests covering multi-chain loading and the new helper methods.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/family/solana/state.go | Adds multi-chain state loader and new MCMSWithTimelockPrograms helper methods. |
| pkg/family/solana/state_test.go | Adds tests for the new multi-chain loader and the helper methods. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Bring over MaybeLoadMCMSWithTimelockState from chainlink repo
JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1916