Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import (
cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
"github.com/smartcontractkit/chainlink-deployments-framework/operations"

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

solana "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/solana_v0_1_0"
"github.com/smartcontractkit/chainlink/deployment/ccip/changeset/v1_6"
"github.com/smartcontractkit/chainlink/deployment/ccip/shared"
Expand Down Expand Up @@ -246,7 +248,7 @@ var (

type Dependencies struct {
Env cldf.Environment
EVMMCMSState map[uint64]commonstate.MCMSWithTimelockState
EVMMCMSState map[uint64]evmstate.MCMSWithTimelockState
SolanaMCMSState map[uint64]commonstate.MCMSWithTimelockStateSolana

changesetInput csInputs
Expand Down
4 changes: 3 additions & 1 deletion deployment/ccip/changeset/cs_grant_and_mint_link_token.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ import (
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"

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

cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
"github.com/smartcontractkit/chainlink-deployments-framework/operations"
evmstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state"

opsutil "github.com/smartcontractkit/chainlink/deployment/common/opsutils"
"github.com/smartcontractkit/chainlink/deployment/common/proposalutils"

Expand Down
7 changes: 4 additions & 3 deletions deployment/ccip/changeset/cs_orchestrate_changesets.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ import (

"github.com/ethereum/go-ethereum/common"
"github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"github.com/smartcontractkit/mcms"

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

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

Expand Down Expand Up @@ -68,7 +69,7 @@ type OrchestrateChangesetsConfig struct {
ChangeSets []WithConfig
}

func (c OrchestrateChangesetsConfig) EVMMCMSStateByChain(e cldf.Environment, s stateview.CCIPOnChainState) (map[uint64]state.MCMSWithTimelockState, error) {
func (c OrchestrateChangesetsConfig) EVMMCMSStateByChain(e cldf.Environment, s stateview.CCIPOnChainState) (map[uint64]evmstate.MCMSWithTimelockState, error) {
if c.MCMSOverridesForEVMChains == nil {
return s.EVMMCMSStateByChain(), nil
}
Expand Down Expand Up @@ -100,7 +101,7 @@ func (c OrchestrateChangesetsConfig) EVMMCMSStateByChain(e cldf.Environment, s s
return nil, fmt.Errorf("failed to create ManyChainMultiSig for ProposerMcm on chain %s: %w", chain, err)
}
}
evmState[chainSelector] = state.MCMSWithTimelockState{
evmState[chainSelector] = evmstate.MCMSWithTimelockState{
CancellerMcm: cancellerMcm,
BypasserMcm: bypasserMcm,
ProposerMcm: proposerMcm,
Expand Down
3 changes: 2 additions & 1 deletion deployment/ccip/shared/deployergroup/deployer_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"slices"
"strings"

evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"golang.org/x/sync/errgroup"

cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils"
Expand Down Expand Up @@ -587,5 +588,5 @@ func addressForChain(e cldf.Environment, selector uint64) (map[string]cldf.TypeA
}

func addressForChainFromDatastore(e cldf.Environment, selector uint64, qualifier string) (map[string]cldf.TypeAndVersion, error) {
return state.LoadAddressesFromDataStore(e.DataStore, selector, qualifier)
return evmstate.LoadAddressesFromDataStore(e.DataStore, selector, qualifier) //nolint:staticcheck // will be refactored once usages are removed
}
4 changes: 2 additions & 2 deletions deployment/ccip/shared/deployergroup/deployer_group_test.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"
chain_selectors "github.com/smartcontractkit/chain-selectors"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"github.com/stretchr/testify/require"
"k8s.io/utils/ptr"

Expand All @@ -23,7 +24,6 @@ import (
"github.com/smartcontractkit/chainlink/deployment/ccip/shared/deployergroup"
"github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview"
commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset"
commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state"
"github.com/smartcontractkit/chainlink/deployment/common/proposalutils"
commontypes "github.com/smartcontractkit/chainlink/deployment/common/types"
)
Expand Down Expand Up @@ -335,7 +335,7 @@ func TestDeployerGroupWithTimelockAddressQualifier(t *testing.T) {
// Delete the newly deployed MCMS addresses from addressbook so that the state loader does not pick them up
// otherwise the mcms state will throw an error for duplicate MCMS contracts
addressBookToDelete := cldf.NewMemoryAddressBook()
addressesToDelete, err := commonstate.LoadAddressesFromDataStore(e.Env.DataStore, chain, linktokenOwnerQualifier)
addressesToDelete, err := evmstate.LoadAddressesFromDataStore(e.Env.DataStore, chain, linktokenOwnerQualifier) //nolint:staticcheck // will be refactored once usages are removed
require.NoError(t, err)
for addr, tv := range addressesToDelete {
require.NoError(t, addressBookToDelete.Save(chain, addr, tv))
Expand Down
8 changes: 4 additions & 4 deletions deployment/ccip/shared/stateview/evm/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/smartcontractkit/ccip-contract-examples/chains/evm/gobindings/generated/1_6_1/proxy_admin"
"github.com/smartcontractkit/ccip-contract-examples/chains/evm/gobindings/generated/1_6_1/token_governor"
"github.com/smartcontractkit/ccip-contract-examples/chains/evm/gobindings/generated/1_6_1/transparent_upgradeable_proxy"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"golang.org/x/sync/errgroup"

chain_selectors "github.com/smartcontractkit/chain-selectors"
Expand Down Expand Up @@ -83,17 +84,16 @@ import (
"github.com/smartcontractkit/chainlink/deployment/ccip/view/v1_5_1"
"github.com/smartcontractkit/chainlink/deployment/ccip/view/v1_6"
"github.com/smartcontractkit/chainlink/deployment/ccip/view/v1_6_1"
"github.com/smartcontractkit/chainlink/deployment/common/changeset/state"
v1_1 "github.com/smartcontractkit/chainlink/deployment/common/view/v1_0"
"github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/types"
)

// CCIPChainState holds a Go binding for all the currently deployed CCIP contracts
// on a chain. If a binding is nil, it means there is no such contract on the chain.
type CCIPChainState struct {
state.MCMSWithTimelockState
state.LinkTokenState
state.StaticLinkTokenState
evmstate.MCMSWithTimelockState
evmstate.LinkTokenState
evmstate.StaticLinkTokenState
ABIByAddress map[string]string
OnRamp onramp.OnRampInterface
OffRamp offramp.OffRampInterface
Expand Down
17 changes: 9 additions & 8 deletions deployment/ccip/shared/stateview/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"github.com/smartcontractkit/ccip-contract-examples/chains/evm/gobindings/generated/1_6_1/transparent_upgradeable_proxy"
"github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers"
chain_selectors "github.com/smartcontractkit/chain-selectors"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"golang.org/x/exp/maps"
"golang.org/x/sync/errgroup"

Expand Down Expand Up @@ -377,11 +378,11 @@ func (c CCIPOnChainState) HomeChainSelector() (uint64, error) {
return 0, errors.New("no home chain found")
}

func (c CCIPOnChainState) EVMMCMSStateByChain() map[uint64]commonstate.MCMSWithTimelockState {
mcmsStateByChain := make(map[uint64]commonstate.MCMSWithTimelockState)
func (c CCIPOnChainState) EVMMCMSStateByChain() map[uint64]evmstate.MCMSWithTimelockState {
mcmsStateByChain := make(map[uint64]evmstate.MCMSWithTimelockState)
for _, chainSelector := range c.EVMChains() {
chain := c.MustGetEVMChainState(chainSelector)
mcmsStateByChain[chainSelector] = commonstate.MCMSWithTimelockState{
mcmsStateByChain[chainSelector] = evmstate.MCMSWithTimelockState{
CancellerMcm: chain.CancellerMcm,
BypasserMcm: chain.BypasserMcm,
ProposerMcm: chain.ProposerMcm,
Expand Down Expand Up @@ -994,7 +995,7 @@ func (c CCIPOnChainState) GetEVMChainState(env cldf.Environment, chainSelector u
}

func (c CCIPOnChainState) UpdateMCMSStateWithAddressFromDatastoreForChain(e cldf.Environment, selector uint64, qualifier string) error {
mcmsStateWithQualifier, err := commonstate.MaybeLoadMCMSWithTimelockStateDataStoreWithQualifier(e, []uint64{selector}, qualifier)
mcmsStateWithQualifier, err := evmstate.MaybeLoadMCMSWithTimelockStateDataStoreWithQualifier(e, []uint64{selector}, qualifier)
if err != nil {
return fmt.Errorf("failed to load mcms state from datastore with qualifier %s: %w", qualifier, err)
}
Expand Down Expand Up @@ -1088,18 +1089,18 @@ func LoadChainState(ctx context.Context, chain cldf_evm.Chain, addresses map[str
}

var state evm.CCIPChainState
mcmsWithTimelock, err := commonstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses)
mcmsWithTimelock, err := evmstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses)
if err != nil {
return state, err
}
state.MCMSWithTimelockState = *mcmsWithTimelock

linkState, err := commonstate.MaybeLoadLinkTokenChainState(chain, addresses)
linkState, err := evmstate.MaybeLoadLinkTokenChainState(chain, addresses)
if err != nil {
return state, err
}
state.LinkTokenState = *linkState
staticLinkState, err := commonstate.MaybeLoadStaticLinkTokenState(chain, addresses)
staticLinkState, err := evmstate.MaybeLoadStaticLinkTokenState(chain, addresses)
if err != nil {
return state, err
}
Expand Down Expand Up @@ -1788,7 +1789,7 @@ func ValidateChain(env cldf.Environment, state CCIPOnChainState, chainSel uint64
return fmt.Errorf("%s does not exist in state", chain)
}
if mcmsCfg != nil {
err = mcmsCfg.Validate(chain, commonstate.MCMSWithTimelockState{
err = mcmsCfg.Validate(chain, evmstate.MCMSWithTimelockState{
CancellerMcm: chainState.CancellerMcm,
ProposerMcm: chainState.ProposerMcm,
BypasserMcm: chainState.BypasserMcm,
Expand Down
6 changes: 4 additions & 2 deletions deployment/ccip/view/view.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import (

linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v1_0"

mcmsv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/mcms/view/v1_0"

"github.com/smartcontractkit/chainlink/deployment/ccip/view/aptos"
"github.com/smartcontractkit/chainlink/deployment/ccip/view/shared"
"github.com/smartcontractkit/chainlink/deployment/ccip/view/solana"
Expand Down Expand Up @@ -53,7 +55,7 @@ type ChainView struct {
// be more than one per env.
CCIPHome map[string]v1_6.CCIPHomeView `json:"ccipHome,omitempty"`
CapabilityRegistry map[string]common_v1_0.CapabilityRegistryView `json:"capabilityRegistry,omitempty"`
MCMSWithTimelock common_v1_0.MCMSWithTimelockView `json:"mcmsWithTimelock"`
MCMSWithTimelock mcmsv10.MCMSWithTimelockView `json:"mcmsWithTimelock"`
LinkToken linkviewv10.LinkTokenView `json:"linkToken"`
StaticLinkToken linkviewv10.StaticLinkTokenView `json:"staticLinkToken"`

Expand Down Expand Up @@ -83,7 +85,7 @@ func NewChain() ChainView {
OffRamp: make(map[string]v1_6.OffRampView),
CapabilityRegistry: make(map[string]common_v1_0.CapabilityRegistryView),
CCIPHome: make(map[string]v1_6.CCIPHomeView),
MCMSWithTimelock: common_v1_0.MCMSWithTimelockView{},
MCMSWithTimelock: mcmsv10.MCMSWithTimelockView{},
LinkToken: linkviewv10.LinkTokenView{},
StaticLinkToken: linkviewv10.StaticLinkTokenView{},
UpdateMu: &sync.Mutex{},
Expand Down
6 changes: 3 additions & 3 deletions deployment/common/changeset/deploy_link_token_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"testing"

chain_selectors "github.com/smartcontractkit/chain-selectors"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"github.com/stretchr/testify/require"

"github.com/smartcontractkit/chainlink-common/pkg/utils/tests"
Expand All @@ -13,7 +14,6 @@ import (
"github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime"

"github.com/smartcontractkit/chainlink/deployment/common/changeset"
commonState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state"
)

func TestDeployLinkToken(t *testing.T) {
Expand All @@ -35,7 +35,7 @@ func TestDeployLinkToken(t *testing.T) {
addrs, err := rt.State().AddressBook.AddressesForChain(selector)
require.NoError(t, err)

state, err := commonState.MaybeLoadLinkTokenChainState(chain, addrs)
state, err := evmstate.MaybeLoadLinkTokenChainState(chain, addrs)
require.NoError(t, err)

// View itself already unit tested
Expand Down Expand Up @@ -65,7 +65,7 @@ func TestDeployLinkTokenZk(t *testing.T) {
addrs, err := rt.State().AddressBook.AddressesForChain(selector)
require.NoError(t, err)

state, err := commonState.MaybeLoadLinkTokenChainState(chain, addrs)
state, err := evmstate.MaybeLoadLinkTokenChainState(chain, addrs)
require.NoError(t, err)

// View itself already unit tested
Expand Down
16 changes: 8 additions & 8 deletions deployment/common/changeset/deploy_mcms_with_timelock.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"sync"

"github.com/ethereum/go-ethereum/accounts/abi/bind"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
xerrgroup "golang.org/x/sync/errgroup"

cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils"
Expand All @@ -23,7 +24,6 @@ import (

evminternal "github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms"
solanaMCMS "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/mcms"
"github.com/smartcontractkit/chainlink/deployment/common/changeset/state"
"github.com/smartcontractkit/chainlink/deployment/common/opsutils"
"github.com/smartcontractkit/chainlink/deployment/common/proposalutils"
"github.com/smartcontractkit/chainlink/deployment/common/types"
Expand Down Expand Up @@ -124,8 +124,8 @@ func DeployMCMSWithTimelockV2(
// load mcms state with qualifier awareness
// we load the state one by one to avoid early return from MaybeLoadMCMSWithTimelockStateWithQualifier
// due to one of the chain not found
var chainstate *state.MCMSWithTimelockState
s, err := state.MaybeLoadMCMSWithTimelockStateWithQualifier(env, []uint64{chainSel}, qualifier)
var chainstate *evmstate.MCMSWithTimelockState
s, err := evmstate.MaybeLoadMCMSWithTimelockStateWithQualifier(env, []uint64{chainSel}, qualifier)
if err != nil {
// if the state is not found for chain, we assume it's a fresh deployment
// this includes "no addresses found" which is expected for new qualifiers
Expand Down Expand Up @@ -210,14 +210,14 @@ func grantRolePreconditions(e cldf.Environment, cfg GrantRoleInput) error {
}

// loads MCMS state for each chain using per-chain qualifiers from cfg.MCMS.TimelockQualifierPerChain when available
func loadMCMSStatePerChainWithQualifier(e cldf.Environment, cfg GrantRoleInput) (map[uint64]*state.MCMSWithTimelockState, error) {
result := make(map[uint64]*state.MCMSWithTimelockState)
func loadMCMSStatePerChainWithQualifier(e cldf.Environment, cfg GrantRoleInput) (map[uint64]*evmstate.MCMSWithTimelockState, error) {
result := make(map[uint64]*evmstate.MCMSWithTimelockState)
for selector := range cfg.ExistingProposerByChain {
qualifier := ""
if cfg.MCMS != nil && cfg.MCMS.TimelockQualifierPerChain != nil {
qualifier = cfg.MCMS.TimelockQualifierPerChain[selector]
}
chainState, err := state.MaybeLoadMCMSWithTimelockStateWithQualifier(e, []uint64{selector}, qualifier)
chainState, err := evmstate.MaybeLoadMCMSWithTimelockStateWithQualifier(e, []uint64{selector}, qualifier)
if err != nil {
return nil, err
}
Expand All @@ -231,7 +231,7 @@ func grantRoleLogic(e cldf.Environment, cfg GrantRoleInput) (cldf.ChangesetOutpu
if err != nil {
return cldf.ChangesetOutput{}, err
}
mcmsStateForProposal := make(map[uint64]state.MCMSWithTimelockState)
mcmsStateForProposal := make(map[uint64]evmstate.MCMSWithTimelockState)
for k, v := range mcmsState {
if v != nil {
// Replace the proposer MCM in state with the existing proposer.
Expand All @@ -244,7 +244,7 @@ func grantRoleLogic(e cldf.Environment, cfg GrantRoleInput) (cldf.ChangesetOutpu
return cldf.ChangesetOutput{}, fmt.Errorf("failed to create ManyChainMultiSig for existing proposer %s on chain %d: %w",
cfg.ExistingProposerByChain[k].Hex(), k, err)
}
mcmsStateForProposal[k] = state.MCMSWithTimelockState{
mcmsStateForProposal[k] = evmstate.MCMSWithTimelockState{
CancellerMcm: v.CancellerMcm,
BypasserMcm: v.BypasserMcm,
ProposerMcm: existingProposerMcm,
Expand Down
11 changes: 6 additions & 5 deletions deployment/common/changeset/deploy_mcms_with_timelock_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/gagliardetto/solana-go"
"github.com/google/go-cmp/cmp"
chain_selectors "github.com/smartcontractkit/chain-selectors"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
mcmsevmsdk "github.com/smartcontractkit/mcms/sdk/evm"
mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana"
mcmstypes "github.com/smartcontractkit/mcms/types"
Expand Down Expand Up @@ -54,7 +55,7 @@ func TestGrantRoleInTimeLock(t *testing.T) {
)
updatedEnv, err := commonchangeset.Apply(t, *env, configuredChangeset)
require.NoError(t, err)
mcmsState, err := mcmschangesetstate.MaybeLoadMCMSWithTimelockState(updatedEnv, []uint64{selector})
mcmsState, err := evmstate.MaybeLoadMCMSWithTimelockState(updatedEnv, []uint64{selector})
require.NoError(t, err)

// change the environment to remove proposer from the timelock, so that we can deploy new proposer
Expand Down Expand Up @@ -96,7 +97,7 @@ func TestGrantRoleInTimeLock(t *testing.T) {
// now deploy MCMS again so that only the proposer is new
updatedEnv, err = commonchangeset.Apply(t, updatedEnv, configuredChangeset)
require.NoError(t, err)
mcmsState, err = mcmschangesetstate.MaybeLoadMCMSWithTimelockState(updatedEnv, []uint64{selector})
mcmsState, err = evmstate.MaybeLoadMCMSWithTimelockState(updatedEnv, []uint64{selector})
require.NoError(t, err)

require.NotEqual(t, existingProposer.Address(), mcmsState[selector].ProposerMcm.Address())
Expand All @@ -110,7 +111,7 @@ func TestGrantRoleInTimeLock(t *testing.T) {
},
))
require.NoError(t, err)
mcmsState, err = mcmschangesetstate.MaybeLoadMCMSWithTimelockState(updatedEnv, []uint64{selector})
mcmsState, err = evmstate.MaybeLoadMCMSWithTimelockState(updatedEnv, []uint64{selector})
require.NoError(t, err)

evmTimelockInspector := mcmsevmsdk.NewTimelockInspector(updatedEnv.BlockChains.EVMChains()[selector].Client)
Expand Down Expand Up @@ -220,7 +221,7 @@ func TestDeployMCMSWithTimelockV2WithFewExistingContracts(t *testing.T) {
)
require.NoError(t, err)

state, err := mcmschangesetstate.MaybeLoadMCMSWithTimelockState(rt.Environment(), selectors)
state, err := evmstate.MaybeLoadMCMSWithTimelockState(rt.Environment(), selectors)
require.NoError(t, err)
evmState1 := state[selector1]

Expand Down Expand Up @@ -349,7 +350,7 @@ func TestDeployMCMSWithTimelockV2(t *testing.T) {
require.NoError(t, err)

// Load the MCMS contractsstate
evmMCMSState, err := mcmschangesetstate.MaybeLoadMCMSWithTimelockState(rt.Environment(), []uint64{evmSelector})
evmMCMSState, err := evmstate.MaybeLoadMCMSWithTimelockState(rt.Environment(), []uint64{evmSelector})
require.NoError(t, err)
require.Len(t, evmMCMSState, 1)

Expand Down
4 changes: 2 additions & 2 deletions deployment/common/changeset/evm/mcms/mcms.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm"
"github.com/spf13/cast"

bindings "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers"
Expand All @@ -28,7 +29,6 @@ import (
"github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms/ops"
"github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms/seqs"
mcmsnew_zksync "github.com/smartcontractkit/chainlink/deployment/common/changeset/internal/evm/zksync"
"github.com/smartcontractkit/chainlink/deployment/common/changeset/state"
"github.com/smartcontractkit/chainlink/deployment/common/opsutils"
commontypes "github.com/smartcontractkit/chainlink/deployment/common/types"
"github.com/smartcontractkit/chainlink/deployment/common/view/v1_0"
Expand Down Expand Up @@ -127,7 +127,7 @@ func DeployMCMSWithTimelockContractsEVM(
chain cldf_evm.Chain,
ab cldf.AddressBook,
config commontypes.MCMSWithTimelockConfigV2,
state *state.MCMSWithTimelockState,
state *evmstate.MCMSWithTimelockState,
) ([]operations.Report[any, any], error) {
execReports := make([]operations.Report[any, any], 0)
lggr := env.Logger
Expand Down
Loading
Loading