Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c0c1869
chore: remove all usages of DeployMCMSWithTimelockV2
ecPablo May 12, 2026
96acca4
Merge branch 'develop' into ecpablo/remove-deploy-mcms
ecPablo May 13, 2026
b92d867
fix: lint errors
ecPablo May 13, 2026
da9fbca
chore: remove internal deploy helpers
ecPablo May 13, 2026
95def7f
chore: go mods
ecPablo May 13, 2026
d247db2
Merge branch 'develop' into ecpablo/remove-deploy-mcms
ecPablo May 13, 2026
b0d2064
chore: go mods
ecPablo May 13, 2026
d9e2240
chore: remove propose.go usage to use cld-changesets
ecPablo May 14, 2026
ff16ff8
fix: pending migrations and lint fixes
ecPablo May 14, 2026
de29323
fix: unit tests
ecPablo May 14, 2026
f166e46
fix: unit tests
ecPablo May 14, 2026
5038fa6
fix: lint errors
ecPablo May 14, 2026
57ec906
fix: lint errors
ecPablo May 14, 2026
2b2a907
fix: lint errors
ecPablo May 14, 2026
68a9511
Merge branch 'develop' into ecpablo/remove-propose-utils
ecPablo May 14, 2026
4e590e3
Merge branch 'develop' into ecpablo/remove-propose-utils
ecPablo May 15, 2026
a67c3e9
fix: lint errors
ecPablo May 15, 2026
975a02e
Merge branch 'develop' into ecpablo/remove-propose-utils
ecPablo May 15, 2026
dfb306d
fix: lint errors
ecPablo May 15, 2026
674c74f
fix: lint errors
ecPablo May 15, 2026
01fb359
Merge branch 'develop' into ecpablo/remove-propose-utils
ecPablo May 15, 2026
3f6965c
fix: lint errors
ecPablo May 15, 2026
79adacd
chore: set config and transfer ownership.
ecPablo May 16, 2026
ad63378
fix: replace opsutils usages with opsevm
ecPablo May 18, 2026
e2e62c1
Merge branch 'develop' into ecpablo/remove-setcfg-transfer-ownership
ecPablo May 18, 2026
3c2a981
fix: merge conflicts with develop
ecPablo May 18, 2026
fe26a5b
Merge branch 'develop' into ecpablo/remove-setcfg-transfer-ownership
ecPablo May 18, 2026
a5b9332
fix: go mods
ecPablo May 18, 2026
ec87d90
fix: go mods
ecPablo May 18, 2026
76a951c
fix: go mods
ecPablo May 18, 2026
9639123
fix: linting errors
ecPablo May 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions core/scripts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ require (
github.com/andybalholm/brotli v1.2.0
github.com/avast/retry-go/v4 v4.7.0
github.com/c-bata/go-prompt v0.2.6
github.com/ethereum/go-ethereum v1.17.2
github.com/ethereum/go-ethereum v1.17.3
github.com/gkampitakis/go-snaps v0.5.19
github.com/google/go-cmp v0.7.0
github.com/google/uuid v1.6.0
Expand All @@ -46,7 +46,7 @@ require (
github.com/smartcontractkit/chainlink-common v0.11.2-0.20260518100439-9564f35fd264
github.com/smartcontractkit/chainlink-common/keystore v1.1.0
github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260518134832-b2e0f7199932
github.com/smartcontractkit/chainlink-deployments-framework v0.101.1
github.com/smartcontractkit/chainlink-deployments-framework v0.103.0
github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260512150409-b4068bf735e6
github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828
github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260514104516-a827acdffe43
Expand Down Expand Up @@ -117,7 +117,7 @@ require (
github.com/avast/retry-go/v5 v5.0.0 // indirect
github.com/awalterschulze/gographviz v2.0.3+incompatible // indirect
github.com/aws/aws-sdk-go v1.55.8 // indirect
github.com/aws/aws-sdk-go-v2 v1.41.4 // indirect
github.com/aws/aws-sdk-go-v2 v1.41.7 // indirect
github.com/aws/aws-sdk-go-v2/config v1.32.12 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.19.12 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 // indirect
Expand All @@ -134,7 +134,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 // indirect
github.com/aws/constructs-go/constructs/v10 v10.4.2 // indirect
github.com/aws/jsii-runtime-go v1.112.0 // indirect
github.com/aws/smithy-go v1.24.2 // indirect
github.com/aws/smithy-go v1.25.1 // indirect
github.com/bahlo/generic-list-go v0.2.0 // indirect
github.com/beevik/ntp v1.5.0 // indirect
github.com/benbjohnson/clock v1.3.5 // indirect
Expand Down Expand Up @@ -457,7 +457,7 @@ require (
github.com/rs/xid v1.6.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sagikazarmark/locafero v0.11.0 // indirect
github.com/samber/lo v1.52.0 // indirect
github.com/samber/lo v1.53.0 // indirect
github.com/sanity-io/litter v1.5.5 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect
Expand Down Expand Up @@ -515,10 +515,10 @@ require (
github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 // indirect
github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 // indirect
github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a // indirect
github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 // indirect
github.com/smartcontractkit/cld-changesets v0.4.0 // indirect
github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad // indirect
github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect
github.com/smartcontractkit/mcms v0.41.1 // indirect
github.com/smartcontractkit/mcms v0.43.0 // indirect
github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb // indirect
github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de // indirect
github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20251120172354-e8ec0386b06c // indirect
Expand Down
28 changes: 14 additions & 14 deletions core/scripts/go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
mcmschangesets "github.com/smartcontractkit/cld-changesets/legacy/mcms/changesets"
"github.com/stretchr/testify/require"

chainsel "github.com/smartcontractkit/chain-selectors"
Expand All @@ -20,11 +21,13 @@ import (
cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain"
cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils"

"github.com/smartcontractkit/chainlink/deployment"
commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset"
"github.com/smartcontractkit/chainlink/deployment/helpers/pointer"

solstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state"

"github.com/smartcontractkit/chainlink/deployment/ccip/changeset"
"github.com/smartcontractkit/chainlink/deployment/ccip/changeset/testhelpers"
"github.com/smartcontractkit/chainlink/deployment/ccip/changeset/testhelpers/v1_5"
Expand Down Expand Up @@ -394,8 +397,8 @@ func TestSetTokenTransferFeeConfig_EVM_V1_5_1_Only(t *testing.T) {
require.NoError(t, err)
env.Env, err = commonchangeset.Apply(t, env.Env,
commonchangeset.Configure(
cldf.CreateLegacyChangeSet(commonchangeset.TransferToMCMSWithTimelockV2),
commonchangeset.TransferToMCMSWithTimelockConfig{
cldf.CreateLegacyChangeSet(mcmschangesets.TransferToMCMSWithTimelockV2),
mcmschangesets.TransferToMCMSWithTimelockConfig{
ContractsByChain: map[uint64][]common.Address{
src: {state.MustGetEVMChainState(src).EVM2EVMOnRamp[dst].Address()},
dst: {state.MustGetEVMChainState(dst).EVM2EVMOnRamp[src].Address()},
Expand Down
7 changes: 4 additions & 3 deletions deployment/ccip/changeset/cs_grant_and_mint_link_token.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
opsevm "github.com/smartcontractkit/cld-changesets/pkg/family/evm/operations"

evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm"

Expand Down Expand Up @@ -101,7 +102,7 @@ func GrantMintRoleAndMintLogic(e cldf.Environment, cfg GrantMintRoleAndMintConfi
}
if owner == chain.DeployerKey.From {
// Grant deployer address mint/burn access on the LINK_TOKEN
_, err := operations.ExecuteOperation(e.OperationsBundle, ccipops.GrantMintAndBurnRolesERC677Op, chain, opsutil.EVMCallInput[common.Address]{
_, err := operations.ExecuteOperation(e.OperationsBundle, ccipops.GrantMintAndBurnRolesERC677Op, chain, opsevm.EVMCallInput[common.Address]{
Address: linkState.LinkToken.Address(),
ChainSelector: chain.ChainSelector(),
CallInput: chain.DeployerKey.From,
Expand Down Expand Up @@ -234,9 +235,9 @@ func GrantMintRoleLogic(e cldf.Environment, input GrantMintRoleInput) (cldf.Chan
}

func (input GrantMintRoleInput) ToSequenceInput(state stateview.CCIPOnChainState) ccipseqs.GrantMintRoleSeqInp {
updates := make(map[uint64]opsutil.EVMCallInput[common.Address], len(input.GrantMintRoleByChain))
updates := make(map[uint64]opsevm.EVMCallInput[common.Address], len(input.GrantMintRoleByChain))
for chainSel, cfg := range input.GrantMintRoleByChain {
updates[chainSel] = opsutil.EVMCallInput[common.Address]{
updates[chainSel] = opsevm.EVMCallInput[common.Address]{
ChainSelector: chainSel,
Address: state.Chains[chainSel].LinkToken.Address(),
CallInput: cfg.ToAddress,
Expand Down
33 changes: 32 additions & 1 deletion deployment/ccip/changeset/cs_orchestrate_changesets.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (

cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils"
tonstate "github.com/smartcontractkit/chainlink-ton/deployment/state"

"github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview"
)
Expand Down Expand Up @@ -156,7 +157,7 @@ func orchestrateChangesetsLogic(e cldf.Environment, c OrchestrateChangesetsConfi
MCMSEVMState: evmMCMSState,
MCMSSolanaState: state.SolanaMCMSStateByChain(e),
MCMSAptosState: state.AptosMCMSStateByChain(),
MCMSTONState: tonMCMSState,
MCMSTONState: tonMCMSStateForProposalutils(tonMCMSState), // TODO: update once ton state is moved to cld-changesets.
},
finalOutput.MCMSTimelockProposals,
c.Description,
Expand Down Expand Up @@ -218,3 +219,33 @@ func MergeChangesetOutput(e cldf.Environment, dest *cldf.ChangesetOutput, src cl

return nil
}

// tonMCMSStateForProposalutils adapts chainlink-ton MCMS chain state into the
// proposalutils type expected by cld-changesets (AggregateProposalsV2, etc.).
// Remove once TON on-chain state is consolidated on a single type (NONEVM-3181).
func tonMCMSStateForProposalutils(in map[uint64]tonstate.MCMSChainState) map[uint64]cldfproposalutils.TonMCMSChainState {
out := make(map[uint64]cldfproposalutils.TonMCMSChainState, len(in))
for sel, st := range in {
out[sel] = tonMCMSChainStateForProposalutils(st)
}
return out
}

func tonMCMSChainStateForProposalutils(in tonstate.MCMSChainState) cldfproposalutils.TonMCMSChainState {
out := cldfproposalutils.TonMCMSChainState{
ByQualifier: make(map[string]*cldfproposalutils.TonMCMSSuiteState, len(in.ByQualifier)),
}
for q, suite := range in.ByQualifier {
if suite == nil {
out.ByQualifier[q] = nil
continue
}
out.ByQualifier[q] = &cldfproposalutils.TonMCMSSuiteState{
Proposer: suite.Proposer,
Canceller: suite.Canceller,
Bypasser: suite.Bypasser,
Timelock: suite.Timelock,
}
}
return out
}
7 changes: 4 additions & 3 deletions deployment/ccip/changeset/testhelpers/test_assertions.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"time"

"github.com/ethereum/go-ethereum/common"
mcmschangesets "github.com/smartcontractkit/cld-changesets/legacy/mcms/changesets"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/sync/errgroup"
Expand All @@ -22,8 +23,8 @@ import (

cldf_evm "github.com/smartcontractkit/chainlink-deployments-framework/chain/evm"
cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment"

"github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview"
commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset"
)

// SourceDestPair is represents a pair of source and destination chain selectors.
Expand Down Expand Up @@ -486,7 +487,7 @@ func AssertTimelockOwnership(
allContracts = append(allContracts, state.MustGetEVMChainState(chain).TestRouter.Address())
}
for _, contract := range allContracts {
owner, _, err := commonchangeset.LoadOwnableContract(contract, e.Env.BlockChains.EVMChains()[chain].Client)
owner, _, err := mcmschangesets.LoadOwnableContract(contract, e.Env.BlockChains.EVMChains()[chain].Client)
require.NoError(t, err)
require.Equal(t, state.MustGetEVMChainState(chain).Timelock.Address(), owner)
}
Expand All @@ -499,7 +500,7 @@ func AssertTimelockOwnership(
state.MustGetEVMChainState(e.HomeChainSel).CCIPHome.Address(),
state.MustGetEVMChainState(e.HomeChainSel).RMNHome.Address(),
} {
owner, _, err := commonchangeset.LoadOwnableContract(contract, e.Env.BlockChains.EVMChains()[e.HomeChainSel].Client)
owner, _, err := mcmschangesets.LoadOwnableContract(contract, e.Env.BlockChains.EVMChains()[e.HomeChainSel].Client)
require.NoError(t, err)
require.Equal(t, homeChainTimelockAddress, owner)
}
Expand Down
6 changes: 2 additions & 4 deletions deployment/ccip/changeset/testhelpers/test_environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ import (
ccipChangeSetSolanaV0_1_1 "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/solana_v0_1_1"
"github.com/smartcontractkit/chainlink/deployment/ccip/changeset/testhelpers/cciptesthelpertypes"
commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset"
"github.com/smartcontractkit/chainlink/deployment/common/proposalutils"
commontypes "github.com/smartcontractkit/chainlink/deployment/common/types"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/types"
)

Expand Down Expand Up @@ -780,10 +778,10 @@ func NewEnvironmentWithJobsAndContracts(t *testing.T, tEnv TestEnvironment) Depl
allChains = append(allChains, aptosChains...)
allChains = append(allChains, suiChains...)

mcmsCfg := make(map[uint64]commontypes.MCMSWithTimelockConfig)
mcmsCfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig)

for _, c := range e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilyEVM)) {
mcmsCfg[c] = proposalutils.SingleGroupTimelockConfig(t)
mcmsCfg[c] = cldftesthelpers.SingleGroupTimelockConfig(t)
}

tEnv.UpdateDeployedEnvironment(e)
Expand Down
Loading
Loading