From 0b13ae5b9a9b82e37cfa522ecd06d99635383ab9 Mon Sep 17 00:00:00 2001 From: Pablo Date: Tue, 5 May 2026 13:45:10 -0600 Subject: [PATCH 01/25] chore: swap solana state usages to use cld-changesets --- ...s_transfer_to_mcms_with_timelock_solana.go | 6 +- .../v1_6/cs_add_evm_solana_lane.go | 8 +- .../solana_v0_1_0/cs_deploy_chain.go | 8 +- .../ccip/changeset/solana_v0_1_0/cs_idl.go | 10 +- .../ccip/changeset/solana_v0_1_0/cs_ops.go | 4 +- .../changeset/solana_v0_1_0/cs_set_ocr3.go | 4 +- .../solana_v0_1_0/cs_verify_contracts.go | 6 +- .../transfer_ccip_to_mcms_with_timelock.go | 8 +- .../ccip/changeset/solana_v0_1_0/utils.go | 8 +- .../solana_v0_1_1/cs_deploy_chain.go | 8 +- .../solana_v0_1_1/cs_deploy_chain_test.go | 4 +- .../ccip/changeset/solana_v0_1_1/cs_idl.go | 8 +- .../ccip/changeset/solana_v0_1_1/cs_ops.go | 4 +- .../changeset/solana_v0_1_1/cs_set_ocr3.go | 4 +- .../solana_v0_1_1/cs_verify_contracts.go | 3 +- .../transfer_ccip_to_mcms_with_timelock.go | 8 +- .../ccip/changeset/solana_v0_1_1/utils.go | 8 +- .../testhelpers/test_helpers_solana_v0_1_0.go | 22 +- .../testhelpers/test_helpers_solana_v0_1_1.go | 12 +- .../shared/deployergroup/deployer_group.go | 10 +- .../ccip/shared/stateview/solana/state.go | 11 +- deployment/ccip/shared/stateview/state.go | 8 +- deployment/ccip/view/solana/mcms.go | 12 +- .../deploy_mcms_with_timelock_test.go | 18 +- .../ops/ops_solana_grant_role_timelock.go | 12 +- .../seqs/seq_solana_grant_role_timelock.go | 12 +- .../changeset/example/solana_transfer_mcm.go | 9 +- deployment/common/changeset/mcms_firedrill.go | 4 +- .../common/changeset/set_config_mcms.go | 5 +- .../common/changeset/set_config_mcms_test.go | 3 +- .../common/changeset/solana/fund_mcm_pdas.go | 23 +- .../changeset/solana/fund_mcm_pdas_test.go | 12 +- .../changeset/solana/grant_role_timelock.go | 16 +- .../solana/grant_role_timelock_test.go | 12 +- .../solana/mcms/access_controller.go | 22 +- .../common/changeset/solana/mcms/mcm.go | 28 +- .../common/changeset/solana/mcms/mcms.go | 10 +- .../mcms/sequence/operation/operation.go | 41 +- .../common/changeset/solana/mcms/timelock.go | 22 +- .../changeset/solana/transfer_ownership.go | 19 +- .../solana/transfer_ownership_test.go | 19 +- .../changeset/solana/update_delay_timelock.go | 9 +- .../solana/update_delay_timelock_test.go | 6 +- deployment/common/changeset/state/solana.go | 351 ------------------ deployment/common/proposalutils/propose.go | 14 +- .../common/proposalutils/propose_test.go | 4 +- .../cre/forwarder/solana/deploy_forwarder.go | 7 +- deployment/go.mod | 4 +- deployment/go.sum | 8 +- deployment/helpers/deploy_solana.go | 8 +- deployment/internal/soltestutils/datastore.go | 6 +- deployment/internal/soltestutils/fund.go | 8 +- .../changeset/solana/deploy_forwarder.go | 7 +- 53 files changed, 283 insertions(+), 620 deletions(-) diff --git a/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go b/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go index eb0907ac070..e1149e7dfcd 100644 --- a/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go +++ b/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go @@ -6,6 +6,7 @@ import ( "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -16,6 +17,7 @@ import ( cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + cs_solana "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/solana_v0_1_1" "github.com/smartcontractkit/chainlink/deployment/ccip/shared" @@ -55,7 +57,7 @@ func (c TransferSignerRegistryToMCMSWithTimelockSolanaConfig) Validate(e cldf.En if err != nil { return fmt.Errorf("failed to get addresses for chain: %w", err) } - _, err = state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + _, err = solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) if err != nil { return fmt.Errorf("failed to load mcm state: %w", err) } @@ -102,7 +104,7 @@ func TransferSignerRegistryToMCMSWithTimelockSolanaChangeset( solChain := e.BlockChains.SolanaChains()[chainSelector] addresses, _ := e.ExistingAddresses.AddressesForChain(chainSelector) - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) currentOwner := solChain.DeployerKey.PublicKey() if !cfg.CurrentOwner.IsZero() { diff --git a/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go b/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go index fc310f712a9..640d61717ba 100644 --- a/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go +++ b/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go @@ -14,12 +14,12 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/operations" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" 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" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -249,7 +249,7 @@ var ( type Dependencies struct { Env cldf.Environment EVMMCMSState map[uint64]evmstate.MCMSWithTimelockState - SolanaMCMSState map[uint64]commonstate.MCMSWithTimelockStateSolana + SolanaMCMSState map[uint64]solstate.MCMSWithTimelockState changesetInput csInputs } @@ -495,7 +495,7 @@ func addEVMAndSolanaLaneLogic(env cldf.Environment, input AddMultiEVMSolanaLaneC if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get addresses for Solana chain: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(env.BlockChains.SolanaChains()[input.SolanaChainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(env.BlockChains.SolanaChains()[input.SolanaChainSelector], addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load Solana MCMS state: %w", err) } @@ -511,7 +511,7 @@ func addEVMAndSolanaLaneLogic(env cldf.Environment, input AddMultiEVMSolanaLaneC deps := Dependencies{ Env: env, EVMMCMSState: evmState.EVMMCMSStateByChain(), - SolanaMCMSState: map[uint64]commonstate.MCMSWithTimelockStateSolana{ + SolanaMCMSState: map[uint64]solstate.MCMSWithTimelockState{ input.SolanaChainSelector: *mcmState, }, changesetInput: changesetInputs, diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go index 59816f2189a..f962937905f 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go @@ -10,6 +10,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -24,7 +25,6 @@ import ( solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" @@ -592,7 +592,7 @@ func deployChainContractsSolana( if err != nil { return batches, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return batches, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -907,11 +907,11 @@ func generateUpgradeTxns( if err != nil { return txns, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return txns, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) // if we're not upgrading via timelock, execute the raw ixns if config.UpgradeConfig.UpgradeAuthority != timelockSignerPDA { bufferSize, err := GetSolProgramSize(&e, chain, bufferProgram) diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go b/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go index ae0f25fe203..af25d6ddf3c 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go @@ -12,6 +12,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/pelletier/go-toml" chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -20,7 +21,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" @@ -345,7 +345,7 @@ func (c IDLConfig) Validate(e cldf.Environment) error { if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[c.ChainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[c.ChainSelector], addresses) if err != nil { return fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -414,7 +414,7 @@ func UploadIDL(e cldf.Environment, c IDLConfig) (cldf.ChangesetOutput, error) { if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[c.ChainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[c.ChainSelector], addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -498,7 +498,7 @@ func SetAuthorityIDL(e cldf.Environment, c IDLConfig) (cldf.ChangesetOutput, err if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -600,7 +600,7 @@ func UpgradeIDL(e cldf.Environment, c IDLConfig) (cldf.ChangesetOutput, error) { if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go b/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go index ece19d7f46d..763b9394ff4 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go @@ -7,6 +7,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -24,7 +25,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -210,7 +210,7 @@ func SetUpgradeAuthorityChangeset( if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := csState.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load onchain state: %w", err) } diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go b/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go index 1d76d15b40b..a5aacfbd789 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go @@ -6,6 +6,7 @@ import ( "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -23,7 +24,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/types" ) @@ -103,7 +103,7 @@ func SetOCR3ConfigSolana(e cldf.Environment, cfg v1_6.SetOCR3OffRampConfig) (cld } chain := e.BlockChains.SolanaChains()[remote] addresses, _ := e.ExistingAddresses.AddressesForChain(remote) - mcmState, _ := csState.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) timelocks[remote] = mcmsSolana.ContractAddress( mcmState.TimelockProgram, diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go b/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go index 7af1d6f905f..01c7e35d5a9 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go @@ -8,6 +8,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/mr-tron/base58" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -16,7 +17,6 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) @@ -320,13 +320,13 @@ func VerifyBuild(e cldf.Environment, cfg VerifyBuildConfig) (cldf.ChangesetOutpu if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := csState.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load onchain state: %w", err) } var timelockSignerPDA solana.PublicKey if mcmState != nil { - timelockSignerPDA = csState.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA = solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) } verifications := []struct { diff --git a/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go b/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go index f4ff453bf29..c92585bd51a 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go +++ b/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -17,7 +18,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -86,7 +86,7 @@ func (cfg TransferCCIPToMCMSWithTimelockSolanaConfig) Validate(e cldf.Environmen if err != nil { return fmt.Errorf("failed to load addresses for chain %d: %w", chainSelector, err) } - _, err = state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + _, err = solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) if err != nil { return fmt.Errorf("failed to load mcm state: %w", err) } @@ -153,13 +153,13 @@ func TransferCCIPToMCMSWithTimelockSolana( for chainSelector, contractsToTransfer := range cfg.ContractsByChain { solChain := e.BlockChains.SolanaChains()[chainSelector] addresses, _ := e.ExistingAddresses.AddressesForChain(chainSelector) - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) currentOwner := solChain.DeployerKey.PublicKey() if !cfg.CurrentOwner.IsZero() { currentOwner = cfg.CurrentOwner } - timelockSigner := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSigner := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) proposedOwner := timelockSigner if !cfg.ProposedOwner.IsZero() { proposedOwner = cfg.ProposedOwner diff --git a/deployment/ccip/changeset/solana_v0_1_0/utils.go b/deployment/ccip/changeset/solana_v0_1_0/utils.go index 78de8c1891a..44e3bb2978f 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/utils.go +++ b/deployment/ccip/changeset/solana_v0_1_0/utils.go @@ -6,6 +6,7 @@ import ( "time" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" @@ -17,7 +18,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -82,7 +82,7 @@ func buildProposalCommon( chain := e.BlockChains.SolanaChains()[chainSelector] addresses, _ := e.ExistingAddresses.AddressesForChain(chainSelector) - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) timelocks[chainSelector] = mcmsSolana.ContractAddress( mcmState.TimelockProgram, @@ -158,11 +158,11 @@ func FetchTimelockSigner(e cldf.Environment, chainSelector uint64) (solana.Publi if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load addresses for chain %d: %w", chainSelector, err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[chainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[chainSelector], addresses) if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) return timelockSignerPDA, nil } diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go index ee4061e7e66..24ecd49f7d8 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go @@ -9,6 +9,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -23,7 +24,6 @@ import ( solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" @@ -670,7 +670,7 @@ func deployChainContractsSolana( if err != nil { return batches, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return batches, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -1035,11 +1035,11 @@ func generateUpgradeTxns( if err != nil { return txns, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return txns, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) bufferSize, err := GetSolProgramSize(&e, chain, bufferProgram) if err != nil { diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go index db838bcccc5..fd6b99b87b6 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go @@ -8,6 +8,7 @@ import ( solBinary "github.com/gagliardetto/binary" "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" @@ -25,7 +26,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" @@ -202,7 +202,7 @@ func TestUpgrade(t *testing.T) { require.NoError(t, err) addresses, err := e.ExistingAddresses.AddressesForChain(solSelector) require.NoError(t, err) - chainState, err := csState.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[solSelector], addresses) + chainState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[solSelector], addresses) require.NoError(t, err) // deploy the contracts diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go b/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go index fa7b3dfe0b2..708d461ab3f 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go @@ -12,6 +12,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/pelletier/go-toml" chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -20,7 +21,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" @@ -106,7 +106,7 @@ func (c IDLConfig) Validate(e cldf.Environment) error { if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[c.ChainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[c.ChainSelector], addresses) if err != nil { return fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -190,7 +190,7 @@ func SetAuthorityIDL(e cldf.Environment, c IDLConfig) (cldf.ChangesetOutput, err if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } @@ -576,7 +576,7 @@ func getAffectedPrograms(e cldf.Environment, c IDLConfig, chainState solanastate if err != nil { return nil, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return nil, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go b/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go index 0dd99d5488b..eb9d1d4efbb 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go @@ -7,6 +7,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -23,7 +24,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -214,7 +214,7 @@ func SetUpgradeAuthorityChangeset( if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := csState.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load onchain state: %w", err) } diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go b/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go index 3fd23ca2928..6f1c2ae2877 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" chain_selectors "github.com/smartcontractkit/chain-selectors" @@ -23,7 +24,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/types" ) @@ -103,7 +103,7 @@ func SetOCR3ConfigSolana(e cldf.Environment, cfg v1_6.SetOCR3OffRampConfig) (cld } chain := e.BlockChains.SolanaChains()[remote] addresses, _ := e.ExistingAddresses.AddressesForChain(remote) - mcmState, _ := csState.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) timelocks[remote] = mcmsSolana.ContractAddress( mcmState.TimelockProgram, diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go b/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go index c1aaf42aab4..fde204ec599 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go @@ -8,6 +8,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/mr-tron/base58" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -321,7 +322,7 @@ func VerifyBuild(e cldf.Environment, cfg VerifyBuildConfig) (cldf.ChangesetOutpu if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := csState.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load onchain state: %w", err) } diff --git a/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go b/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go index 069566cdc54..04407cc29d6 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go +++ b/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -17,7 +18,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -87,7 +87,7 @@ func (cfg TransferCCIPToMCMSWithTimelockSolanaConfig) Validate(e cldf.Environmen if err != nil { return fmt.Errorf("failed to load addresses for chain %d: %w", chainSelector, err) } - _, err = state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + _, err = solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) if err != nil { return fmt.Errorf("failed to load mcm state: %w", err) } @@ -154,13 +154,13 @@ func TransferCCIPToMCMSWithTimelockSolana( for chainSelector, contractsToTransfer := range cfg.ContractsByChain { solChain := e.BlockChains.SolanaChains()[chainSelector] addresses, _ := e.ExistingAddresses.AddressesForChain(chainSelector) - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) currentOwner := solChain.DeployerKey.PublicKey() if !cfg.CurrentOwner.IsZero() { currentOwner = cfg.CurrentOwner } - timelockSigner := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSigner := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) proposedOwner := timelockSigner if !cfg.ProposedOwner.IsZero() { proposedOwner = cfg.ProposedOwner diff --git a/deployment/ccip/changeset/solana_v0_1_1/utils.go b/deployment/ccip/changeset/solana_v0_1_1/utils.go index fc645a83bd8..fa01f088d2d 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/utils.go +++ b/deployment/ccip/changeset/solana_v0_1_1/utils.go @@ -7,6 +7,7 @@ import ( "time" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -19,7 +20,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -105,7 +105,7 @@ func buildProposalCommon( chain := e.BlockChains.SolanaChains()[chainSelector] addresses, _ := e.ExistingAddresses.AddressesForChain(chainSelector) - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) timelocks[chainSelector] = mcmsSolana.ContractAddress( mcmState.TimelockProgram, @@ -199,11 +199,11 @@ func FetchTimelockSigner(e cldf.Environment, chainSelector uint64) (solana.Publi if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load addresses for chain %d: %w", chainSelector, err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[chainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[chainSelector], addresses) if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) return timelockSignerPDA, nil } diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go index c73a3c4c1d7..68c7d877fd9 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go @@ -49,7 +49,7 @@ import ( solTestReceiver "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_0/test_ccip_receiver" solccip "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/ccip" solcommon "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/common" - solstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state" + ccipsolstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state" soltokens "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens" "github.com/smartcontractkit/chainlink-ccip/pkg/reader" cciptypes "github.com/smartcontractkit/chainlink-ccip/pkg/types/ccipocr3" @@ -89,8 +89,8 @@ import ( "github.com/smartcontractkit/chainlink/deployment/internal/jdtestutils" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/ccipevm" - "github.com/smartcontractkit/chainlink/v2/core/utils/abihelpers" "github.com/smartcontractkit/chainlink/v2/core/services/relay" + "github.com/smartcontractkit/chainlink/v2/core/utils/abihelpers" ) const ( @@ -628,27 +628,27 @@ func SendRequestSol( feeTokenUserATA = ata } - destinationChainStatePDA, err := solstate.FindDestChainStatePDA(destinationChainSelector, s.Router) + destinationChainStatePDA, err := ccipsolstate.FindDestChainStatePDA(destinationChainSelector, s.Router) if err != nil { return nil, err } - noncePDA, err := solstate.FindNoncePDA(cfg.DestChain, sender.PublicKey(), s.Router) + noncePDA, err := ccipsolstate.FindNoncePDA(cfg.DestChain, sender.PublicKey(), s.Router) if err != nil { return nil, err } - linkFqBillingConfigPDA, _, err := solstate.FindFqBillingTokenConfigPDA(s.LinkToken, s.FeeQuoter) + linkFqBillingConfigPDA, _, err := ccipsolstate.FindFqBillingTokenConfigPDA(s.LinkToken, s.FeeQuoter) if err != nil { return nil, err } - feeTokenFqBillingConfigPDA, _, err := solstate.FindFqBillingTokenConfigPDA(feeToken, s.FeeQuoter) + feeTokenFqBillingConfigPDA, _, err := ccipsolstate.FindFqBillingTokenConfigPDA(feeToken, s.FeeQuoter) if err != nil { return nil, err } - billingSignerPDA, _, err := solstate.FindFeeBillingSignerPDA(s.Router) + billingSignerPDA, _, err := ccipsolstate.FindFeeBillingSignerPDA(s.Router) if err != nil { return nil, err } @@ -658,12 +658,12 @@ func SendRequestSol( return nil, err } - fqDestChainPDA, _, err := solstate.FindFqDestChainPDA(cfg.DestChain, s.FeeQuoter) + fqDestChainPDA, _, err := ccipsolstate.FindFqDestChainPDA(cfg.DestChain, s.FeeQuoter) if err != nil { return nil, err } - rmnRemoteCursesPDA, _, err := solstate.FindRMNRemoteCursesPDA(s.RMNRemote) + rmnRemoteCursesPDA, _, err := ccipsolstate.FindRMNRemoteCursesPDA(s.RMNRemote) if err != nil { return nil, err } @@ -756,7 +756,7 @@ func SendRequestSol( tokenPool.Chain[cfg.DestChain] = chainPDA - billingPDA, _, err := solstate.FindFqPerChainPerTokenConfigPDA(cfg.DestChain, tokenPubKey, s.FeeQuoter) + billingPDA, _, err := ccipsolstate.FindFqPerChainPerTokenConfigPDA(cfg.DestChain, tokenPubKey, s.FeeQuoter) if err != nil { return nil, err } @@ -2463,7 +2463,7 @@ func TransferOwnershipSolanaV0_1_0( addresses, err := e.ExistingAddresses.AddressesForChain(solSelector) require.NoError(t, err) - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := ccipsolstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) // Fund signer PDAs for timelock and mcm diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go index f2dd2ab191e..360eb2c022f 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go @@ -32,8 +32,9 @@ import ( solTestTokenPoolV0_1_1 "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/test_token_pool" solccip "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/ccip" solcommon "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/common" - solstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state" + ccipsolstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state" soltokens "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink-common/pkg/logger" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -46,7 +47,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" commoncs "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" @@ -81,13 +81,13 @@ func TransferOwnershipSolanaV0_1_1( addresses, err := e.ExistingAddresses.AddressesForChain(solSelector) require.NoError(t, err) - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) // Fund signer PDAs for timelock and mcm // If we don't fund, execute() calls will fail with "no funds" errors. - timelockSignerPDA = state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) - mcmSignerPDA = state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) + timelockSignerPDA = solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + mcmSignerPDA = solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) err = solutils.FundAccounts( e.GetContext(), chain.Client, []solana.PublicKey{timelockSignerPDA, mcmSignerPDA}, 100, ) @@ -545,7 +545,7 @@ func deriveCCIPSendAccounts( askWith := []*solana.AccountMeta{} stage := "Start" tokenIndex := byte(0) - routerConfigPDA, _, err := solstate.FindConfigPDA(router) + routerConfigPDA, _, err := ccipsolstate.FindConfigPDA(router) if err != nil { return nil, nil, nil, fmt.Errorf("failed to calculate the router config PDA: %w", err) } diff --git a/deployment/ccip/shared/deployergroup/deployer_group.go b/deployment/ccip/shared/deployergroup/deployer_group.go index a5a5baea7ee..34d347ba1c6 100644 --- a/deployment/ccip/shared/deployergroup/deployer_group.go +++ b/deployment/ccip/shared/deployergroup/deployer_group.go @@ -9,6 +9,7 @@ import ( "strings" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "golang.org/x/sync/errgroup" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" @@ -27,7 +28,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -284,11 +284,11 @@ func (d *DeployerGroup) GetDeployerForSVM(chain uint64) (func(DeployerForSVM) (s } } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(d.e.BlockChains.SolanaChains()[chain], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(d.e.BlockChains.SolanaChains()[chain], addresses) if err != nil { return nil, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) authority = timelockSignerPDA } @@ -531,7 +531,7 @@ func BuildTimelockAddressPerChain(e cldf.Environment, onchainState stateview.CCI if err != nil { return nil, fmt.Errorf("failed to load addresses for chain %d: %w", selector, err) } - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) addressPerChain[selector] = mcmsSolana.ContractAddress(mcmState.TimelockProgram, mcmsSolana.PDASeed(mcmState.TimelockSeed)) } @@ -569,7 +569,7 @@ func BuildMcmAddressesPerChainByAction(e cldf.Environment, onchainState statevie if err != nil { return nil, fmt.Errorf("failed to load addresses for chain %d: %w", selector, err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return nil, fmt.Errorf("failed to load mcm state: %w", err) } diff --git a/deployment/ccip/shared/stateview/solana/state.go b/deployment/ccip/shared/stateview/solana/state.go index 2fffc1a4749..60d2b47efb0 100644 --- a/deployment/ccip/shared/stateview/solana/state.go +++ b/deployment/ccip/shared/stateview/solana/state.go @@ -10,6 +10,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" "github.com/rs/zerolog/log" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -27,11 +28,11 @@ import ( solTokenUtil "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/view" solanaview "github.com/smartcontractkit/chainlink/deployment/ccip/view/solana" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -575,11 +576,11 @@ func ValidateOwnershipSolana( if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } - timelockSignerPDA := commonstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) config, _, err := solState.FindConfigPDA(programID) if err != nil { return fmt.Errorf("failed to find config PDA: %w", err) @@ -685,11 +686,11 @@ func IsSolanaProgramOwnedByTimelock( if err != nil { return false } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return false } - timelockSignerPDA := commonstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) switch contractType { case shared.Router: programData := solRouter.Config{} diff --git a/deployment/ccip/shared/stateview/state.go b/deployment/ccip/shared/stateview/state.go index 08cc82c16e7..4c64b59927c 100644 --- a/deployment/ccip/shared/stateview/state.go +++ b/deployment/ccip/shared/stateview/state.go @@ -20,6 +20,7 @@ import ( "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" chain_selectors "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "golang.org/x/exp/maps" "golang.org/x/sync/errgroup" @@ -44,7 +45,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/evm" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink-evm/gethwrappers/shared/generated/initial/erc20" @@ -393,14 +393,14 @@ func (c CCIPOnChainState) EVMMCMSStateByChain() map[uint64]evmstate.MCMSWithTime return mcmsStateByChain } -func (c CCIPOnChainState) SolanaMCMSStateByChain(e cldf.Environment) map[uint64]commonstate.MCMSWithTimelockStateSolana { - mcmsStateByChain := make(map[uint64]commonstate.MCMSWithTimelockStateSolana) +func (c CCIPOnChainState) SolanaMCMSStateByChain(e cldf.Environment) map[uint64]solstate.MCMSWithTimelockState { + mcmsStateByChain := make(map[uint64]solstate.MCMSWithTimelockState) for chainSelector := range e.BlockChains.SolanaChains() { addreses, err := e.ExistingAddresses.AddressesForChain(chainSelector) if err != nil { return mcmsStateByChain } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[chainSelector], addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[chainSelector], addreses) if err != nil { return mcmsStateByChain } diff --git a/deployment/ccip/view/solana/mcms.go b/deployment/ccip/view/solana/mcms.go index b7a15fc0c9b..e30e9b3f152 100644 --- a/deployment/ccip/view/solana/mcms.go +++ b/deployment/ccip/view/solana/mcms.go @@ -7,6 +7,7 @@ import ( "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -14,7 +15,6 @@ import ( "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" "github.com/smartcontractkit/chainlink/deployment/ccip/view/shared" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -60,11 +60,11 @@ type MCMSConfig struct { func GenerateMCMSWithTimelockView(chain cldf_solana.Chain, addresses map[string]cldf.TypeAndVersion) (MCMSWithTimelockView, error) { view := MCMSWithTimelockView{} - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return view, fmt.Errorf("failed to load mcms with timelock solana chain state: %w", err) } - timelockConfigPDA := state.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockConfigPDA := solstate.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) progDataAddr, err := solutils.GetProgramDataAddress(chain.Client, mcmState.TimelockProgram) if err != nil { return view, fmt.Errorf("failed to get program data address for program %s: %w", mcmState.TimelockProgram.String(), err) @@ -107,9 +107,9 @@ func GenerateMCMSWithTimelockView(chain cldf_solana.Chain, addresses map[string] name string pda solana.PublicKey }{ - {"Bypasser", state.GetMCMConfigPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, - {"Proposer", state.GetMCMConfigPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, - {"Canceller", state.GetMCMConfigPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, + {"Bypasser", solstate.GetMCMConfigPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, + {"Proposer", solstate.GetMCMConfigPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, + {"Canceller", solstate.GetMCMConfigPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, } { err = chain.GetAccountDataBorshInto(context.Background(), mcmConfig.pda, &mcmData) if err != nil { diff --git a/deployment/common/changeset/deploy_mcms_with_timelock_test.go b/deployment/common/changeset/deploy_mcms_with_timelock_test.go index e7e147f20a8..5797180a895 100644 --- a/deployment/common/changeset/deploy_mcms_with_timelock_test.go +++ b/deployment/common/changeset/deploy_mcms_with_timelock_test.go @@ -29,12 +29,14 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/onchain" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" + soltestutils "github.com/smartcontractkit/cld-changesets/pkg/family/solana/testutils" + + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + "github.com/smartcontractkit/chainlink/deployment" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - mcmschangesetstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" - "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" ) func TestGrantRoleInTimeLock(t *testing.T) { @@ -511,7 +513,7 @@ func TestDeployMCMSWithTimelockV2SkipInitSolana(t *testing.T) { ) require.NoError(t, err) - solanaState, err := mcmschangesetstate.MaybeLoadMCMSWithTimelockStateSolana(rt.Environment(), []uint64{selector}) + solanaState, err := solstate.MaybeLoadMCMSWithTimelockState(rt.Environment(), []uint64{selector}) require.NoError(t, err) // Call deploy again, seeds and addresses from original state should not change @@ -520,7 +522,7 @@ func TestDeployMCMSWithTimelockV2SkipInitSolana(t *testing.T) { ) require.NoError(t, err) - solanaStateNew, err := mcmschangesetstate.MaybeLoadMCMSWithTimelockStateSolana(rt.Environment(), []uint64{selector}) + solanaStateNew, err := solstate.MaybeLoadMCMSWithTimelockState(rt.Environment(), []uint64{selector}) require.NoError(t, err) // --- assert --- @@ -542,17 +544,17 @@ func TestDeployMCMSWithTimelockV2SkipInitSolana(t *testing.T) { // ----- helpers ----- -func mcmSignerPDA(programID solana.PublicKey, seed mcmschangesetstate.PDASeed) string { - return mcmschangesetstate.GetMCMSignerPDA(programID, seed).String() +func mcmSignerPDA(programID solana.PublicKey, seed solstate.PDASeed) string { + return solstate.GetMCMSignerPDA(programID, seed).String() } func solanaTimelockConfig( - ctx context.Context, t *testing.T, chain cldf_solana.Chain, programID solana.PublicKey, seed mcmschangesetstate.PDASeed, + ctx context.Context, t *testing.T, chain cldf_solana.Chain, programID solana.PublicKey, seed solstate.PDASeed, ) timelockBindings.Config { t.Helper() var data timelockBindings.Config - err := chain.GetAccountDataBorshInto(ctx, mcmschangesetstate.GetTimelockConfigPDA(programID, seed), &data) + err := chain.GetAccountDataBorshInto(ctx, solstate.GetTimelockConfigPDA(programID, seed), &data) require.NoError(t, err) return data diff --git a/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go b/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go index 6341be07753..1947dc9f10e 100644 --- a/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go +++ b/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go @@ -15,7 +15,7 @@ import ( cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" "github.com/smartcontractkit/chainlink-deployments-framework/operations" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" ) type OpSolanaGrantRoleTimelockDeps struct { @@ -23,10 +23,10 @@ type OpSolanaGrantRoleTimelockDeps struct { } type OpSolanaGrantRoleTimelockInput struct { - ChainState *state.MCMSWithTimelockStateSolana `json:"chainState"` - Role timelockbindings.Role `json:"role"` - Account solana.PublicKey `json:"account"` - IsDeployerKeyAdmin bool `json:"isDeployerKeyAdmin"` + ChainState *solstate.MCMSWithTimelockState `json:"chainState"` + Role timelockbindings.Role `json:"role"` + Account solana.PublicKey `json:"account"` + IsDeployerKeyAdmin bool `json:"isDeployerKeyAdmin"` } type OpSolanaGrantRoleTimelockOutput struct { @@ -49,7 +49,7 @@ var OpSolanaGrantRoleTimelock = operations.NewOperation( if in.IsDeployerKeyAdmin { signer = deps.Chain.DeployerKey.PublicKey() } else { - signer = state.GetTimelockSignerPDA(in.ChainState.TimelockProgram, in.ChainState.TimelockSeed) + signer = solstate.GetTimelockSignerPDA(in.ChainState.TimelockProgram, in.ChainState.TimelockSeed) } ix, err := accesscontrollerbindings.NewAddAccessInstruction(accessController, signer, in.Account).ValidateAndBuild() diff --git a/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go b/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go index b64cdb8d679..ad44df2fef6 100644 --- a/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go +++ b/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go @@ -3,6 +3,7 @@ package seqs import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" timelockbindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" @@ -10,7 +11,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/operations" "github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms/ops" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" ) type SeqSolanaGrantRoleTimelockDeps struct { @@ -18,10 +18,10 @@ type SeqSolanaGrantRoleTimelockDeps struct { } type SeqSolanaGrantRoleTimelockInput struct { - ChainState *state.MCMSWithTimelockStateSolana `json:"chainState"` - Role timelockbindings.Role `json:"role"` - Accounts []solana.PublicKey `json:"accounts"` - IsDeployerKeyAdmin bool `json:"isDeployerKeyAdmin"` + ChainState *solstate.MCMSWithTimelockState `json:"chainState"` + Role timelockbindings.Role `json:"role"` + Accounts []solana.PublicKey `json:"accounts"` + IsDeployerKeyAdmin bool `json:"isDeployerKeyAdmin"` } type SeqSolanaGrantRoleTimelockOutput struct { @@ -49,7 +49,7 @@ var SeqSolanaGrantRoleTimelock = operations.NewSequence( ) if err != nil { b.Logger.Errorw("Failed to grant role", "chainSelector", deps.Chain.ChainSelector(), "chainName", deps.Chain.Name(), - "timelock", state.EncodeAddressWithSeed(in.ChainState.TimelockProgram, in.ChainState.TimelockSeed), + "timelock", solstate.EncodeAddressWithSeed(in.ChainState.TimelockProgram, in.ChainState.TimelockSeed), "role", in.Role, "account", account) return SeqSolanaGrantRoleTimelockOutput{}, err } diff --git a/deployment/common/changeset/example/solana_transfer_mcm.go b/deployment/common/changeset/example/solana_transfer_mcm.go index d54097b6926..8998c2dbe1e 100644 --- a/deployment/common/changeset/example/solana_transfer_mcm.go +++ b/deployment/common/changeset/example/solana_transfer_mcm.go @@ -15,7 +15,8 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -51,7 +52,7 @@ func (f TransferFromTimelock) VerifyPreconditions(e cldf.Environment, config Tra if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) if err != nil { return fmt.Errorf("failed to load MCMS state: %w", err) } @@ -91,11 +92,11 @@ func (f TransferFromTimelock) Apply(e cldf.Environment, config TransferFromTimel if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addreses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) timelockID := mcmssolanasdk.ContractAddress(mcmState.TimelockProgram, mcmssolanasdk.PDASeed(mcmState.TimelockSeed)) proposerID := mcmssolanasdk.ContractAddress(mcmState.McmProgram, mcmssolanasdk.PDASeed(mcmState.ProposerMcmSeed)) timelocks[chainSelector] = timelockID diff --git a/deployment/common/changeset/mcms_firedrill.go b/deployment/common/changeset/mcms_firedrill.go index 801f935e517..880cb8ec09b 100644 --- a/deployment/common/changeset/mcms_firedrill.go +++ b/deployment/common/changeset/mcms_firedrill.go @@ -6,6 +6,7 @@ import ( "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsevmsdk "github.com/smartcontractkit/mcms/sdk/evm" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" @@ -16,7 +17,6 @@ import ( cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -127,7 +127,7 @@ func MCMSSignFireDrillChangeset(e cldf.Environment, cfg FireDrillConfig) (cldf.C if err != nil { return cldf.ChangesetOutput{}, err } - state, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[selector], addresses) + state, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[selector], addresses) if err != nil { return cldf.ChangesetOutput{}, err } diff --git a/deployment/common/changeset/set_config_mcms.go b/deployment/common/changeset/set_config_mcms.go index 9dc427f2024..1c33a886c1a 100644 --- a/deployment/common/changeset/set_config_mcms.go +++ b/deployment/common/changeset/set_config_mcms.go @@ -12,6 +12,7 @@ import ( "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" chain_selectors "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmslib "github.com/smartcontractkit/mcms" aptosmcms "github.com/smartcontractkit/mcms/sdk/aptos" "github.com/smartcontractkit/mcms/sdk/evm" @@ -88,7 +89,7 @@ func (cfg MCMSConfigV2) Validate(e cldf.Environment, selectors []uint64) error { } } case chain_selectors.FamilySolana: - state, err := commonState.MaybeLoadMCMSWithTimelockStateSolana(e, []uint64{chainSelector}) + state, err := solstate.MaybeLoadMCMSWithTimelockState(e, []uint64{chainSelector}) if err != nil { return err } @@ -307,7 +308,7 @@ func setConfigSolana( timelockAddressesPerChain, proposerMcmsPerChain map[uint64]string, useMCMS bool, ) ([]mcmstypes.BatchOperation, error) { chain := e.BlockChains.SolanaChains()[chainSelector] - mcmsStatePerChain, err := commonState.MaybeLoadMCMSWithTimelockStateSolana(e, []uint64{chainSelector}) + mcmsStatePerChain, err := solstate.MaybeLoadMCMSWithTimelockState(e, []uint64{chainSelector}) if err != nil { return nil, err } diff --git a/deployment/common/changeset/set_config_mcms_test.go b/deployment/common/changeset/set_config_mcms_test.go index 199ab6b24f6..c887eeb5834 100644 --- a/deployment/common/changeset/set_config_mcms_test.go +++ b/deployment/common/changeset/set_config_mcms_test.go @@ -10,6 +10,7 @@ import ( solanago "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms/sdk/evm" "github.com/smartcontractkit/mcms/sdk/solana" mcmstypes "github.com/smartcontractkit/mcms/types" @@ -195,7 +196,7 @@ func TestSetConfigMCMSV2Solana(t *testing.T) { // Load the MCMS state addrs, err := rt.State().AddressBook.AddressesForChain(selector) require.NoError(t, err) - mcmsState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addrs) + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addrs) require.NoError(t, err) // Fund the signer PDAs for the MCMS contracts diff --git a/deployment/common/changeset/solana/fund_mcm_pdas.go b/deployment/common/changeset/solana/fund_mcm_pdas.go index b47355143a6..893f8cce49e 100644 --- a/deployment/common/changeset/solana/fund_mcm_pdas.go +++ b/deployment/common/changeset/solana/fund_mcm_pdas.go @@ -7,10 +7,9 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - cldchangesetssolana "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" ) var _ cldf.ChangeSetV2[FundMCMSignerConfig] = FundMCMSignersChangeset{} @@ -43,7 +42,7 @@ func (f FundMCMSignersChangeset) VerifyPreconditions(e cldf.Environment, config if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addreses) if err != nil { return fmt.Errorf("failed to load MCMS state: %w", err) } @@ -76,35 +75,35 @@ func (f FundMCMSignersChangeset) Apply(e cldf.Environment, config FundMCMSignerC if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addreses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS state: %w", err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed)}, + []solana.PublicKey{solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed)}, cfgAmounts.Timelock) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund timelock signer on chain %d: %w", chainSelector, err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, + []solana.PublicKey{solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, cfgAmounts.ProposeMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund MCMS proposer on chain %d: %w", chainSelector, err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, + []solana.PublicKey{solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, cfgAmounts.CancellerMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund MCMS canceller on chain %d: %w", chainSelector, err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, + []solana.PublicKey{solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, cfgAmounts.BypasserMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund mcm bypasser on chain %d: %w", chainSelector, err) diff --git a/deployment/common/changeset/solana/fund_mcm_pdas_test.go b/deployment/common/changeset/solana/fund_mcm_pdas_test.go index c73441d26e0..98f9db94660 100644 --- a/deployment/common/changeset/solana/fund_mcm_pdas_test.go +++ b/deployment/common/changeset/solana/fund_mcm_pdas_test.go @@ -7,6 +7,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" chainselectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" @@ -18,7 +19,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -228,14 +228,14 @@ func TestFundMCMSignersChangeset_Apply(t *testing.T) { require.NoError(t, err) // Check balances of MCM Signer PDAS - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) accounts := []solana.PublicKey{ - state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed), - state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed), - state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed), - state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed), + solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed), + solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed), + solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed), + solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed), } var balances []uint64 for _, account := range accounts { diff --git a/deployment/common/changeset/solana/grant_role_timelock.go b/deployment/common/changeset/solana/grant_role_timelock.go index e5d940408ef..15758054200 100644 --- a/deployment/common/changeset/solana/grant_role_timelock.go +++ b/deployment/common/changeset/solana/grant_role_timelock.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssdk "github.com/smartcontractkit/mcms/sdk" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" @@ -16,7 +17,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/operations" "github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms/seqs" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -68,14 +68,14 @@ func (t GrantRoleTimelockSolana) VerifyPreconditions( } } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, chainAddresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, chainAddresses) if err != nil { return fmt.Errorf("failed to load MCMS state: %w", err) } if mcmState.TimelockProgram.IsZero() { return fmt.Errorf("timelock program not deployed for chain %d", chainSelector) } - if (mcmState.TimelockSeed == state.PDASeed{}) { + if (mcmState.TimelockSeed == solstate.PDASeed{}) { return fmt.Errorf("timelock seed not found for chain %d", chainSelector) } } @@ -98,7 +98,7 @@ func (t GrantRoleTimelockSolana) Apply( if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmsChainState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmsChainState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) deps := seqs.SeqSolanaGrantRoleTimelockDeps{Chain: solChain} input := seqs.SeqSolanaGrantRoleTimelockInput{ @@ -118,7 +118,7 @@ func (t GrantRoleTimelockSolana) Apply( Transactions: report.Output.McmsTransactions, }) proposers[chainSelector], _ = proposalMCM(mcmsChainState, cfg.MCMS.MCMSAction) - timelocks[chainSelector] = state.EncodeAddressWithSeed(mcmsChainState.TimelockProgram, mcmsChainState.TimelockSeed) + timelocks[chainSelector] = solstate.EncodeAddressWithSeed(mcmsChainState.TimelockProgram, mcmsChainState.TimelockSeed) inspectors[chainSelector] = mcmssolanasdk.NewInspector(solChain.Client) } } @@ -151,12 +151,12 @@ func validTimelockActions(timelockConfig *proposalutils.TimelockConfig) bool { } } -func proposalMCM(mcmsState *state.MCMSWithTimelockStateSolana, action mcmstypes.TimelockAction) (string, error) { +func proposalMCM(mcmsState *solstate.MCMSWithTimelockState, action mcmstypes.TimelockAction) (string, error) { switch action { case "", mcmstypes.TimelockActionSchedule: - return state.EncodeAddressWithSeed(mcmsState.McmProgram, mcmsState.ProposerMcmSeed), nil + return solstate.EncodeAddressWithSeed(mcmsState.McmProgram, mcmsState.ProposerMcmSeed), nil case mcmstypes.TimelockActionBypass: - return state.EncodeAddressWithSeed(mcmsState.McmProgram, mcmsState.BypasserMcmSeed), nil + return solstate.EncodeAddressWithSeed(mcmsState.McmProgram, mcmsState.BypasserMcmSeed), nil default: return "", fmt.Errorf("invalid mcms action: %v", action) } diff --git a/deployment/common/changeset/solana/grant_role_timelock_test.go b/deployment/common/changeset/solana/grant_role_timelock_test.go index 075486c2b79..419bae9612a 100644 --- a/deployment/common/changeset/solana/grant_role_timelock_test.go +++ b/deployment/common/changeset/solana/grant_role_timelock_test.go @@ -14,9 +14,11 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + + soltestutils "github.com/smartcontractkit/cld-changesets/pkg/family/solana/testutils" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" ) func TestGrantRoleTimelockSolana(t *testing.T) { @@ -31,7 +33,7 @@ func TestGrantRoleTimelockSolana(t *testing.T) { executors2 := randomSolanaAccounts(t, 2) addresses, err := rt.State().AddressBook.AddressesForChain(selector) require.NoError(t, err) - mcmsState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) soltestutils.FundSignerPDAs(t, chain, mcmsState) @@ -103,6 +105,6 @@ func randomSolanaAccounts(t *testing.T, n int) []solana.PublicKey { return accounts } -func timelockAddress(chainState *state.MCMSWithTimelockStateSolana) string { - return state.EncodeAddressWithSeed(chainState.TimelockProgram, chainState.TimelockSeed) +func timelockAddress(chainState *solstate.MCMSWithTimelockState) string { + return solstate.EncodeAddressWithSeed(chainState.TimelockProgram, chainState.TimelockSeed) } diff --git a/deployment/common/changeset/solana/mcms/access_controller.go b/deployment/common/changeset/solana/mcms/access_controller.go index 1e9e2e356a2..2cec4861982 100644 --- a/deployment/common/changeset/solana/mcms/access_controller.go +++ b/deployment/common/changeset/solana/mcms/access_controller.go @@ -7,6 +7,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/programs/system" "github.com/gagliardetto/solana-go/rpc" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -18,13 +19,12 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) func deployAccessControllerProgram( - e cldf.Environment, chainState *state.MCMSWithTimelockStateSolana, + e cldf.Environment, chainState *solstate.MCMSWithTimelockState, chain cldf_solana.Chain, addressBook cldf.AddressBook, ) error { typeAndVersion := cldf.NewTypeAndVersion(commontypes.AccessControllerProgram, deployment.Version1_0_0) @@ -54,7 +54,7 @@ func deployAccessControllerProgram( return fmt.Errorf("failed to save address: %w", err) } - err = chainState.SetState(commontypes.AccessControllerProgram, programID, state.PDASeed{}) + err = chainState.SetState(commontypes.AccessControllerProgram, programID, solstate.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -68,7 +68,7 @@ func deployAccessControllerProgram( } func initAccessController( - e cldf.Environment, chainState *state.MCMSWithTimelockStateSolana, contractType cldf.ContractType, + e cldf.Environment, chainState *solstate.MCMSWithTimelockState, contractType cldf.ContractType, chain cldf_solana.Chain, addressBook cldf.AddressBook, ) error { if chainState.AccessControllerProgram.IsZero() { @@ -115,7 +115,7 @@ func initAccessController( return fmt.Errorf("failed to save address: %w", err) } - err = chainState.SetState(contractType, account.PublicKey(), state.PDASeed{}) + err = chainState.SetState(contractType, account.PublicKey(), solstate.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -164,10 +164,10 @@ func initializeAccessController( return nil } -func setupRoles(chainState *state.MCMSWithTimelockStateSolana, chain cldf_solana.Chain) error { - proposerPDA := state.GetMCMSignerPDA(chainState.McmProgram, chainState.ProposerMcmSeed) - cancellerPDA := state.GetMCMSignerPDA(chainState.McmProgram, chainState.CancellerMcmSeed) - bypasserPDA := state.GetMCMSignerPDA(chainState.McmProgram, chainState.BypasserMcmSeed) +func setupRoles(chainState *solstate.MCMSWithTimelockState, chain cldf_solana.Chain) error { + proposerPDA := solstate.GetMCMSignerPDA(chainState.McmProgram, chainState.ProposerMcmSeed) + cancellerPDA := solstate.GetMCMSignerPDA(chainState.McmProgram, chainState.CancellerMcmSeed) + bypasserPDA := solstate.GetMCMSignerPDA(chainState.McmProgram, chainState.BypasserMcmSeed) err := addAccess(chain, chainState, timelockBindings.Proposer_Role, proposerPDA) if err != nil { @@ -193,10 +193,10 @@ func setupRoles(chainState *state.MCMSWithTimelockStateSolana, chain cldf_solana } func addAccess( - chain cldf_solana.Chain, chainState *state.MCMSWithTimelockStateSolana, + chain cldf_solana.Chain, chainState *solstate.MCMSWithTimelockState, role timelockBindings.Role, accounts ...solana.PublicKey, ) error { - timelockConfigPDA := state.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed) + timelockConfigPDA := solstate.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed) instructionBuilder := timelockBindings.NewBatchAddAccessInstruction([32]uint8(chainState.TimelockSeed), role, timelockConfigPDA, chainState.AccessControllerProgram, chainState.RoleAccount(role), chain.DeployerKey.PublicKey()) diff --git a/deployment/common/changeset/solana/mcms/mcm.go b/deployment/common/changeset/solana/mcms/mcm.go index acfec457166..5787d73ebdc 100644 --- a/deployment/common/changeset/solana/mcms/mcm.go +++ b/deployment/common/changeset/solana/mcms/mcm.go @@ -8,6 +8,7 @@ import ( binary "github.com/gagliardetto/binary" "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolanaSdk "github.com/smartcontractkit/mcms/sdk/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -19,13 +20,12 @@ import ( "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) func deployMCMProgram( - env cldf.Environment, chainState *state.MCMSWithTimelockStateSolana, + env cldf.Environment, chainState *solstate.MCMSWithTimelockState, chain cldf_solana.Chain, addressBook cldf.AddressBook, ) error { typeAndVersion := cldf.NewTypeAndVersion(commontypes.ManyChainMultisigProgram, deployment.Version1_0_0) @@ -55,7 +55,7 @@ func deployMCMProgram( return fmt.Errorf("failed to save mcm address: %w", err) } - err = chainState.SetState(commontypes.ManyChainMultisigProgram, programID, state.PDASeed{}) + err = chainState.SetState(commontypes.ManyChainMultisigProgram, programID, solstate.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -69,7 +69,7 @@ func deployMCMProgram( } func initMCM( - env cldf.Environment, chainState *state.MCMSWithTimelockStateSolana, contractType cldf.ContractType, + env cldf.Environment, chainState *solstate.MCMSWithTimelockState, contractType cldf.ContractType, chain cldf_solana.Chain, addressBook cldf.AddressBook, mcmConfig *mcmsTypes.Config, ) error { if chainState.McmProgram.IsZero() { @@ -83,8 +83,8 @@ func initMCM( return fmt.Errorf("failed to get mcm state: %w", err) } - if mcmSeed != (state.PDASeed{}) { - mcmConfigPDA := state.GetMCMConfigPDA(mcmProgram, mcmSeed) + if mcmSeed != (solstate.PDASeed{}) { + mcmConfigPDA := solstate.GetMCMConfigPDA(mcmProgram, mcmSeed) var data mcmBindings.MultisigConfig err = solanaUtils.GetAccountDataBorshInto(env.GetContext(), chain.Client, mcmConfigPDA, rpc.CommitmentConfirmed, &data) if err == nil { @@ -105,7 +105,7 @@ func initMCM( return fmt.Errorf("failed to initialize mcm: %w", err) } - mcmAddress := state.EncodeAddressWithSeed(programID, seed) + mcmAddress := solstate.EncodeAddressWithSeed(programID, seed) configurer := mcmsSolanaSdk.NewConfigurer(chain.Client, *chain.DeployerKey, mcmsTypes.ChainSelector(chain.Selector)) tx, err := configurer.SetConfig(env.GetContext(), mcmAddress, mcmConfig, false) @@ -127,9 +127,9 @@ func initMCM( return nil } -func initializeMCM(e cldf.Environment, chain cldf_solana.Chain, mcmProgram solana.PublicKey, multisigID state.PDASeed) error { +func initializeMCM(e cldf.Environment, chain cldf_solana.Chain, mcmProgram solana.PublicKey, multisigID solstate.PDASeed) error { var mcmConfig mcmBindings.MultisigConfig - err := chain.GetAccountDataBorshInto(e.GetContext(), state.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) + err := chain.GetAccountDataBorshInto(e.GetContext(), solstate.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) if err == nil { e.Logger.Infow("MCM already initialized, skipping initialization", "chain", chain.String()) return nil @@ -153,13 +153,13 @@ func initializeMCM(e cldf.Environment, chain cldf_solana.Chain, mcmProgram solan ix, err := mcmBindings.NewInitializeInstruction( chain.Selector, multisigID, - state.GetMCMConfigPDA(mcmProgram, multisigID), + solstate.GetMCMConfigPDA(mcmProgram, multisigID), chain.DeployerKey.PublicKey(), solana.SystemProgramID, mcmProgram, programData.Address, - state.GetMCMRootMetadataPDA(mcmProgram, multisigID), - state.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), + solstate.GetMCMRootMetadataPDA(mcmProgram, multisigID), + solstate.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), ).ValidateAndBuild() if err != nil { return fmt.Errorf("failed to build instruction: %w", err) @@ -177,10 +177,10 @@ func initializeMCM(e cldf.Environment, chain cldf_solana.Chain, mcmProgram solan return nil } -func randomSeed() state.PDASeed { +func randomSeed() solstate.PDASeed { const alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - seed := state.PDASeed{} + seed := solstate.PDASeed{} for i := range seed { seed[i] = alphabet[rand.Intn(len(alphabet))] } diff --git a/deployment/common/changeset/solana/mcms/mcms.go b/deployment/common/changeset/solana/mcms/mcms.go index edf5684171b..d1022c2efcf 100644 --- a/deployment/common/changeset/solana/mcms/mcms.go +++ b/deployment/common/changeset/solana/mcms/mcms.go @@ -8,6 +8,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,7 +17,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/mcms/sequence" "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/mcms/sequence/operation" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -29,13 +29,13 @@ func DeployMCMSWithTimelockProgramsSolana( chain cldf_solana.Chain, addressBook cldf.AddressBook, config commontypes.MCMSWithTimelockConfigV2, -) (*state.MCMSWithTimelockStateSolana, error) { +) (*solstate.MCMSWithTimelockState, error) { addresses, err := e.ExistingAddresses.AddressesForChain(chain.Selector) if err != nil && !errors.Is(err, cldf.ErrChainNotFound) { return nil, fmt.Errorf("failed to get addresses for chain %v from environment: %w", chain.Selector, err) } - chainState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + chainState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return nil, fmt.Errorf("failed to load mcms with timelock solana chain state: %w", err) } @@ -116,8 +116,8 @@ func DeployMCMSWithTimelockProgramsSolanaV2( e cldf.Environment, ds datastore.MutableDataStore, chain cldf_solana.Chain, - config commontypes.MCMSWithTimelockConfigV2) (*state.MCMSWithTimelockStateSolana, error) { - chainstate, err := state.MaybeLoadMCMSWithTimelockChainStateSolanaV2(e.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(chain.Selector))) + config commontypes.MCMSWithTimelockConfigV2) (*solstate.MCMSWithTimelockState, error) { + chainstate, err := solstate.MaybeLoadMCMSWithTimelockChainStateV2(e.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(chain.Selector))) if err != nil { return nil, err } diff --git a/deployment/common/changeset/solana/mcms/sequence/operation/operation.go b/deployment/common/changeset/solana/mcms/sequence/operation/operation.go index 5d76e06e08c..77efbe6a82d 100644 --- a/deployment/common/changeset/solana/mcms/sequence/operation/operation.go +++ b/deployment/common/changeset/solana/mcms/sequence/operation/operation.go @@ -10,6 +10,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/programs/system" "github.com/gagliardetto/solana-go/rpc" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolanaSdk "github.com/smartcontractkit/mcms/sdk/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" "github.com/smartcontractkit/wsrpc/logger" @@ -22,14 +23,14 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" + "github.com/smartcontractkit/chainlink/deployment" commonOps "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/operations" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" ) type Deps struct { Env cldf.Environment - State *state.MCMSWithTimelockStateSolana + State *solstate.MCMSWithTimelockState Datastore datastore.MutableDataStore Chain cldfsol.Chain } @@ -162,7 +163,7 @@ func initAccessController(b operations.Bundle, deps Deps, in InitAccessControlle log.Infow("initialized access controller", "account", account.PublicKey()) - err = deps.State.SetState(in.ContractType, account.PublicKey(), state.PDASeed{}) + err = deps.State.SetState(in.ContractType, account.PublicKey(), solstate.PDASeed{}) if err != nil { return out, fmt.Errorf("failed to save onchain state: %w", err) } @@ -236,8 +237,8 @@ func initMCM(b operations.Bundle, deps Deps, in InitMCMInput) (InitMCMOutput, er return out, fmt.Errorf("failed to get mcm state: %w", err) } - if mcmSeed != (state.PDASeed{}) { - mcmConfigPDA := state.GetMCMConfigPDA(mcmProgram, mcmSeed) + if mcmSeed != (solstate.PDASeed{}) { + mcmConfigPDA := solstate.GetMCMConfigPDA(mcmProgram, mcmSeed) var data mcmBindings.MultisigConfig err = solanaUtils.GetAccountDataBorshInto(b.GetContext(), deps.Chain.Client, mcmConfigPDA, rpc.CommitmentConfirmed, &data) if err == nil { @@ -257,7 +258,7 @@ func initMCM(b operations.Bundle, deps Deps, in InitMCMInput) (InitMCMOutput, er return out, fmt.Errorf("failed to initialize mcm: %w", err) } - mcmAddress := state.EncodeAddressWithSeed(programID, seed) + mcmAddress := solstate.EncodeAddressWithSeed(programID, seed) configurer := mcmsSolanaSdk.NewConfigurer(deps.Chain.Client, *deps.Chain.DeployerKey, mcmsTypes.ChainSelector(deps.Chain.ChainSelector())) tx, err := configurer.SetConfig(b.GetContext(), mcmAddress, &in.MCMConfig, false) @@ -283,9 +284,9 @@ func initMCM(b operations.Bundle, deps Deps, in InitMCMInput) (InitMCMOutput, er return out, nil } -func initializeMCM(b operations.Bundle, deps Deps, mcmProgram solana.PublicKey, multisigID state.PDASeed) error { +func initializeMCM(b operations.Bundle, deps Deps, mcmProgram solana.PublicKey, multisigID solstate.PDASeed) error { var mcmConfig mcmBindings.MultisigConfig - err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), state.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) + err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), solstate.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) if err == nil { b.Logger.Infow("MCM already initialized, skipping initialization", "chain", deps.Chain.String()) return nil @@ -309,13 +310,13 @@ func initializeMCM(b operations.Bundle, deps Deps, mcmProgram solana.PublicKey, instruction, err := mcmBindings.NewInitializeInstruction( deps.Chain.Selector, multisigID, - state.GetMCMConfigPDA(mcmProgram, multisigID), + solstate.GetMCMConfigPDA(mcmProgram, multisigID), deps.Chain.DeployerKey.PublicKey(), solana.SystemProgramID, mcmProgram, programData.Address, - state.GetMCMRootMetadataPDA(mcmProgram, multisigID), - state.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), + solstate.GetMCMRootMetadataPDA(mcmProgram, multisigID), + solstate.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), ).ValidateAndBuild() if err != nil { return fmt.Errorf("failed to build instruction: %w", err) @@ -344,8 +345,8 @@ func initTimelock(b operations.Bundle, deps Deps, in InitTimelockInput) (InitTim return out, fmt.Errorf("failed to get timelock state: %w", err) } - if (timelockSeed != state.PDASeed{}) { - timelockConfigPDA := state.GetTimelockConfigPDA(timelockProgram, timelockSeed) + if (timelockSeed != solstate.PDASeed{}) { + timelockConfigPDA := solstate.GetTimelockConfigPDA(timelockProgram, timelockSeed) var timelockConfig timelockBindings.Config err = deps.Chain.GetAccountDataBorshInto(b.GetContext(), timelockConfigPDA, &timelockConfig) if err == nil { @@ -366,7 +367,7 @@ func initTimelock(b operations.Bundle, deps Deps, in InitTimelockInput) (InitTim return out, fmt.Errorf("failed to initialize timelock: %w", err) } - timelockAddress := state.EncodeAddressWithSeed(programID, seed) + timelockAddress := solstate.EncodeAddressWithSeed(programID, seed) err = deps.Datastore.Addresses().Add(datastore.AddressRef{ Address: timelockAddress, @@ -386,13 +387,13 @@ func initTimelock(b operations.Bundle, deps Deps, in InitTimelockInput) (InitTim } func initializeTimelock(b operations.Bundle, deps Deps, timelockProgram solana.PublicKey, - timelockID state.PDASeed, minDelay *big.Int) error { + timelockID solstate.PDASeed, minDelay *big.Int) error { if minDelay == nil { minDelay = big.NewInt(0) } var timelockConfig timelockBindings.Config - err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), state.GetTimelockConfigPDA(timelockProgram, timelockID), + err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), solstate.GetTimelockConfigPDA(timelockProgram, timelockID), &timelockConfig) if err == nil { b.Logger.Infow("Timelock already initialized, skipping initialization", "chain", deps.Chain.String()) @@ -417,7 +418,7 @@ func initializeTimelock(b operations.Bundle, deps Deps, timelockProgram solana.P instruction, err := timelockBindings.NewInitializeInstruction( timelockID, minDelay.Uint64(), - state.GetTimelockConfigPDA(timelockProgram, timelockID), + solstate.GetTimelockConfigPDA(timelockProgram, timelockID), deps.Chain.DeployerKey.PublicKey(), solana.SystemProgramID, timelockProgram, @@ -443,7 +444,7 @@ func initializeTimelock(b operations.Bundle, deps Deps, timelockProgram solana.P func addAccess(b operations.Bundle, deps Deps, in AddAccessInput) (AddAccessOutput, error) { var out AddAccessOutput - timelockConfigPDA := state.GetTimelockConfigPDA(deps.State.TimelockProgram, deps.State.TimelockSeed) + timelockConfigPDA := solstate.GetTimelockConfigPDA(deps.State.TimelockProgram, deps.State.TimelockSeed) instructionBuilder := timelockBindings.NewBatchAddAccessInstruction([32]uint8(deps.State.TimelockSeed), in.Role, timelockConfigPDA, deps.State.AccessControllerProgram, deps.State.RoleAccount(in.Role), deps.Chain.DeployerKey.PublicKey()) @@ -464,10 +465,10 @@ func addAccess(b operations.Bundle, deps Deps, in AddAccessInput) (AddAccessOutp return out, nil } -func randomSeed() state.PDASeed { +func randomSeed() solstate.PDASeed { const alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - seed := state.PDASeed{} + seed := solstate.PDASeed{} for i := range seed { seed[i] = alphabet[rand.Intn(len(alphabet))] } diff --git a/deployment/common/changeset/solana/mcms/timelock.go b/deployment/common/changeset/solana/mcms/timelock.go index 611432fef1d..363aa135713 100644 --- a/deployment/common/changeset/solana/mcms/timelock.go +++ b/deployment/common/changeset/solana/mcms/timelock.go @@ -8,6 +8,7 @@ import ( binary "github.com/gagliardetto/binary" "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -17,13 +18,12 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) func deployTimelockProgram( - e cldf.Environment, chainState *state.MCMSWithTimelockStateSolana, chain cldf_solana.Chain, + e cldf.Environment, chainState *solstate.MCMSWithTimelockState, chain cldf_solana.Chain, addressBook cldf.AddressBook, ) error { typeAndVersion := cldf.NewTypeAndVersion(commontypes.RBACTimelockProgram, deployment.Version1_0_0) @@ -53,7 +53,7 @@ func deployTimelockProgram( return fmt.Errorf("failed to save mcm address: %w", err) } - err = chainState.SetState(commontypes.RBACTimelockProgram, programID, state.PDASeed{}) + err = chainState.SetState(commontypes.RBACTimelockProgram, programID, solstate.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -67,7 +67,7 @@ func deployTimelockProgram( } func initTimelock( - e cldf.Environment, chainState *state.MCMSWithTimelockStateSolana, chain cldf_solana.Chain, + e cldf.Environment, chainState *solstate.MCMSWithTimelockState, chain cldf_solana.Chain, addressBook cldf.AddressBook, minDelay *big.Int, ) error { if chainState.TimelockProgram.IsZero() { @@ -82,8 +82,8 @@ func initTimelock( return fmt.Errorf("failed to get timelock state: %w", err) } - if (timelockSeed != state.PDASeed{}) { - timelockConfigPDA := state.GetTimelockConfigPDA(timelockProgram, timelockSeed) + if (timelockSeed != solstate.PDASeed{}) { + timelockConfigPDA := solstate.GetTimelockConfigPDA(timelockProgram, timelockSeed) var timelockConfig timelockBindings.Config err = chain.GetAccountDataBorshInto(e.GetContext(), timelockConfigPDA, &timelockConfig) if err == nil { @@ -104,7 +104,7 @@ func initTimelock( return fmt.Errorf("failed to initialize timelock: %w", err) } - timelockAddress := state.EncodeAddressWithSeed(programID, seed) + timelockAddress := solstate.EncodeAddressWithSeed(programID, seed) err = addressBook.Save(chain.Selector, timelockAddress, typeAndVersion) if err != nil { @@ -120,15 +120,15 @@ func initTimelock( } func initializeTimelock( - e cldf.Environment, chain cldf_solana.Chain, timelockProgram solana.PublicKey, timelockID state.PDASeed, - chainState *state.MCMSWithTimelockStateSolana, minDelay *big.Int, + e cldf.Environment, chain cldf_solana.Chain, timelockProgram solana.PublicKey, timelockID solstate.PDASeed, + chainState *solstate.MCMSWithTimelockState, minDelay *big.Int, ) error { if minDelay == nil { minDelay = big.NewInt(0) } var timelockConfig timelockBindings.Config - err := chain.GetAccountDataBorshInto(e.GetContext(), state.GetTimelockConfigPDA(timelockProgram, timelockID), + err := chain.GetAccountDataBorshInto(e.GetContext(), solstate.GetTimelockConfigPDA(timelockProgram, timelockID), &timelockConfig) if err == nil { e.Logger.Infow("Timelock already initialized, skipping initialization", "chain", chain.String()) @@ -153,7 +153,7 @@ func initializeTimelock( instruction, err := timelockBindings.NewInitializeInstruction( timelockID, minDelay.Uint64(), - state.GetTimelockConfigPDA(timelockProgram, timelockID), + solstate.GetTimelockConfigPDA(timelockProgram, timelockID), chain.DeployerKey.PublicKey(), solana.SystemProgramID, timelockProgram, diff --git a/deployment/common/changeset/solana/transfer_ownership.go b/deployment/common/changeset/solana/transfer_ownership.go index 58564d70602..a8b7c51455c 100644 --- a/deployment/common/changeset/solana/transfer_ownership.go +++ b/deployment/common/changeset/solana/transfer_ownership.go @@ -8,6 +8,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" "github.com/mr-tron/base58" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssdk "github.com/smartcontractkit/mcms/sdk" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" @@ -106,7 +107,7 @@ func (t *TransferToTimelockSolana) Apply( env cldf.Environment, cfg TransferToTimelockSolanaConfig, ) (cldf.ChangesetOutput, error) { solChains := env.BlockChains.SolanaChains() - mcmsState, err := state.MaybeLoadMCMSWithTimelockStateSolana(env, slices.Collect(maps.Keys(solChains))) + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockState(env, slices.Collect(maps.Keys(solChains))) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load onchain state: %w", err) } @@ -206,7 +207,7 @@ func GenericTransferOwnership(env cldf.Environment, req *TransferOwnershipReques } // Load MCMS state - mcmsState, err := state.MaybeLoadMCMSWithTimelockChainStateSolanaV2( + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockChainStateV2( env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(req.ChainSel))) if err != nil { return out, err @@ -286,7 +287,7 @@ func GenericVerifyPreconditions(env cldf.Environment, chainSel uint64, version, type ( Deps struct { Env cldf.Environment - State *state.MCMSWithTimelockStateSolana + State *solstate.MCMSWithTimelockState Chain cldfsol.Chain } @@ -317,7 +318,7 @@ func TransferToTimelockSolanaOp(b operations.Bundle, deps Deps, in TransferToTim proposers[chainSelector] = solanaAddress(chainState.McmProgram, mcmssolanasdk.PDASeed(chainState.ProposerMcmSeed)) inspectors[chainSelector] = mcmssolanasdk.NewInspector(solChain.Client) - timelockSignerPDA := state.GetTimelockSignerPDA(chainState.TimelockProgram, chainState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(chainState.TimelockProgram, chainState.TimelockSeed) transactions := []mcmstypes.Transaction{} contract := in.Contract @@ -387,7 +388,7 @@ func (t TransferMCMSToTimelockSolana) VerifyPreconditions( func (t TransferMCMSToTimelockSolana) Apply( env cldf.Environment, cfg TransferMCMSToTimelockSolanaConfig, ) (cldf.ChangesetOutput, error) { - mcmsState, err := state.MaybeLoadMCMSWithTimelockStateSolana(env, cfg.Chains) + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockState(env, cfg.Chains) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load mcms state: %w", err) } @@ -398,25 +399,25 @@ func (t TransferMCMSToTimelockSolana) Apply( { ProgramID: chainState.McmProgram, Seed: chainState.ProposerMcmSeed, - OwnerPDA: state.GetMCMConfigPDA(chainState.McmProgram, chainState.ProposerMcmSeed), + OwnerPDA: solstate.GetMCMConfigPDA(chainState.McmProgram, chainState.ProposerMcmSeed), Type: commontypes.ProposerManyChainMultisig, }, { ProgramID: chainState.McmProgram, Seed: chainState.CancellerMcmSeed, - OwnerPDA: state.GetMCMConfigPDA(chainState.McmProgram, chainState.CancellerMcmSeed), + OwnerPDA: solstate.GetMCMConfigPDA(chainState.McmProgram, chainState.CancellerMcmSeed), Type: commontypes.CancellerManyChainMultisig, }, { ProgramID: chainState.McmProgram, Seed: chainState.BypasserMcmSeed, - OwnerPDA: state.GetMCMConfigPDA(chainState.McmProgram, chainState.BypasserMcmSeed), + OwnerPDA: solstate.GetMCMConfigPDA(chainState.McmProgram, chainState.BypasserMcmSeed), Type: commontypes.BypasserManyChainMultisig, }, { ProgramID: chainState.TimelockProgram, Seed: chainState.TimelockSeed, - OwnerPDA: state.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed), + OwnerPDA: solstate.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed), Type: commontypes.RBACTimelock, }, { diff --git a/deployment/common/changeset/solana/transfer_ownership_test.go b/deployment/common/changeset/solana/transfer_ownership_test.go index 8aecd81c737..07612e84ee4 100644 --- a/deployment/common/changeset/solana/transfer_ownership_test.go +++ b/deployment/common/changeset/solana/transfer_ownership_test.go @@ -6,6 +6,8 @@ import ( "time" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + soltestutils "github.com/smartcontractkit/cld-changesets/pkg/family/solana/testutils" "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" @@ -17,9 +19,8 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" ) func TestTransferToMCMSToTimelockSolana(t *testing.T) { @@ -33,7 +34,7 @@ func TestTransferToMCMSToTimelockSolana(t *testing.T) { chain := rt.Environment().BlockChains.SolanaChains()[selector] - mcmsState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) soltestutils.FundSignerPDAs(t, chain, mcmsState) @@ -53,19 +54,19 @@ func TestTransferToMCMSToTimelockSolana(t *testing.T) { require.NoError(t, err) // --- assert --- - timelockSignerPDA := state.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) assertOwner(t, chain, mcmsState, timelockSignerPDA) } func assertOwner( - t *testing.T, chain cldf_solana.Chain, mcmsState *state.MCMSWithTimelockStateSolana, owner solana.PublicKey, + t *testing.T, chain cldf_solana.Chain, mcmsState *solstate.MCMSWithTimelockState, owner solana.PublicKey, ) { t.Helper() - assertMCMOwner(t, owner, state.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed), chain) - assertMCMOwner(t, owner, state.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.CancellerMcmSeed), chain) - assertMCMOwner(t, owner, state.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.BypasserMcmSeed), chain) - assertTimelockOwner(t, owner, state.GetTimelockConfigPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed), chain) + assertMCMOwner(t, owner, solstate.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed), chain) + assertMCMOwner(t, owner, solstate.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.CancellerMcmSeed), chain) + assertMCMOwner(t, owner, solstate.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.BypasserMcmSeed), chain) + assertTimelockOwner(t, owner, solstate.GetTimelockConfigPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed), chain) assertAccessControllerOwner(t, owner, mcmsState.ProposerAccessControllerAccount, chain) assertAccessControllerOwner(t, owner, mcmsState.ExecutorAccessControllerAccount, chain) assertAccessControllerOwner(t, owner, mcmsState.CancellerAccessControllerAccount, chain) diff --git a/deployment/common/changeset/solana/update_delay_timelock.go b/deployment/common/changeset/solana/update_delay_timelock.go index 26976513930..66e43bafe3b 100644 --- a/deployment/common/changeset/solana/update_delay_timelock.go +++ b/deployment/common/changeset/solana/update_delay_timelock.go @@ -6,12 +6,11 @@ import ( "time" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" timelockBindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" ) // UpdateTimelockDelaySolana updates the timelock delay for the given solana chains @@ -42,7 +41,7 @@ func (t UpdateTimelockDelaySolana) VerifyPreconditions( if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) if err != nil { return fmt.Errorf("failed to load MCMS state: %w", err) } @@ -67,8 +66,8 @@ func (t UpdateTimelockDelaySolana) Apply( if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) - configPDA := state.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) + configPDA := solstate.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) timelockBindings.SetProgramID(mcmState.TimelockProgram) updateDelayIx := timelockBindings.NewUpdateDelayInstruction(mcmState.TimelockSeed, uint64(delay.Seconds()), configPDA, solChain.DeployerKey.PublicKey()) ix, err := updateDelayIx.ValidateAndBuild() diff --git a/deployment/common/changeset/solana/update_delay_timelock_test.go b/deployment/common/changeset/solana/update_delay_timelock_test.go index 4981e484f5c..6c11ecb95d0 100644 --- a/deployment/common/changeset/solana/update_delay_timelock_test.go +++ b/deployment/common/changeset/solana/update_delay_timelock_test.go @@ -7,6 +7,7 @@ import ( "github.com/gagliardetto/solana-go" chainselectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" "github.com/stretchr/testify/require" @@ -18,7 +19,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -149,10 +149,10 @@ func TestUpdateTimelockDelaySolana_Apply(t *testing.T) { chain := rt.Environment().BlockChains.SolanaChains()[selector] // Check new delay config value - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) - timelockConfigPDA := state.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockConfigPDA := solstate.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) var timelockConfig timelockBindings.Config err = chain.GetAccountDataBorshInto(t.Context(), timelockConfigPDA, &timelockConfig) diff --git a/deployment/common/changeset/state/solana.go b/deployment/common/changeset/state/solana.go index 55991b15c59..76295bd3880 100644 --- a/deployment/common/changeset/state/solana.go +++ b/deployment/common/changeset/state/solana.go @@ -9,14 +9,7 @@ import ( mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" - "github.com/smartcontractkit/chainlink-deployments-framework/datastore" - timelockBindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" - - cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - - "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/types" view "github.com/smartcontractkit/chainlink/deployment/common/view/v1_0" ) @@ -39,69 +32,6 @@ type MCMSWithTimelockProgramsSolana struct { BypasserAccessControllerAccount solana.PublicKey } -func (s *MCMSWithTimelockProgramsSolana) GetStateFromType(programType cldf.ContractType) (solana.PublicKey, PDASeed, error) { - switch programType { - case types.ManyChainMultisigProgram: - return s.McmProgram, PDASeed{}, nil - case types.ProposerManyChainMultisig: - return s.McmProgram, s.ProposerMcmSeed, nil - case types.BypasserManyChainMultisig: - return s.McmProgram, s.BypasserMcmSeed, nil - case types.CancellerManyChainMultisig: - return s.McmProgram, s.CancellerMcmSeed, nil - case types.RBACTimelockProgram: - return s.TimelockProgram, PDASeed{}, nil - case types.RBACTimelock: - return s.TimelockProgram, s.TimelockSeed, nil - case types.AccessControllerProgram: - return s.AccessControllerProgram, PDASeed{}, nil - case types.ProposerAccessControllerAccount: - return s.AccessControllerProgram, PDASeed(s.ProposerAccessControllerAccount), nil - case types.ExecutorAccessControllerAccount: - return s.AccessControllerProgram, PDASeed(s.ExecutorAccessControllerAccount), nil - case types.CancellerAccessControllerAccount: - return s.AccessControllerProgram, PDASeed(s.CancellerAccessControllerAccount), nil - case types.BypasserAccessControllerAccount: - return s.AccessControllerProgram, PDASeed(s.BypasserAccessControllerAccount), nil - default: - return solana.PublicKey{}, PDASeed{}, fmt.Errorf("unknown program type: %s", programType) - } -} - -func (s *MCMSWithTimelockProgramsSolana) SetState(contractType cldf.ContractType, program solana.PublicKey, seed PDASeed) error { - switch contractType { - case types.ManyChainMultisigProgram: - s.McmProgram = program - case types.ProposerManyChainMultisig: - s.McmProgram = program - s.ProposerMcmSeed = seed - case types.BypasserManyChainMultisig: - s.McmProgram = program - s.BypasserMcmSeed = seed - case types.CancellerManyChainMultisig: - s.McmProgram = program - s.CancellerMcmSeed = seed - case types.RBACTimelockProgram: - s.TimelockProgram = program - case types.RBACTimelock: - s.TimelockProgram = program - s.TimelockSeed = seed - case types.AccessControllerProgram: - s.AccessControllerProgram = program - case types.ProposerAccessControllerAccount: - s.ProposerAccessControllerAccount = program - case types.ExecutorAccessControllerAccount: - s.ExecutorAccessControllerAccount = program - case types.CancellerAccessControllerAccount: - s.CancellerAccessControllerAccount = program - case types.BypasserAccessControllerAccount: - s.BypasserAccessControllerAccount = program - default: - return fmt.Errorf("unknown contract type: %s", contractType) - } - return nil -} - // Validate checks that all fields are non-nil, ensuring it's ready // for use generating views or interactions. func (s *MCMSWithTimelockProgramsSolana) Validate() error { @@ -129,21 +59,6 @@ func (s *MCMSWithTimelockProgramsSolana) Validate() error { return nil } -func (s *MCMSWithTimelockProgramsSolana) RoleAccount(role timelockBindings.Role) solana.PublicKey { - switch role { - case timelockBindings.Proposer_Role: - return s.ProposerAccessControllerAccount - case timelockBindings.Executor_Role: - return s.ExecutorAccessControllerAccount - case timelockBindings.Canceller_Role: - return s.CancellerAccessControllerAccount - case timelockBindings.Bypasser_Role: - return s.BypasserAccessControllerAccount - default: - return solana.PublicKey{} - } -} - func (s *MCMSWithTimelockProgramsSolana) GenerateView( ctx context.Context, chain cldf_solana.Chain, ) (view.MCMSWithTimelockViewSolana, error) { @@ -165,269 +80,3 @@ func (s *MCMSWithTimelockProgramsSolana) GenerateView( type MCMSWithTimelockStateSolana struct { *MCMSWithTimelockProgramsSolana } - -// MaybeLoadMCMSWithTimelockStateSolana loads the MCMSWithTimelockStateSolana state for each chain in the given environment. -func MaybeLoadMCMSWithTimelockStateSolana(env cldf.Environment, chainSelectors []uint64) (map[uint64]*MCMSWithTimelockStateSolana, error) { - result := map[uint64]*MCMSWithTimelockStateSolana{} - solChains := env.BlockChains.SolanaChains() - for _, chainSelector := range chainSelectors { - chain, ok := solChains[chainSelector] - if !ok { - return nil, fmt.Errorf("chain %d not found", chainSelector) - } - addressesChain, err := env.ExistingAddresses.AddressesForChain(chainSelector) - if err != nil { - if !errors.Is(err, cldf.ErrChainNotFound) { - return nil, fmt.Errorf("unable to get addresses for chain %v: %w", chainSelector, err) - } - // chain not found in address book, initialize empty - addressesChain = make(map[string]cldf.TypeAndVersion) - } - state, err := MaybeLoadMCMSWithTimelockChainStateSolana(chain, addressesChain) - if err != nil { - return nil, fmt.Errorf("unable to load mcms and timelock solana chain state: %w", err) - } - result[chainSelector] = state - } - return result, nil -} - -// MaybeLoadMCMSWithTimelockChainStateSolana looks for the addresses corresponding to -// contracts deployed with DeployMCMSWithTimelock and loads them into a -// MCMSWithTimelockStateSolana struct. If none of the contracts are found, the -// state struct will be nil. -// An error indicates: -// - Found but was unable to load a contract -// - It only found part of the bundle of contracts -// - If found more than one instance of a contract (we expect one bundle in the given addresses) -func MaybeLoadMCMSWithTimelockChainStateSolana(chain cldf_solana.Chain, addresses map[string]cldf.TypeAndVersion) (*MCMSWithTimelockStateSolana, error) { - state := MCMSWithTimelockStateSolana{MCMSWithTimelockProgramsSolana: &MCMSWithTimelockProgramsSolana{}} - - mcmProgram := cldf.NewTypeAndVersion(types.ManyChainMultisigProgram, deployment.Version1_0_0) - timelockProgram := cldf.NewTypeAndVersion(types.RBACTimelockProgram, deployment.Version1_0_0) - accessControllerProgram := cldf.NewTypeAndVersion(types.AccessControllerProgram, deployment.Version1_0_0) - proposerMCM := cldf.NewTypeAndVersion(types.ProposerManyChainMultisig, deployment.Version1_0_0) - cancellerMCM := cldf.NewTypeAndVersion(types.CancellerManyChainMultisig, deployment.Version1_0_0) - bypasserMCM := cldf.NewTypeAndVersion(types.BypasserManyChainMultisig, deployment.Version1_0_0) - timelock := cldf.NewTypeAndVersion(types.RBACTimelock, deployment.Version1_0_0) - proposerAccessControllerAccount := cldf.NewTypeAndVersion(types.ProposerAccessControllerAccount, deployment.Version1_0_0) - executorAccessControllerAccount := cldf.NewTypeAndVersion(types.ExecutorAccessControllerAccount, deployment.Version1_0_0) - cancellerAccessControllerAccount := cldf.NewTypeAndVersion(types.CancellerAccessControllerAccount, deployment.Version1_0_0) - bypasserAccessControllerAccount := cldf.NewTypeAndVersion(types.BypasserAccessControllerAccount, deployment.Version1_0_0) - - // Convert map keys to a slice - wantTypes := []cldf.TypeAndVersion{ - mcmProgram, timelockProgram, accessControllerProgram, proposerMCM, cancellerMCM, bypasserMCM, timelock, - proposerAccessControllerAccount, executorAccessControllerAccount, cancellerAccessControllerAccount, - bypasserAccessControllerAccount, - } - - // Ensure we either have the bundle or not. - _, err := cldf.EnsureDeduped(addresses, wantTypes) - if err != nil { - return nil, fmt.Errorf("unable to check MCMS contracts on chain %s error: %w", chain.Name(), err) - } - - for address, tvStr := range addresses { - switch { - case tvStr.Type == timelockProgram.Type && tvStr.Version.String() == timelockProgram.Version.String(): - programID, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode timelock program address (%s): %w", address, err) - } - state.TimelockProgram = programID - - case tvStr.Type == timelock.Type && tvStr.Version.String() == timelock.Version.String(): - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode timelock address (%s): %w", address, err) - } - state.TimelockProgram = programID - state.TimelockSeed = seed - - case tvStr.Type == accessControllerProgram.Type && tvStr.Version.String() == accessControllerProgram.Version.String(): - programID, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to parse public key from access controller address: %s", address) - } - state.AccessControllerProgram = programID - - case tvStr.Type == proposerAccessControllerAccount.Type && tvStr.Version.String() == proposerAccessControllerAccount.Version.String(): - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode proposer access controller address (%s): %w", address, err) - } - state.ProposerAccessControllerAccount = account - - case tvStr.Type == executorAccessControllerAccount.Type && tvStr.Version.String() == executorAccessControllerAccount.Version.String(): - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode executor access controller address (%s): %w", address, err) - } - state.ExecutorAccessControllerAccount = account - - case tvStr.Type == cancellerAccessControllerAccount.Type && tvStr.Version.String() == cancellerAccessControllerAccount.Version.String(): - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode canceller access controller address (%s): %w", address, err) - } - state.CancellerAccessControllerAccount = account - - case tvStr.Type == bypasserAccessControllerAccount.Type && tvStr.Version.String() == bypasserAccessControllerAccount.Version.String(): - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode bypasser access controller address (%s): %w", address, err) - } - state.BypasserAccessControllerAccount = account - - case tvStr.Type == mcmProgram.Type && tvStr.Version.String() == mcmProgram.Version.String(): - programID, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to parse public key from mcm address: %s", address) - } - state.McmProgram = programID - - case tvStr.Type == proposerMCM.Type && tvStr.Version.String() == proposerMCM.Version.String(): - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode proposer address (%s): %w", address, err) - } - state.McmProgram = programID - state.ProposerMcmSeed = seed - - case tvStr.Type == bypasserMCM.Type && tvStr.Version.String() == bypasserMCM.Version.String(): - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode bypasser address (%s): %w", address, err) - } - state.McmProgram = programID - state.BypasserMcmSeed = seed - - case tvStr.Type == cancellerMCM.Type && tvStr.Version.String() == cancellerMCM.Version.String(): - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode canceller address (%s): %w", address, err) - } - state.McmProgram = programID - state.CancellerMcmSeed = seed - } - } - return &state, nil -} - -// Loads MCMSSolanaState from Datastore address refs -func MaybeLoadMCMSWithTimelockChainStateSolanaV2(refs []datastore.AddressRef) (*MCMSWithTimelockStateSolana, error) { - state := MCMSWithTimelockStateSolana{MCMSWithTimelockProgramsSolana: &MCMSWithTimelockProgramsSolana{}} - - mcmProgram := datastore.ContractType(types.ManyChainMultisigProgram) - timelockProgram := datastore.ContractType(types.RBACTimelockProgram) - accessControllerProgram := datastore.ContractType(types.AccessControllerProgram) - proposerMCM := datastore.ContractType(types.ProposerManyChainMultisig) - cancellerMCM := datastore.ContractType(types.CancellerManyChainMultisig) - bypasserMCM := datastore.ContractType(types.BypasserManyChainMultisig) - timelock := datastore.ContractType(types.RBACTimelock) - proposerAccessControllerAccount := datastore.ContractType(types.ProposerAccessControllerAccount) - executorAccessControllerAccount := datastore.ContractType(types.ExecutorAccessControllerAccount) - cancellerAccessControllerAccount := datastore.ContractType(types.CancellerAccessControllerAccount) - bypasserAccessControllerAccount := datastore.ContractType(types.BypasserAccessControllerAccount) - - for _, ref := range refs { - address := ref.Address - switch ref.Type { - case timelockProgram: - programID, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode timelock program address (%s): %w", address, err) - } - state.TimelockProgram = programID - - case timelock: - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode timelock address (%s): %w", address, err) - } - state.TimelockProgram = programID - state.TimelockSeed = seed - - case accessControllerProgram: - programID, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to parse public key from access controller address: %s", address) - } - state.AccessControllerProgram = programID - - case proposerAccessControllerAccount: - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode proposer access controller address (%s): %w", address, err) - } - state.ProposerAccessControllerAccount = account - - case executorAccessControllerAccount: - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode executor access controller address (%s): %w", address, err) - } - state.ExecutorAccessControllerAccount = account - - case cancellerAccessControllerAccount: - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode canceller access controller address (%s): %w", address, err) - } - state.CancellerAccessControllerAccount = account - - case bypasserAccessControllerAccount: - account, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to decode bypasser access controller address (%s): %w", address, err) - } - state.BypasserAccessControllerAccount = account - - case mcmProgram: - programID, err := solana.PublicKeyFromBase58(address) - if err != nil { - return nil, fmt.Errorf("unable to parse public key from mcm address: %s", address) - } - state.McmProgram = programID - - case proposerMCM: - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode proposer address (%s): %w", address, err) - } - state.McmProgram = programID - state.ProposerMcmSeed = seed - - case bypasserMCM: - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode bypasser address (%s): %w", address, err) - } - state.McmProgram = programID - state.BypasserMcmSeed = seed - - case cancellerMCM: - programID, seed, err := DecodeAddressWithSeed(address) - if err != nil { - return nil, fmt.Errorf("unable to decode canceller address (%s): %w", address, err) - } - state.McmProgram = programID - state.CancellerMcmSeed = seed - } - } - return &state, nil -} - -func EncodeAddressWithSeed(programID solana.PublicKey, seed PDASeed) string { - return mcmssolanasdk.ContractAddress(programID, mcmssolanasdk.PDASeed(seed)) -} - -func DecodeAddressWithSeed(address string) (solana.PublicKey, PDASeed, error) { - programID, seed, err := mcmssolanasdk.ParseContractAddress(address) - if err != nil { - return solana.PublicKey{}, PDASeed{}, fmt.Errorf("unable to parse address: %s", address) - } - - return programID, PDASeed(seed), nil -} diff --git a/deployment/common/proposalutils/propose.go b/deployment/common/proposalutils/propose.go index c68ac064972..be875381a76 100644 --- a/deployment/common/proposalutils/propose.go +++ b/deployment/common/proposalutils/propose.go @@ -12,6 +12,7 @@ import ( "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" chain_selectors "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmslib "github.com/smartcontractkit/mcms" mcmschainwrappers "github.com/smartcontractkit/mcms/chainwrappers" mcmssdk "github.com/smartcontractkit/mcms/sdk" @@ -27,7 +28,6 @@ import ( cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" tonstate "github.com/smartcontractkit/chainlink-ton/deployment/state" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" ccipTypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -43,7 +43,7 @@ type TimelockConfig struct { ValidDuration *commonconfig.Duration `json:"validDuration" yaml:"validDuration"` } -func (tc *TimelockConfig) MCMBasedOnActionSolana(s state.MCMSWithTimelockStateSolana) (string, error) { +func (tc *TimelockConfig) MCMBasedOnActionSolana(s solstate.MCMSWithTimelockState) (string, error) { // if MCMSAction is not set, default to timelock.Schedule, this is to ensure no breaking changes for existing code if tc.MCMSAction == "" { tc.MCMSAction = types.TimelockActionSchedule @@ -413,16 +413,16 @@ func buildProposalMetadataV2( return proposalChainMetadata, nil } -func getSolanaState(env cldf.Environment, selector uint64) (*state.MCMSWithTimelockStateSolana, error) { +func getSolanaState(env cldf.Environment, selector uint64) (*solstate.MCMSWithTimelockState, error) { solanaChains := env.BlockChains.SolanaChains() addresses, err := env.ExistingAddresses.AddressesForChain(selector) - solanaState, err1 := state.MaybeLoadMCMSWithTimelockChainStateSolana(solanaChains[selector], addresses) + solanaState, err1 := solstate.MaybeLoadMCMSWithTimelockChainState(solanaChains[selector], addresses) if err == nil { return solanaState, nil } env.Logger.Info("failed to load MCMSState from address book") - solanaState, err2 := state.MaybeLoadMCMSWithTimelockChainStateSolanaV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(selector))) + solanaState, err2 := solstate.MaybeLoadMCMSWithTimelockChainStateV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(selector))) if err2 != nil { return nil, fmt.Errorf("failed to load solana state: %w", errors.Join(err1, err2)) } @@ -438,7 +438,7 @@ func getSolanaState(env cldf.Environment, selector uint64) (*state.MCMSWithTimel func AggregateProposals( env cldf.Environment, mcmsEVMState map[uint64]evmstate.MCMSWithTimelockState, - mcmsSolanaState map[uint64]state.MCMSWithTimelockStateSolana, + mcmsSolanaState map[uint64]solstate.MCMSWithTimelockState, proposals []mcmslib.TimelockProposal, description string, mcmsConfig *TimelockConfig, @@ -457,7 +457,7 @@ func AggregateProposals( type MCMSStates struct { MCMSEVMState map[uint64]evmstate.MCMSWithTimelockState - MCMSSolanaState map[uint64]state.MCMSWithTimelockStateSolana + MCMSSolanaState map[uint64]solstate.MCMSWithTimelockState MCMSAptosState map[uint64]aptos.AccountAddress MCMSTONState map[uint64]tonstate.MCMSChainState } diff --git a/deployment/common/proposalutils/propose_test.go b/deployment/common/proposalutils/propose_test.go index 8c56afafd39..5a6d7b4e785 100644 --- a/deployment/common/proposalutils/propose_test.go +++ b/deployment/common/proposalutils/propose_test.go @@ -10,6 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" chain_selectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssdk "github.com/smartcontractkit/mcms/sdk" "github.com/smartcontractkit/mcms/sdk/solana" @@ -28,7 +29,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" @@ -79,7 +79,7 @@ func TestBuildProposalFromBatchesV2(t *testing.T) { addrs, err = rt.State().AddressBook.AddressesForChain(solSelector) require.NoError(t, err) - solState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addrs) + solState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addrs) require.NoError(t, err) timelockAddressPerChain := map[uint64]string{ diff --git a/deployment/cre/forwarder/solana/deploy_forwarder.go b/deployment/cre/forwarder/solana/deploy_forwarder.go index e378d147062..14d0f12e135 100644 --- a/deployment/cre/forwarder/solana/deploy_forwarder.go +++ b/deployment/cre/forwarder/solana/deploy_forwarder.go @@ -10,6 +10,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" @@ -18,7 +19,7 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/cre/forwarder" seq "github.com/smartcontractkit/chainlink/deployment/cre/forwarder/solana/sequence" @@ -238,7 +239,7 @@ func (cs ConfigureForwarders) VerifyPreconditions(env cldf.Environment, req *Con return fmt.Errorf("failed get fowarder for chain selector %d: %w", sel, err) } if req.MCMS != nil { - _, err = commonstate.MaybeLoadMCMSWithTimelockChainStateSolanaV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(sel))) + _, err = solstate.MaybeLoadMCMSWithTimelockChainStateV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(sel))) if err != nil { return fmt.Errorf("failed to load MCMS for chain selector %d: %w", sel, err) } @@ -268,7 +269,7 @@ func (cs ConfigureForwarders) Apply(env cldf.Environment, req *ConfigureForwarde solChain := env.BlockChains.SolanaChains()[chainSel] addresses := env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(chainSel)) - mcmState, _ := commonstate.MaybeLoadMCMSWithTimelockChainStateSolanaV2(addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainStateV2(addresses) if mcmState.TimelockProgram.IsZero() { return cldf.ChangesetOutput{}, errors.New("timelock is not found") } diff --git a/deployment/go.mod b/deployment/go.mod index a0f629a99ee..18ccc7b71d6 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -44,7 +44,7 @@ require ( github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260428205619-2db1389501a1 github.com/smartcontractkit/chainlink-common v0.11.2-0.20260504171535-31bb37ff18d5 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 - github.com/smartcontractkit/chainlink-deployments-framework v0.98.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.99.0 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260504070828-3216bb63d886 github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828 @@ -59,7 +59,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.5 github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e - github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 + github.com/smartcontractkit/cld-changesets v0.0.0-20260505190829-d29a2771ed91 github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 diff --git a/deployment/go.sum b/deployment/go.sum index 3cb711d1e17..cd7d34291e6 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1407,8 +1407,8 @@ github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-2025121515250 github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20251215152504-b1e41f508340/go.mod h1:P/0OSXUlFaxxD4B/P6HWbxYtIRmmWGDJAvanq19879c= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.98.0 h1:Ov/KOEtubOHXX8oa9UtARhHmkQNCOIjWNt+Zi0AuzHM= -github.com/smartcontractkit/chainlink-deployments-framework v0.98.0/go.mod h1:24dwRW1PYolrlxSth///ddG3auGqR+50xaJiXfUHhkg= +github.com/smartcontractkit/chainlink-deployments-framework v0.99.0 h1:UmFIN63m3+qXB5sP3ZtNzoMS8iIPDxeDVzYnhFB/U2k= +github.com/smartcontractkit/chainlink-deployments-framework v0.99.0/go.mod h1:h2R69nbkSMGUSYHrf1lbrchml1CdR1jP4t9HsBb0xdY= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260504070828-3216bb63d886 h1:ighx6Wf5Le/tp2nFIipnr3axk+zlmu6SZ6n7qp2mpqQ= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260504070828-3216bb63d886/go.mod h1:GH17WWRgGTWHp4GfJbK/9LdgkajYuLx1TmAO/jqRKDs= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1481,8 +1481,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.0.0-20260505190829-d29a2771ed91 h1:enMC3bPrkSFvGBpk3gEcF1HrC7LeQQjf6NUtPKqPJgc= +github.com/smartcontractkit/cld-changesets v0.0.0-20260505190829-d29a2771ed91/go.mod h1:GjGekMa9+KqHA6Aw/ibB1ACy6tXzfN0kAMotBpNkHNc= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/deployment/helpers/deploy_solana.go b/deployment/helpers/deploy_solana.go index 7af90657017..8a49c849dd0 100644 --- a/deployment/helpers/deploy_solana.go +++ b/deployment/helpers/deploy_solana.go @@ -6,6 +6,7 @@ import ( "time" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -15,7 +16,6 @@ import ( mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -88,7 +88,7 @@ func BuildProposalsForTxns( batches := make([]mcmsTypes.BatchOperation, 0) chain := e.BlockChains.SolanaChains()[chainSelector] addresses := e.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(chainSelector)) - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolanaV2(addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainStateV2(addresses) timelocks[chainSelector] = mcmsSolana.ContractAddress( mcmState.TimelockProgram, @@ -115,10 +115,10 @@ func BuildProposalsForTxns( } func FetchTimelockSigner(refs []datastore.AddressRef) (solana.PublicKey, error) { - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolanaV2(refs) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainStateV2(refs) if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) return timelockSignerPDA, nil } diff --git a/deployment/internal/soltestutils/datastore.go b/deployment/internal/soltestutils/datastore.go index 218ec583c31..da99972c9e2 100644 --- a/deployment/internal/soltestutils/datastore.go +++ b/deployment/internal/soltestutils/datastore.go @@ -4,6 +4,7 @@ import ( "testing" "github.com/Masterminds/semver/v3" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/stretchr/testify/require" cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -11,7 +12,6 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) @@ -70,13 +70,13 @@ func PreloadAddressBookWithMCMSPrograms(t *testing.T, selector uint64) *cldf.Add // GetMCMSStateFromAddressBook retrieves the state of the Solana MCMS contracts on the given chain. func GetMCMSStateFromAddressBook( t *testing.T, ab cldf.AddressBook, chain cldfsolana.Chain, -) *state.MCMSWithTimelockStateSolana { +) *solstate.MCMSWithTimelockState { t.Helper() addresses, err := ab.AddressesForChain(chain.Selector) require.NoError(t, err) - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) return mcmState diff --git a/deployment/internal/soltestutils/fund.go b/deployment/internal/soltestutils/fund.go index 6b67035922f..3d4c9a7d5f7 100644 --- a/deployment/internal/soltestutils/fund.go +++ b/deployment/internal/soltestutils/fund.go @@ -4,22 +4,22 @@ import ( "testing" "github.com/gagliardetto/solana-go" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/stretchr/testify/require" cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) // FundSignerPDAs funds the timelock signer and MCMS signer PDAs with 1 SOL for testing func FundSignerPDAs( - t *testing.T, chain cldfsolana.Chain, mcmsState *state.MCMSWithTimelockStateSolana, + t *testing.T, chain cldfsolana.Chain, mcmsState *solstate.MCMSWithTimelockState, ) { t.Helper() - timelockSignerPDA := state.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) - mcmSignerPDA := state.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed) + timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) + mcmSignerPDA := solstate.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed) signerPDAs := []solana.PublicKey{timelockSignerPDA, mcmSignerPDA} err := solutils.FundAccounts(t.Context(), chain.Client, signerPDAs, 1) require.NoError(t, err) diff --git a/deployment/keystone/changeset/solana/deploy_forwarder.go b/deployment/keystone/changeset/solana/deploy_forwarder.go index 211a08a063d..78eadbd27a5 100644 --- a/deployment/keystone/changeset/solana/deploy_forwarder.go +++ b/deployment/keystone/changeset/solana/deploy_forwarder.go @@ -10,6 +10,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" @@ -19,7 +20,7 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" capabilities_registry "github.com/smartcontractkit/chainlink-evm/gethwrappers/keystone/generated/capabilities_registry_1_1_0" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/helpers" "github.com/smartcontractkit/chainlink/deployment/keystone/changeset/internal" @@ -243,7 +244,7 @@ func (cs ConfigureForwarders) VerifyPreconditions(env cldf.Environment, req *Con return fmt.Errorf("failed get fowarder for chain selector %d: %w", sel, err) } if req.MCMS != nil { - _, err = commonstate.MaybeLoadMCMSWithTimelockChainStateSolanaV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(sel))) + _, err = solstate.MaybeLoadMCMSWithTimelockChainStateV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(sel))) if err != nil { return fmt.Errorf("failed to load MCMS for chain selector %d: %w", sel, err) } @@ -292,7 +293,7 @@ func (cs ConfigureForwarders) Apply(env cldf.Environment, req *ConfigureForwarde solChain := env.BlockChains.SolanaChains()[chainSel] addresses := env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(chainSel)) - mcmState, _ := commonstate.MaybeLoadMCMSWithTimelockChainStateSolanaV2(addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainStateV2(addresses) if mcmState.TimelockProgram.IsZero() { return cldf.ChangesetOutput{}, errors.New("timelock is not found") } From 5e81dd95e79024736ec8d5ff21503eafe642f71b Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 12:10:49 -0600 Subject: [PATCH 02/25] chore: swap solana state loading funcs and timelock configs in changesets and tests --- ...s_transfer_to_mcms_with_timelock_solana.go | 6 +-- .../v1_6/cs_add_evm_solana_lane.go | 4 +- .../changeset/cs_grant_and_mint_link_token.go | 2 +- .../changeset/cs_orchestrate_changesets.go | 2 +- .../solana_v0_1_0/cs_deploy_chain.go | 5 ++- .../ccip/changeset/solana_v0_1_0/cs_idl.go | 2 +- .../ccip/changeset/solana_v0_1_0/cs_ops.go | 2 +- .../changeset/solana_v0_1_0/cs_set_ocr3.go | 2 +- .../solana_v0_1_0/cs_verify_contracts.go | 5 ++- .../transfer_ccip_to_mcms_with_timelock.go | 5 ++- .../ccip/changeset/solana_v0_1_0/utils.go | 5 ++- .../solana_v0_1_1/cs_deploy_chain.go | 5 ++- .../solana_v0_1_1/cs_deploy_chain_test.go | 2 +- .../ccip/changeset/solana_v0_1_1/cs_idl.go | 2 +- .../ccip/changeset/solana_v0_1_1/cs_ops.go | 2 +- .../changeset/solana_v0_1_1/cs_set_ocr3.go | 2 +- .../solana_v0_1_1/cs_verify_contracts.go | 6 +-- .../transfer_ccip_to_mcms_with_timelock.go | 5 ++- .../ccip/changeset/solana_v0_1_1/utils.go | 5 ++- .../testhelpers/test_helpers_solana_v0_1_0.go | 9 ++-- .../testhelpers/test_helpers_solana_v0_1_1.go | 7 ++-- .../shared/deployergroup/deployer_group.go | 7 ++-- .../deployergroup/deployer_group_test.go | 2 +- deployment/ccip/shared/stateview/evm/state.go | 2 +- .../ccip/shared/stateview/solana/state.go | 7 ++-- deployment/ccip/shared/stateview/state.go | 4 +- deployment/ccip/view/solana/mcms.go | 11 ++--- deployment/ccip/view/view.go | 2 +- .../changeset/deploy_link_token_test.go | 2 +- .../changeset/deploy_mcms_with_timelock.go | 2 +- .../deploy_mcms_with_timelock_test.go | 11 ++--- deployment/common/changeset/evm/mcms/mcms.go | 2 +- .../common/changeset/evm/mcms/mcms_test.go | 2 +- .../ops/ops_solana_grant_role_timelock.go | 5 ++- .../seqs/seq_solana_grant_role_timelock.go | 2 +- .../changeset/example/solana_transfer_mcm.go | 9 ++-- deployment/common/changeset/mcms_firedrill.go | 4 +- .../common/changeset/set_config_mcms.go | 7 ++-- .../common/changeset/set_config_mcms_test.go | 4 +- .../common/changeset/solana/fund_mcm_pdas.go | 11 ++--- .../changeset/solana/fund_mcm_pdas_test.go | 11 ++--- .../changeset/solana/grant_role_timelock.go | 2 +- .../solana/grant_role_timelock_test.go | 4 +- .../solana/mcms/access_controller.go | 11 ++--- .../common/changeset/solana/mcms/mcm.go | 13 +++--- .../common/changeset/solana/mcms/mcms.go | 2 +- .../mcms/sequence/operation/operation.go | 41 ++++++++++--------- .../solana/mcms/sequence/sequence.go | 15 +++---- .../common/changeset/solana/mcms/timelock.go | 9 ++-- .../changeset/solana/transfer_ownership.go | 13 +++--- .../solana/transfer_ownership_test.go | 15 +++---- .../changeset/solana/update_delay_timelock.go | 5 ++- .../solana/update_delay_timelock_test.go | 5 ++- deployment/common/changeset/state.go | 4 +- deployment/common/changeset/state/evm.go | 2 +- deployment/common/changeset/test_helpers.go | 2 +- .../transfer_to_mcms_with_timelock.go | 2 +- .../transfer_to_mcms_with_timelock_test.go | 2 +- deployment/common/opsutils/evm.go | 2 +- deployment/common/opsutils/evm_test.go | 2 +- deployment/common/proposalutils/propose.go | 4 +- .../common/proposalutils/propose_test.go | 2 +- .../v2/changeset/add_capabilities.go | 2 +- .../configure_capabilities_registry.go | 2 +- .../v2/changeset/delete_don.go | 2 +- .../changeset/sequences/add_capabilities.go | 2 +- .../configure_capabilities_registry.go | 2 +- .../changeset/sequences/set_dons_families.go | 2 +- .../v2/changeset/set_dons_families.go | 2 +- .../v2/changeset/update_don.go | 2 +- .../v2/changeset/update_nodes_changeset.go | 2 +- .../cre/common/strategies/mcms_transaction.go | 2 +- .../strategies/mcms_transaction_test.go | 2 +- .../cre/common/strategies/strategies.go | 2 +- deployment/cre/contracts/contracts.go | 2 +- deployment/cre/forwarder/configure.go | 2 +- .../cre/forwarder/solana/deploy_forwarder.go | 2 +- .../contracts/configure_vault_dkg.go | 2 +- .../contracts/configure_vault_plugin.go | 2 +- .../cre/ocr3/v2/changeset/configure_ocr3.go | 2 +- .../v2/changeset/admin_workflow_registry.go | 2 +- .../changeset/configure_workflow_registry.go | 2 +- .../v2/changeset/user_workflow_registry.go | 2 +- deployment/data-feeds/changeset/proposal.go | 2 +- deployment/go.mod | 14 +++---- deployment/go.sum | 28 ++++++------- deployment/helpers/deploy_solana.go | 5 ++- deployment/internal/soltestutils/datastore.go | 6 +-- deployment/internal/soltestutils/fund.go | 9 ++-- deployment/keystone/changeset/deploy_ocr3.go | 2 +- .../deploy_configure_forwarders_seq.go | 2 +- .../changeset/solana/deploy_forwarder.go | 2 +- .../changeset/workflowregistry/strategies.go | 2 +- deployment/vault/changeset/validation.go | 2 +- deployment/vault/view/view.go | 2 +- 95 files changed, 246 insertions(+), 221 deletions(-) diff --git a/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go b/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go index e1149e7dfcd..7ac25bd0948 100644 --- a/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go +++ b/deployment/ccip/changeset/ccip-attestation-solana/cs_transfer_to_mcms_with_timelock_solana.go @@ -6,7 +6,8 @@ import ( "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -22,7 +23,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -110,7 +110,7 @@ func TransferSignerRegistryToMCMSWithTimelockSolanaChangeset( if !cfg.CurrentOwner.IsZero() { currentOwner = cfg.CurrentOwner } - timelockSigner := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSigner := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) proposedOwner := timelockSigner if !cfg.ProposedOwner.IsZero() { proposedOwner = cfg.ProposedOwner diff --git a/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go b/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go index 640d61717ba..22e919814d2 100644 --- a/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go +++ b/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go @@ -13,8 +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" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" solana "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/solana_v0_1_0" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/v1_6" diff --git a/deployment/ccip/changeset/cs_grant_and_mint_link_token.go b/deployment/ccip/changeset/cs_grant_and_mint_link_token.go index 66160d9776e..d6db83c3cf1 100644 --- a/deployment/ccip/changeset/cs_grant_and_mint_link_token.go +++ b/deployment/ccip/changeset/cs_grant_and_mint_link_token.go @@ -9,7 +9,7 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" diff --git a/deployment/ccip/changeset/cs_orchestrate_changesets.go b/deployment/ccip/changeset/cs_orchestrate_changesets.go index 6207b44e8fb..48c58a1f058 100644 --- a/deployment/ccip/changeset/cs_orchestrate_changesets.go +++ b/deployment/ccip/changeset/cs_orchestrate_changesets.go @@ -6,7 +6,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/mcms" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go index f962937905f..3b6b2dff732 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go @@ -10,7 +10,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" chainsel "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -911,7 +912,7 @@ func generateUpgradeTxns( if err != nil { return txns, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) // if we're not upgrading via timelock, execute the raw ixns if config.UpgradeConfig.UpgradeAuthority != timelockSignerPDA { bufferSize, err := GetSolProgramSize(&e, chain, bufferProgram) diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go b/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go index af25d6ddf3c..bb9da0030a9 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_idl.go @@ -12,7 +12,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/pelletier/go-toml" chainsel "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go b/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go index 763b9394ff4..c7f2c9b0e11 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_ops.go @@ -7,7 +7,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go b/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go index a5aacfbd789..3bb13b019b5 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_set_ocr3.go @@ -6,7 +6,7 @@ import ( "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go b/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go index 01c7e35d5a9..c4666f56fba 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_verify_contracts.go @@ -8,7 +8,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/mr-tron/base58" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -326,7 +327,7 @@ func VerifyBuild(e cldf.Environment, cfg VerifyBuildConfig) (cldf.ChangesetOutpu } var timelockSignerPDA solana.PublicKey if mcmState != nil { - timelockSignerPDA = solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA = pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) } verifications := []struct { diff --git a/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go b/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go index c92585bd51a..a42ce4424f9 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go +++ b/deployment/ccip/changeset/solana_v0_1_0/transfer_ccip_to_mcms_with_timelock.go @@ -5,7 +5,8 @@ import ( "fmt" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -159,7 +160,7 @@ func TransferCCIPToMCMSWithTimelockSolana( if !cfg.CurrentOwner.IsZero() { currentOwner = cfg.CurrentOwner } - timelockSigner := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSigner := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) proposedOwner := timelockSigner if !cfg.ProposedOwner.IsZero() { proposedOwner = cfg.ProposedOwner diff --git a/deployment/ccip/changeset/solana_v0_1_0/utils.go b/deployment/ccip/changeset/solana_v0_1_0/utils.go index 44e3bb2978f..06bb2e6de90 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/utils.go +++ b/deployment/ccip/changeset/solana_v0_1_0/utils.go @@ -6,7 +6,8 @@ import ( "time" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" @@ -162,7 +163,7 @@ func FetchTimelockSigner(e cldf.Environment, chainSelector uint64) (solana.Publi if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) return timelockSignerPDA, nil } diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go index 24ecd49f7d8..e0e7622f0f1 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go @@ -9,7 +9,8 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -1039,7 +1040,7 @@ func generateUpgradeTxns( if err != nil { return txns, fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) bufferSize, err := GetSolProgramSize(&e, chain, bufferProgram) if err != nil { diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go index fd6b99b87b6..1205c38f356 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go @@ -8,7 +8,7 @@ import ( solBinary "github.com/gagliardetto/binary" "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go b/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go index 708d461ab3f..2767337f8a0 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_idl.go @@ -12,7 +12,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/pelletier/go-toml" chainsel "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go b/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go index eb9d1d4efbb..05c8c06690f 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_ops.go @@ -7,7 +7,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go b/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go index 6f1c2ae2877..2e42054ceff 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_set_ocr3.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" chain_selectors "github.com/smartcontractkit/chain-selectors" diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go b/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go index fde204ec599..9c82ea1aa92 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_verify_contracts.go @@ -8,7 +8,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/mr-tron/base58" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -17,7 +18,6 @@ import ( mcmsTypes "github.com/smartcontractkit/mcms/types" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - csState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) @@ -328,7 +328,7 @@ func VerifyBuild(e cldf.Environment, cfg VerifyBuildConfig) (cldf.ChangesetOutpu } var timelockSignerPDA solana.PublicKey if mcmState != nil { - timelockSignerPDA = csState.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA = pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) } verifications := []struct { diff --git a/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go b/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go index 04407cc29d6..f31cd49bdc6 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go +++ b/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock.go @@ -5,7 +5,8 @@ import ( "fmt" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -160,7 +161,7 @@ func TransferCCIPToMCMSWithTimelockSolana( if !cfg.CurrentOwner.IsZero() { currentOwner = cfg.CurrentOwner } - timelockSigner := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSigner := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) proposedOwner := timelockSigner if !cfg.ProposedOwner.IsZero() { proposedOwner = cfg.ProposedOwner diff --git a/deployment/ccip/changeset/solana_v0_1_1/utils.go b/deployment/ccip/changeset/solana_v0_1_1/utils.go index fa01f088d2d..3a41d824099 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/utils.go +++ b/deployment/ccip/changeset/solana_v0_1_1/utils.go @@ -7,7 +7,8 @@ import ( "time" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" @@ -203,7 +204,7 @@ func FetchTimelockSigner(e cldf.Environment, chainSelector uint64) (solana.Publi if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) return timelockSignerPDA, nil } diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go index 68c7d877fd9..2ddbd21f1ee 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go @@ -70,6 +70,8 @@ import ( tonOps "github.com/smartcontractkit/chainlink-ton/deployment/ccip" tonCfg "github.com/smartcontractkit/chainlink-ton/deployment/ccip/config" tonrouter "github.com/smartcontractkit/chainlink-ton/pkg/ccip/bindings/router" + cldlegacysolmcms "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink/deployment" aptoscs "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/aptos" @@ -82,7 +84,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/evm" solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" commoncs "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/environment/devenv" @@ -2463,13 +2464,13 @@ func TransferOwnershipSolanaV0_1_0( addresses, err := e.ExistingAddresses.AddressesForChain(solSelector) require.NoError(t, err) - mcmState, err := ccipsolstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) + mcmState, err := cldlegacysolmcms.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) // Fund signer PDAs for timelock and mcm // If we don't fund, execute() calls will fail with "no funds" errors. - timelockSignerPDA = state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) - mcmSignerPDA = state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) + timelockSignerPDA = pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + mcmSignerPDA = pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) err = solutils.FundAccounts( e.GetContext(), chain.Client, []solana.PublicKey{timelockSignerPDA, mcmSignerPDA}, 100, ) diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go index 360eb2c022f..548f3504b88 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go @@ -34,7 +34,8 @@ import ( solcommon "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/common" ccipsolstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state" soltokens "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink-common/pkg/logger" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -86,8 +87,8 @@ func TransferOwnershipSolanaV0_1_1( // Fund signer PDAs for timelock and mcm // If we don't fund, execute() calls will fail with "no funds" errors. - timelockSignerPDA = solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) - mcmSignerPDA = solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) + timelockSignerPDA = pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + mcmSignerPDA = pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) err = solutils.FundAccounts( e.GetContext(), chain.Client, []solana.PublicKey{timelockSignerPDA, mcmSignerPDA}, 100, ) diff --git a/deployment/ccip/shared/deployergroup/deployer_group.go b/deployment/ccip/shared/deployergroup/deployer_group.go index 34d347ba1c6..3a2357b5fdb 100644 --- a/deployment/ccip/shared/deployergroup/deployer_group.go +++ b/deployment/ccip/shared/deployergroup/deployer_group.go @@ -8,8 +8,9 @@ import ( "slices" "strings" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "golang.org/x/sync/errgroup" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" @@ -288,7 +289,7 @@ func (d *DeployerGroup) GetDeployerForSVM(chain uint64) (func(DeployerForSVM) (s if err != nil { return nil, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) authority = timelockSignerPDA } diff --git a/deployment/ccip/shared/deployergroup/deployer_group_test.go b/deployment/ccip/shared/deployergroup/deployer_group_test.go index e22ecf5ddbd..5aade525c97 100644 --- a/deployment/ccip/shared/deployergroup/deployer_group_test.go +++ b/deployment/ccip/shared/deployergroup/deployer_group_test.go @@ -8,7 +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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/require" "k8s.io/utils/ptr" diff --git a/deployment/ccip/shared/stateview/evm/state.go b/deployment/ccip/shared/stateview/evm/state.go index 7923151acac..0f5aa8474e1 100644 --- a/deployment/ccip/shared/stateview/evm/state.go +++ b/deployment/ccip/shared/stateview/evm/state.go @@ -12,7 +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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "golang.org/x/sync/errgroup" chain_selectors "github.com/smartcontractkit/chain-selectors" diff --git a/deployment/ccip/shared/stateview/solana/state.go b/deployment/ccip/shared/stateview/solana/state.go index 60d2b47efb0..50147ec4add 100644 --- a/deployment/ccip/shared/stateview/solana/state.go +++ b/deployment/ccip/shared/stateview/solana/state.go @@ -10,7 +10,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" "github.com/rs/zerolog/log" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -580,7 +581,7 @@ func ValidateOwnershipSolana( if err != nil { return fmt.Errorf("failed to load MCMS with timelock chain state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) config, _, err := solState.FindConfigPDA(programID) if err != nil { return fmt.Errorf("failed to find config PDA: %w", err) @@ -690,7 +691,7 @@ func IsSolanaProgramOwnedByTimelock( if err != nil { return false } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) switch contractType { case shared.Router: programData := solRouter.Config{} diff --git a/deployment/ccip/shared/stateview/state.go b/deployment/ccip/shared/stateview/state.go index 4c64b59927c..a9b1db09c69 100644 --- a/deployment/ccip/shared/stateview/state.go +++ b/deployment/ccip/shared/stateview/state.go @@ -19,8 +19,8 @@ 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" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "golang.org/x/exp/maps" "golang.org/x/sync/errgroup" diff --git a/deployment/ccip/view/solana/mcms.go b/deployment/ccip/view/solana/mcms.go index e30e9b3f152..cc6a20d8198 100644 --- a/deployment/ccip/view/solana/mcms.go +++ b/deployment/ccip/view/solana/mcms.go @@ -7,7 +7,8 @@ import ( "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -64,7 +65,7 @@ func GenerateMCMSWithTimelockView(chain cldf_solana.Chain, addresses map[string] if err != nil { return view, fmt.Errorf("failed to load mcms with timelock solana chain state: %w", err) } - timelockConfigPDA := solstate.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockConfigPDA := pdasol.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) progDataAddr, err := solutils.GetProgramDataAddress(chain.Client, mcmState.TimelockProgram) if err != nil { return view, fmt.Errorf("failed to get program data address for program %s: %w", mcmState.TimelockProgram.String(), err) @@ -107,9 +108,9 @@ func GenerateMCMSWithTimelockView(chain cldf_solana.Chain, addresses map[string] name string pda solana.PublicKey }{ - {"Bypasser", solstate.GetMCMConfigPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, - {"Proposer", solstate.GetMCMConfigPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, - {"Canceller", solstate.GetMCMConfigPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, + {"Bypasser", pdasol.GetMCMConfigPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, + {"Proposer", pdasol.GetMCMConfigPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, + {"Canceller", pdasol.GetMCMConfigPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, } { err = chain.GetAccountDataBorshInto(context.Background(), mcmConfig.pda, &mcmData) if err != nil { diff --git a/deployment/ccip/view/view.go b/deployment/ccip/view/view.go index 468e44356bc..23063da22e2 100644 --- a/deployment/ccip/view/view.go +++ b/deployment/ccip/view/view.go @@ -7,7 +7,7 @@ import ( suistate "github.com/smartcontractkit/chainlink-sui/deployment" tonstate "github.com/smartcontractkit/chainlink-ton/deployment/state" - linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v1_0" + linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v10" mcmsv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/mcms/view/v1_0" diff --git a/deployment/common/changeset/deploy_link_token_test.go b/deployment/common/changeset/deploy_link_token_test.go index 6fac75c267f..6f6d1b431cb 100644 --- a/deployment/common/changeset/deploy_link_token_test.go +++ b/deployment/common/changeset/deploy_link_token_test.go @@ -4,7 +4,7 @@ import ( "testing" chain_selectors "github.com/smartcontractkit/chain-selectors" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" diff --git a/deployment/common/changeset/deploy_mcms_with_timelock.go b/deployment/common/changeset/deploy_mcms_with_timelock.go index 0c9877a534f..719ca75dc06 100644 --- a/deployment/common/changeset/deploy_mcms_with_timelock.go +++ b/deployment/common/changeset/deploy_mcms_with_timelock.go @@ -8,7 +8,7 @@ import ( "sync" "github.com/ethereum/go-ethereum/accounts/abi/bind" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" xerrgroup "golang.org/x/sync/errgroup" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" diff --git a/deployment/common/changeset/deploy_mcms_with_timelock_test.go b/deployment/common/changeset/deploy_mcms_with_timelock_test.go index 5797180a895..a2538449680 100644 --- a/deployment/common/changeset/deploy_mcms_with_timelock_test.go +++ b/deployment/common/changeset/deploy_mcms_with_timelock_test.go @@ -10,7 +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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmsevmsdk "github.com/smartcontractkit/mcms/sdk/evm" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" mcmstypes "github.com/smartcontractkit/mcms/types" @@ -29,9 +29,10 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/onchain" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" - soltestutils "github.com/smartcontractkit/cld-changesets/pkg/family/solana/testutils" + soltestutils "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana/testutils" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink/deployment" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" @@ -545,7 +546,7 @@ func TestDeployMCMSWithTimelockV2SkipInitSolana(t *testing.T) { // ----- helpers ----- func mcmSignerPDA(programID solana.PublicKey, seed solstate.PDASeed) string { - return solstate.GetMCMSignerPDA(programID, seed).String() + return pdasol.GetMCMSignerPDA(programID, seed).String() } func solanaTimelockConfig( @@ -554,7 +555,7 @@ func solanaTimelockConfig( t.Helper() var data timelockBindings.Config - err := chain.GetAccountDataBorshInto(ctx, solstate.GetTimelockConfigPDA(programID, seed), &data) + err := chain.GetAccountDataBorshInto(ctx, pdasol.GetTimelockConfigPDA(programID, seed), &data) require.NoError(t, err) return data diff --git a/deployment/common/changeset/evm/mcms/mcms.go b/deployment/common/changeset/evm/mcms/mcms.go index 2192d620314..4b311216023 100644 --- a/deployment/common/changeset/evm/mcms/mcms.go +++ b/deployment/common/changeset/evm/mcms/mcms.go @@ -11,7 +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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/spf13/cast" bindings "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" diff --git a/deployment/common/changeset/evm/mcms/mcms_test.go b/deployment/common/changeset/evm/mcms/mcms_test.go index c834d625032..9c69a95467e 100644 --- a/deployment/common/changeset/evm/mcms/mcms_test.go +++ b/deployment/common/changeset/evm/mcms/mcms_test.go @@ -5,7 +5,7 @@ import ( "testing" chainsel "github.com/smartcontractkit/chain-selectors" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/require" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" diff --git a/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go b/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go index 1947dc9f10e..2373ed8c504 100644 --- a/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go +++ b/deployment/common/changeset/evm/mcms/ops/ops_solana_grant_role_timelock.go @@ -15,7 +15,8 @@ import ( cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" "github.com/smartcontractkit/chainlink-deployments-framework/operations" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" ) type OpSolanaGrantRoleTimelockDeps struct { @@ -49,7 +50,7 @@ var OpSolanaGrantRoleTimelock = operations.NewOperation( if in.IsDeployerKeyAdmin { signer = deps.Chain.DeployerKey.PublicKey() } else { - signer = solstate.GetTimelockSignerPDA(in.ChainState.TimelockProgram, in.ChainState.TimelockSeed) + signer = pdasol.GetTimelockSignerPDA(in.ChainState.TimelockProgram, in.ChainState.TimelockSeed) } ix, err := accesscontrollerbindings.NewAddAccessInstruction(accessController, signer, in.Account).ValidateAndBuild() diff --git a/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go b/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go index ad44df2fef6..019709e2b27 100644 --- a/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go +++ b/deployment/common/changeset/evm/mcms/seqs/seq_solana_grant_role_timelock.go @@ -3,7 +3,7 @@ package seqs import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" timelockbindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" diff --git a/deployment/common/changeset/example/solana_transfer_mcm.go b/deployment/common/changeset/example/solana_transfer_mcm.go index 8998c2dbe1e..84675605de4 100644 --- a/deployment/common/changeset/example/solana_transfer_mcm.go +++ b/deployment/common/changeset/example/solana_transfer_mcm.go @@ -10,12 +10,11 @@ import ( mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" "github.com/smartcontractkit/mcms/types" - cldchangesetssolana "github.com/smartcontractkit/cld-changesets/pkg/family/solana" - cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -96,12 +95,12 @@ func (f TransferFromTimelock) Apply(e cldf.Environment, config TransferFromTimel if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) timelockID := mcmssolanasdk.ContractAddress(mcmState.TimelockProgram, mcmssolanasdk.PDASeed(mcmState.TimelockSeed)) proposerID := mcmssolanasdk.ContractAddress(mcmState.McmProgram, mcmssolanasdk.PDASeed(mcmState.ProposerMcmSeed)) timelocks[chainSelector] = timelockID proposers[chainSelector] = proposerID - ixs, err := cldchangesetssolana.FundFromAddressIxs( + ixs, err := solstate.FundFromAddressIxs( timelockSignerPDA, []solana.PublicKey{cfgAmounts.To}, cfgAmounts.Amount) diff --git a/deployment/common/changeset/mcms_firedrill.go b/deployment/common/changeset/mcms_firedrill.go index 880cb8ec09b..439b6bc700c 100644 --- a/deployment/common/changeset/mcms_firedrill.go +++ b/deployment/common/changeset/mcms_firedrill.go @@ -5,8 +5,8 @@ import ( "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsevmsdk "github.com/smartcontractkit/mcms/sdk/evm" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" diff --git a/deployment/common/changeset/set_config_mcms.go b/deployment/common/changeset/set_config_mcms.go index 1995b078733..4c33a275b37 100644 --- a/deployment/common/changeset/set_config_mcms.go +++ b/deployment/common/changeset/set_config_mcms.go @@ -11,9 +11,9 @@ import ( solanasdk "github.com/gagliardetto/solana-go" "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" chain_selectors "github.com/smartcontractkit/chain-selectors" - aptosstate "github.com/smartcontractkit/cld-changesets/pkg/family/aptos" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + aptosstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/aptos" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" mcmslib "github.com/smartcontractkit/mcms" aptosmcms "github.com/smartcontractkit/mcms/sdk/aptos" "github.com/smartcontractkit/mcms/sdk/evm" @@ -29,7 +29,6 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment" - commonState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) diff --git a/deployment/common/changeset/set_config_mcms_test.go b/deployment/common/changeset/set_config_mcms_test.go index c887eeb5834..ccee496310e 100644 --- a/deployment/common/changeset/set_config_mcms_test.go +++ b/deployment/common/changeset/set_config_mcms_test.go @@ -9,8 +9,8 @@ import ( "github.com/ethereum/go-ethereum/crypto" solanago "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms/sdk/evm" "github.com/smartcontractkit/mcms/sdk/solana" mcmstypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/common/changeset/solana/fund_mcm_pdas.go b/deployment/common/changeset/solana/fund_mcm_pdas.go index 893f8cce49e..518b10c21aa 100644 --- a/deployment/common/changeset/solana/fund_mcm_pdas.go +++ b/deployment/common/changeset/solana/fund_mcm_pdas.go @@ -7,7 +7,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" ) @@ -82,28 +83,28 @@ func (f FundMCMSignersChangeset) Apply(e cldf.Environment, config FundMCMSignerC err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed)}, + []solana.PublicKey{pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed)}, cfgAmounts.Timelock) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund timelock signer on chain %d: %w", chainSelector, err) } err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, + []solana.PublicKey{pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, cfgAmounts.ProposeMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund MCMS proposer on chain %d: %w", chainSelector, err) } err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, + []solana.PublicKey{pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, cfgAmounts.CancellerMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund MCMS canceller on chain %d: %w", chainSelector, err) } err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, + []solana.PublicKey{pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, cfgAmounts.BypasserMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund mcm bypasser on chain %d: %w", chainSelector, err) diff --git a/deployment/common/changeset/solana/fund_mcm_pdas_test.go b/deployment/common/changeset/solana/fund_mcm_pdas_test.go index 98f9db94660..022c335ff42 100644 --- a/deployment/common/changeset/solana/fund_mcm_pdas_test.go +++ b/deployment/common/changeset/solana/fund_mcm_pdas_test.go @@ -7,7 +7,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" chainselectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" @@ -232,10 +233,10 @@ func TestFundMCMSignersChangeset_Apply(t *testing.T) { require.NoError(t, err) accounts := []solana.PublicKey{ - solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed), - solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed), - solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed), - solstate.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed), + pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed), + pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed), + pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed), + pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed), } var balances []uint64 for _, account := range accounts { diff --git a/deployment/common/changeset/solana/grant_role_timelock.go b/deployment/common/changeset/solana/grant_role_timelock.go index 15758054200..3961923274d 100644 --- a/deployment/common/changeset/solana/grant_role_timelock.go +++ b/deployment/common/changeset/solana/grant_role_timelock.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssdk "github.com/smartcontractkit/mcms/sdk" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" diff --git a/deployment/common/changeset/solana/grant_role_timelock_test.go b/deployment/common/changeset/solana/grant_role_timelock_test.go index 419bae9612a..c18d5edb686 100644 --- a/deployment/common/changeset/solana/grant_role_timelock_test.go +++ b/deployment/common/changeset/solana/grant_role_timelock_test.go @@ -14,9 +14,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" - soltestutils "github.com/smartcontractkit/cld-changesets/pkg/family/solana/testutils" + soltestutils "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana/testutils" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) diff --git a/deployment/common/changeset/solana/mcms/access_controller.go b/deployment/common/changeset/solana/mcms/access_controller.go index 2cec4861982..d2bd66c0d51 100644 --- a/deployment/common/changeset/solana/mcms/access_controller.go +++ b/deployment/common/changeset/solana/mcms/access_controller.go @@ -7,7 +7,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/programs/system" "github.com/gagliardetto/solana-go/rpc" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -165,9 +166,9 @@ func initializeAccessController( } func setupRoles(chainState *solstate.MCMSWithTimelockState, chain cldf_solana.Chain) error { - proposerPDA := solstate.GetMCMSignerPDA(chainState.McmProgram, chainState.ProposerMcmSeed) - cancellerPDA := solstate.GetMCMSignerPDA(chainState.McmProgram, chainState.CancellerMcmSeed) - bypasserPDA := solstate.GetMCMSignerPDA(chainState.McmProgram, chainState.BypasserMcmSeed) + proposerPDA := pdasol.GetMCMSignerPDA(chainState.McmProgram, chainState.ProposerMcmSeed) + cancellerPDA := pdasol.GetMCMSignerPDA(chainState.McmProgram, chainState.CancellerMcmSeed) + bypasserPDA := pdasol.GetMCMSignerPDA(chainState.McmProgram, chainState.BypasserMcmSeed) err := addAccess(chain, chainState, timelockBindings.Proposer_Role, proposerPDA) if err != nil { @@ -196,7 +197,7 @@ func addAccess( chain cldf_solana.Chain, chainState *solstate.MCMSWithTimelockState, role timelockBindings.Role, accounts ...solana.PublicKey, ) error { - timelockConfigPDA := solstate.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed) + timelockConfigPDA := pdasol.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed) instructionBuilder := timelockBindings.NewBatchAddAccessInstruction([32]uint8(chainState.TimelockSeed), role, timelockConfigPDA, chainState.AccessControllerProgram, chainState.RoleAccount(role), chain.DeployerKey.PublicKey()) diff --git a/deployment/common/changeset/solana/mcms/mcm.go b/deployment/common/changeset/solana/mcms/mcm.go index 5787d73ebdc..4acd926bfaa 100644 --- a/deployment/common/changeset/solana/mcms/mcm.go +++ b/deployment/common/changeset/solana/mcms/mcm.go @@ -8,7 +8,8 @@ import ( binary "github.com/gagliardetto/binary" "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolanaSdk "github.com/smartcontractkit/mcms/sdk/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -84,7 +85,7 @@ func initMCM( } if mcmSeed != (solstate.PDASeed{}) { - mcmConfigPDA := solstate.GetMCMConfigPDA(mcmProgram, mcmSeed) + mcmConfigPDA := pdasol.GetMCMConfigPDA(mcmProgram, mcmSeed) var data mcmBindings.MultisigConfig err = solanaUtils.GetAccountDataBorshInto(env.GetContext(), chain.Client, mcmConfigPDA, rpc.CommitmentConfirmed, &data) if err == nil { @@ -129,7 +130,7 @@ func initMCM( func initializeMCM(e cldf.Environment, chain cldf_solana.Chain, mcmProgram solana.PublicKey, multisigID solstate.PDASeed) error { var mcmConfig mcmBindings.MultisigConfig - err := chain.GetAccountDataBorshInto(e.GetContext(), solstate.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) + err := chain.GetAccountDataBorshInto(e.GetContext(), pdasol.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) if err == nil { e.Logger.Infow("MCM already initialized, skipping initialization", "chain", chain.String()) return nil @@ -153,13 +154,13 @@ func initializeMCM(e cldf.Environment, chain cldf_solana.Chain, mcmProgram solan ix, err := mcmBindings.NewInitializeInstruction( chain.Selector, multisigID, - solstate.GetMCMConfigPDA(mcmProgram, multisigID), + pdasol.GetMCMConfigPDA(mcmProgram, multisigID), chain.DeployerKey.PublicKey(), solana.SystemProgramID, mcmProgram, programData.Address, - solstate.GetMCMRootMetadataPDA(mcmProgram, multisigID), - solstate.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), + pdasol.GetMCMRootMetadataPDA(mcmProgram, multisigID), + pdasol.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), ).ValidateAndBuild() if err != nil { return fmt.Errorf("failed to build instruction: %w", err) diff --git a/deployment/common/changeset/solana/mcms/mcms.go b/deployment/common/changeset/solana/mcms/mcms.go index d1022c2efcf..c870aab842c 100644 --- a/deployment/common/changeset/solana/mcms/mcms.go +++ b/deployment/common/changeset/solana/mcms/mcms.go @@ -8,7 +8,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" diff --git a/deployment/common/changeset/solana/mcms/sequence/operation/operation.go b/deployment/common/changeset/solana/mcms/sequence/operation/operation.go index 77efbe6a82d..08a51e26f21 100644 --- a/deployment/common/changeset/solana/mcms/sequence/operation/operation.go +++ b/deployment/common/changeset/solana/mcms/sequence/operation/operation.go @@ -10,7 +10,8 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/programs/system" "github.com/gagliardetto/solana-go/rpc" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + sollegacy "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolanaSdk "github.com/smartcontractkit/mcms/sdk/solana" mcmsTypes "github.com/smartcontractkit/mcms/types" "github.com/smartcontractkit/wsrpc/logger" @@ -30,7 +31,7 @@ import ( type Deps struct { Env cldf.Environment - State *solstate.MCMSWithTimelockState + State *sollegacy.MCMSWithTimelockState Datastore datastore.MutableDataStore Chain cldfsol.Chain } @@ -163,7 +164,7 @@ func initAccessController(b operations.Bundle, deps Deps, in InitAccessControlle log.Infow("initialized access controller", "account", account.PublicKey()) - err = deps.State.SetState(in.ContractType, account.PublicKey(), solstate.PDASeed{}) + err = deps.State.SetState(in.ContractType, account.PublicKey(), sollegacy.PDASeed{}) if err != nil { return out, fmt.Errorf("failed to save onchain state: %w", err) } @@ -237,8 +238,8 @@ func initMCM(b operations.Bundle, deps Deps, in InitMCMInput) (InitMCMOutput, er return out, fmt.Errorf("failed to get mcm state: %w", err) } - if mcmSeed != (solstate.PDASeed{}) { - mcmConfigPDA := solstate.GetMCMConfigPDA(mcmProgram, mcmSeed) + if mcmSeed != (sollegacy.PDASeed{}) { + mcmConfigPDA := pdasol.GetMCMConfigPDA(mcmProgram, mcmSeed) var data mcmBindings.MultisigConfig err = solanaUtils.GetAccountDataBorshInto(b.GetContext(), deps.Chain.Client, mcmConfigPDA, rpc.CommitmentConfirmed, &data) if err == nil { @@ -258,7 +259,7 @@ func initMCM(b operations.Bundle, deps Deps, in InitMCMInput) (InitMCMOutput, er return out, fmt.Errorf("failed to initialize mcm: %w", err) } - mcmAddress := solstate.EncodeAddressWithSeed(programID, seed) + mcmAddress := sollegacy.EncodeAddressWithSeed(programID, seed) configurer := mcmsSolanaSdk.NewConfigurer(deps.Chain.Client, *deps.Chain.DeployerKey, mcmsTypes.ChainSelector(deps.Chain.ChainSelector())) tx, err := configurer.SetConfig(b.GetContext(), mcmAddress, &in.MCMConfig, false) @@ -284,9 +285,9 @@ func initMCM(b operations.Bundle, deps Deps, in InitMCMInput) (InitMCMOutput, er return out, nil } -func initializeMCM(b operations.Bundle, deps Deps, mcmProgram solana.PublicKey, multisigID solstate.PDASeed) error { +func initializeMCM(b operations.Bundle, deps Deps, mcmProgram solana.PublicKey, multisigID sollegacy.PDASeed) error { var mcmConfig mcmBindings.MultisigConfig - err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), solstate.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) + err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), pdasol.GetMCMConfigPDA(mcmProgram, multisigID), &mcmConfig) if err == nil { b.Logger.Infow("MCM already initialized, skipping initialization", "chain", deps.Chain.String()) return nil @@ -310,13 +311,13 @@ func initializeMCM(b operations.Bundle, deps Deps, mcmProgram solana.PublicKey, instruction, err := mcmBindings.NewInitializeInstruction( deps.Chain.Selector, multisigID, - solstate.GetMCMConfigPDA(mcmProgram, multisigID), + pdasol.GetMCMConfigPDA(mcmProgram, multisigID), deps.Chain.DeployerKey.PublicKey(), solana.SystemProgramID, mcmProgram, programData.Address, - solstate.GetMCMRootMetadataPDA(mcmProgram, multisigID), - solstate.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), + pdasol.GetMCMRootMetadataPDA(mcmProgram, multisigID), + pdasol.GetMCMExpiringRootAndOpCountPDA(mcmProgram, multisigID), ).ValidateAndBuild() if err != nil { return fmt.Errorf("failed to build instruction: %w", err) @@ -345,8 +346,8 @@ func initTimelock(b operations.Bundle, deps Deps, in InitTimelockInput) (InitTim return out, fmt.Errorf("failed to get timelock state: %w", err) } - if (timelockSeed != solstate.PDASeed{}) { - timelockConfigPDA := solstate.GetTimelockConfigPDA(timelockProgram, timelockSeed) + if (timelockSeed != sollegacy.PDASeed{}) { + timelockConfigPDA := pdasol.GetTimelockConfigPDA(timelockProgram, timelockSeed) var timelockConfig timelockBindings.Config err = deps.Chain.GetAccountDataBorshInto(b.GetContext(), timelockConfigPDA, &timelockConfig) if err == nil { @@ -367,7 +368,7 @@ func initTimelock(b operations.Bundle, deps Deps, in InitTimelockInput) (InitTim return out, fmt.Errorf("failed to initialize timelock: %w", err) } - timelockAddress := solstate.EncodeAddressWithSeed(programID, seed) + timelockAddress := sollegacy.EncodeAddressWithSeed(programID, seed) err = deps.Datastore.Addresses().Add(datastore.AddressRef{ Address: timelockAddress, @@ -387,13 +388,13 @@ func initTimelock(b operations.Bundle, deps Deps, in InitTimelockInput) (InitTim } func initializeTimelock(b operations.Bundle, deps Deps, timelockProgram solana.PublicKey, - timelockID solstate.PDASeed, minDelay *big.Int) error { + timelockID sollegacy.PDASeed, minDelay *big.Int) error { if minDelay == nil { minDelay = big.NewInt(0) } var timelockConfig timelockBindings.Config - err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), solstate.GetTimelockConfigPDA(timelockProgram, timelockID), + err := deps.Chain.GetAccountDataBorshInto(b.GetContext(), pdasol.GetTimelockConfigPDA(timelockProgram, timelockID), &timelockConfig) if err == nil { b.Logger.Infow("Timelock already initialized, skipping initialization", "chain", deps.Chain.String()) @@ -418,7 +419,7 @@ func initializeTimelock(b operations.Bundle, deps Deps, timelockProgram solana.P instruction, err := timelockBindings.NewInitializeInstruction( timelockID, minDelay.Uint64(), - solstate.GetTimelockConfigPDA(timelockProgram, timelockID), + pdasol.GetTimelockConfigPDA(timelockProgram, timelockID), deps.Chain.DeployerKey.PublicKey(), solana.SystemProgramID, timelockProgram, @@ -444,7 +445,7 @@ func initializeTimelock(b operations.Bundle, deps Deps, timelockProgram solana.P func addAccess(b operations.Bundle, deps Deps, in AddAccessInput) (AddAccessOutput, error) { var out AddAccessOutput - timelockConfigPDA := solstate.GetTimelockConfigPDA(deps.State.TimelockProgram, deps.State.TimelockSeed) + timelockConfigPDA := pdasol.GetTimelockConfigPDA(deps.State.TimelockProgram, deps.State.TimelockSeed) instructionBuilder := timelockBindings.NewBatchAddAccessInstruction([32]uint8(deps.State.TimelockSeed), in.Role, timelockConfigPDA, deps.State.AccessControllerProgram, deps.State.RoleAccount(in.Role), deps.Chain.DeployerKey.PublicKey()) @@ -465,10 +466,10 @@ func addAccess(b operations.Bundle, deps Deps, in AddAccessInput) (AddAccessOutp return out, nil } -func randomSeed() solstate.PDASeed { +func randomSeed() sollegacy.PDASeed { const alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - seed := solstate.PDASeed{} + seed := sollegacy.PDASeed{} for i := range seed { seed[i] = alphabet[rand.Intn(len(alphabet))] } diff --git a/deployment/common/changeset/solana/mcms/sequence/sequence.go b/deployment/common/changeset/solana/mcms/sequence/sequence.go index c12a440eaf4..b3b772dbfa2 100644 --- a/deployment/common/changeset/solana/mcms/sequence/sequence.go +++ b/deployment/common/changeset/solana/mcms/sequence/sequence.go @@ -16,9 +16,10 @@ import ( "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/mcms/sequence/operation" commonOps "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/operations" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" + sollegacy "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" ) var ( @@ -120,7 +121,7 @@ func deployAccessController(b operations.Bundle, deps operation.Deps) error { return fmt.Errorf("failed to add access controller to datastore: %w", err) } - err = deps.State.SetState(commontypes.AccessControllerProgram, programID, state.PDASeed{}) + err = deps.State.SetState(commontypes.AccessControllerProgram, programID, sollegacy.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -183,7 +184,7 @@ func deployMCM(b operations.Bundle, deps operation.Deps) error { return fmt.Errorf("failed to add mcm to datastore: %w", err) } - err = deps.State.SetState(commontypes.ManyChainMultisigProgram, programID, state.PDASeed{}) + err = deps.State.SetState(commontypes.ManyChainMultisigProgram, programID, sollegacy.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -261,7 +262,7 @@ func deployTimelock(b operations.Bundle, deps operation.Deps) error { return fmt.Errorf("failed to add timelock to datastore: %w", err) } - err = deps.State.SetState(commontypes.RBACTimelockProgram, programID, state.PDASeed{}) + err = deps.State.SetState(commontypes.RBACTimelockProgram, programID, sollegacy.PDASeed{}) if err != nil { return fmt.Errorf("failed to save onchain state: %w", err) } @@ -284,9 +285,9 @@ func initTimelock(b operations.Bundle, deps operation.Deps, minDelay *big.Int) e } func setupRoles(b operations.Bundle, deps operation.Deps) error { - proposerPDA := state.GetMCMSignerPDA(deps.State.McmProgram, deps.State.ProposerMcmSeed) - cancellerPDA := state.GetMCMSignerPDA(deps.State.McmProgram, deps.State.CancellerMcmSeed) - bypasserPDA := state.GetMCMSignerPDA(deps.State.McmProgram, deps.State.BypasserMcmSeed) + proposerPDA := pdasol.GetMCMSignerPDA(deps.State.McmProgram, deps.State.ProposerMcmSeed) + cancellerPDA := pdasol.GetMCMSignerPDA(deps.State.McmProgram, deps.State.CancellerMcmSeed) + bypasserPDA := pdasol.GetMCMSignerPDA(deps.State.McmProgram, deps.State.BypasserMcmSeed) roles := []struct { pdas []solana.PublicKey role timelockBindings.Role diff --git a/deployment/common/changeset/solana/mcms/timelock.go b/deployment/common/changeset/solana/mcms/timelock.go index 363aa135713..7ed76216dd4 100644 --- a/deployment/common/changeset/solana/mcms/timelock.go +++ b/deployment/common/changeset/solana/mcms/timelock.go @@ -8,7 +8,8 @@ import ( binary "github.com/gagliardetto/binary" "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -83,7 +84,7 @@ func initTimelock( } if (timelockSeed != solstate.PDASeed{}) { - timelockConfigPDA := solstate.GetTimelockConfigPDA(timelockProgram, timelockSeed) + timelockConfigPDA := pdasol.GetTimelockConfigPDA(timelockProgram, timelockSeed) var timelockConfig timelockBindings.Config err = chain.GetAccountDataBorshInto(e.GetContext(), timelockConfigPDA, &timelockConfig) if err == nil { @@ -128,7 +129,7 @@ func initializeTimelock( } var timelockConfig timelockBindings.Config - err := chain.GetAccountDataBorshInto(e.GetContext(), solstate.GetTimelockConfigPDA(timelockProgram, timelockID), + err := chain.GetAccountDataBorshInto(e.GetContext(), pdasol.GetTimelockConfigPDA(timelockProgram, timelockID), &timelockConfig) if err == nil { e.Logger.Infow("Timelock already initialized, skipping initialization", "chain", chain.String()) @@ -153,7 +154,7 @@ func initializeTimelock( instruction, err := timelockBindings.NewInitializeInstruction( timelockID, minDelay.Uint64(), - solstate.GetTimelockConfigPDA(timelockProgram, timelockID), + pdasol.GetTimelockConfigPDA(timelockProgram, timelockID), chain.DeployerKey.PublicKey(), solana.SystemProgramID, timelockProgram, diff --git a/deployment/common/changeset/solana/transfer_ownership.go b/deployment/common/changeset/solana/transfer_ownership.go index a8b7c51455c..8429c04323d 100644 --- a/deployment/common/changeset/solana/transfer_ownership.go +++ b/deployment/common/changeset/solana/transfer_ownership.go @@ -8,7 +8,8 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" "github.com/mr-tron/base58" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssdk "github.com/smartcontractkit/mcms/sdk" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" @@ -318,7 +319,7 @@ func TransferToTimelockSolanaOp(b operations.Bundle, deps Deps, in TransferToTim proposers[chainSelector] = solanaAddress(chainState.McmProgram, mcmssolanasdk.PDASeed(chainState.ProposerMcmSeed)) inspectors[chainSelector] = mcmssolanasdk.NewInspector(solChain.Client) - timelockSignerPDA := solstate.GetTimelockSignerPDA(chainState.TimelockProgram, chainState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(chainState.TimelockProgram, chainState.TimelockSeed) transactions := []mcmstypes.Transaction{} contract := in.Contract @@ -399,25 +400,25 @@ func (t TransferMCMSToTimelockSolana) Apply( { ProgramID: chainState.McmProgram, Seed: chainState.ProposerMcmSeed, - OwnerPDA: solstate.GetMCMConfigPDA(chainState.McmProgram, chainState.ProposerMcmSeed), + OwnerPDA: pdasol.GetMCMConfigPDA(chainState.McmProgram, chainState.ProposerMcmSeed), Type: commontypes.ProposerManyChainMultisig, }, { ProgramID: chainState.McmProgram, Seed: chainState.CancellerMcmSeed, - OwnerPDA: solstate.GetMCMConfigPDA(chainState.McmProgram, chainState.CancellerMcmSeed), + OwnerPDA: pdasol.GetMCMConfigPDA(chainState.McmProgram, chainState.CancellerMcmSeed), Type: commontypes.CancellerManyChainMultisig, }, { ProgramID: chainState.McmProgram, Seed: chainState.BypasserMcmSeed, - OwnerPDA: solstate.GetMCMConfigPDA(chainState.McmProgram, chainState.BypasserMcmSeed), + OwnerPDA: pdasol.GetMCMConfigPDA(chainState.McmProgram, chainState.BypasserMcmSeed), Type: commontypes.BypasserManyChainMultisig, }, { ProgramID: chainState.TimelockProgram, Seed: chainState.TimelockSeed, - OwnerPDA: solstate.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed), + OwnerPDA: pdasol.GetTimelockConfigPDA(chainState.TimelockProgram, chainState.TimelockSeed), Type: commontypes.RBACTimelock, }, { diff --git a/deployment/common/changeset/solana/transfer_ownership_test.go b/deployment/common/changeset/solana/transfer_ownership_test.go index 07612e84ee4..c5bb9c4d60f 100644 --- a/deployment/common/changeset/solana/transfer_ownership_test.go +++ b/deployment/common/changeset/solana/transfer_ownership_test.go @@ -6,8 +6,9 @@ import ( "time" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" - soltestutils "github.com/smartcontractkit/cld-changesets/pkg/family/solana/testutils" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + soltestutils "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana/testutils" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" @@ -54,7 +55,7 @@ func TestTransferToMCMSToTimelockSolana(t *testing.T) { require.NoError(t, err) // --- assert --- - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) assertOwner(t, chain, mcmsState, timelockSignerPDA) } @@ -63,10 +64,10 @@ func assertOwner( ) { t.Helper() - assertMCMOwner(t, owner, solstate.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed), chain) - assertMCMOwner(t, owner, solstate.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.CancellerMcmSeed), chain) - assertMCMOwner(t, owner, solstate.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.BypasserMcmSeed), chain) - assertTimelockOwner(t, owner, solstate.GetTimelockConfigPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed), chain) + assertMCMOwner(t, owner, pdasol.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed), chain) + assertMCMOwner(t, owner, pdasol.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.CancellerMcmSeed), chain) + assertMCMOwner(t, owner, pdasol.GetMCMConfigPDA(mcmsState.McmProgram, mcmsState.BypasserMcmSeed), chain) + assertTimelockOwner(t, owner, pdasol.GetTimelockConfigPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed), chain) assertAccessControllerOwner(t, owner, mcmsState.ProposerAccessControllerAccount, chain) assertAccessControllerOwner(t, owner, mcmsState.ExecutorAccessControllerAccount, chain) assertAccessControllerOwner(t, owner, mcmsState.CancellerAccessControllerAccount, chain) diff --git a/deployment/common/changeset/solana/update_delay_timelock.go b/deployment/common/changeset/solana/update_delay_timelock.go index 66e43bafe3b..471edde25e5 100644 --- a/deployment/common/changeset/solana/update_delay_timelock.go +++ b/deployment/common/changeset/solana/update_delay_timelock.go @@ -6,7 +6,8 @@ import ( "time" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" timelockBindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" @@ -67,7 +68,7 @@ func (t UpdateTimelockDelaySolana) Apply( return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) - configPDA := solstate.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + configPDA := pdasol.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) timelockBindings.SetProgramID(mcmState.TimelockProgram) updateDelayIx := timelockBindings.NewUpdateDelayInstruction(mcmState.TimelockSeed, uint64(delay.Seconds()), configPDA, solChain.DeployerKey.PublicKey()) ix, err := updateDelayIx.ValidateAndBuild() diff --git a/deployment/common/changeset/solana/update_delay_timelock_test.go b/deployment/common/changeset/solana/update_delay_timelock_test.go index 6c11ecb95d0..1211483c960 100644 --- a/deployment/common/changeset/solana/update_delay_timelock_test.go +++ b/deployment/common/changeset/solana/update_delay_timelock_test.go @@ -7,7 +7,8 @@ import ( "github.com/gagliardetto/solana-go" chainselectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" "github.com/stretchr/testify/require" @@ -152,7 +153,7 @@ func TestUpdateTimelockDelaySolana_Apply(t *testing.T) { mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) - timelockConfigPDA := solstate.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockConfigPDA := pdasol.GetTimelockConfigPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) var timelockConfig timelockBindings.Config err = chain.GetAccountDataBorshInto(t.Context(), timelockConfigPDA, &timelockConfig) diff --git a/deployment/common/changeset/state.go b/deployment/common/changeset/state.go index 0fbe79a5a9c..61ced04adfe 100644 --- a/deployment/common/changeset/state.go +++ b/deployment/common/changeset/state.go @@ -6,8 +6,8 @@ import ( "github.com/ethereum/go-ethereum/common" owner_helpers "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" - linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v1_0" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v10" "github.com/smartcontractkit/chainlink-evm/gethwrappers/generated/link_token_interface" "github.com/smartcontractkit/chainlink-evm/gethwrappers/shared/generated/initial/link_token" diff --git a/deployment/common/changeset/state/evm.go b/deployment/common/changeset/state/evm.go index 46f70778c50..29090d4c490 100644 --- a/deployment/common/changeset/state/evm.go +++ b/deployment/common/changeset/state/evm.go @@ -7,7 +7,7 @@ import ( "github.com/ethereum/go-ethereum/common" bindings "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" - linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v1_0" + linkviewv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/link/view/v10" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" "github.com/smartcontractkit/chainlink-evm/gethwrappers/generated/link_token_interface" diff --git a/deployment/common/changeset/test_helpers.go b/deployment/common/changeset/test_helpers.go index a3d9bd79c4a..19b553666b3 100644 --- a/deployment/common/changeset/test_helpers.go +++ b/deployment/common/changeset/test_helpers.go @@ -8,7 +8,7 @@ import ( mapset "github.com/deckarep/golang-set/v2" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/require" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" diff --git a/deployment/common/changeset/transfer_to_mcms_with_timelock.go b/deployment/common/changeset/transfer_to_mcms_with_timelock.go index 304ec5172f2..2332a01197a 100644 --- a/deployment/common/changeset/transfer_to_mcms_with_timelock.go +++ b/deployment/common/changeset/transfer_to_mcms_with_timelock.go @@ -10,7 +10,7 @@ import ( "github.com/ethereum/go-ethereum/common" gethtypes "github.com/ethereum/go-ethereum/core/types" owner_helpers "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" "github.com/smartcontractkit/mcms/sdk/evm" diff --git a/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go b/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go index 2cf9dbed8c4..c9c9e9df549 100644 --- a/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go +++ b/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go @@ -9,7 +9,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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" diff --git a/deployment/common/opsutils/evm.go b/deployment/common/opsutils/evm.go index 5baa77a4101..d20f1d3e622 100644 --- a/deployment/common/opsutils/evm.go +++ b/deployment/common/opsutils/evm.go @@ -13,7 +13,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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/zksync-sdk/zksync2-go/accounts" "github.com/zksync-sdk/zksync2-go/clients" diff --git a/deployment/common/opsutils/evm_test.go b/deployment/common/opsutils/evm_test.go index 54ee8628676..4edfaad4a72 100644 --- a/deployment/common/opsutils/evm_test.go +++ b/deployment/common/opsutils/evm_test.go @@ -11,7 +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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/deployment/common/proposalutils/propose.go b/deployment/common/proposalutils/propose.go index be875381a76..557cbb46aa0 100644 --- a/deployment/common/proposalutils/propose.go +++ b/deployment/common/proposalutils/propose.go @@ -11,8 +11,8 @@ import ( mapset "github.com/deckarep/golang-set/v2" "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" chain_selectors "github.com/smartcontractkit/chain-selectors" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" mcmslib "github.com/smartcontractkit/mcms" mcmschainwrappers "github.com/smartcontractkit/mcms/chainwrappers" mcmssdk "github.com/smartcontractkit/mcms/sdk" diff --git a/deployment/common/proposalutils/propose_test.go b/deployment/common/proposalutils/propose_test.go index 5a6d7b4e785..4eaa01142b6 100644 --- a/deployment/common/proposalutils/propose_test.go +++ b/deployment/common/proposalutils/propose_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" chain_selectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssdk "github.com/smartcontractkit/mcms/sdk" "github.com/smartcontractkit/mcms/sdk/solana" diff --git a/deployment/cre/capabilities_registry/v2/changeset/add_capabilities.go b/deployment/cre/capabilities_registry/v2/changeset/add_capabilities.go index c75cf9c80af..da9e46daff9 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/add_capabilities.go +++ b/deployment/cre/capabilities_registry/v2/changeset/add_capabilities.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" diff --git a/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry.go b/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry.go index 0a8ad69f2f3..efe29478207 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry.go +++ b/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry.go @@ -5,7 +5,7 @@ import ( "fmt" "maps" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/cre/capabilities_registry/v2/changeset/delete_don.go b/deployment/cre/capabilities_registry/v2/changeset/delete_don.go index 9f700a2f44d..fd9347d3de2 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/delete_don.go +++ b/deployment/cre/capabilities_registry/v2/changeset/delete_don.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/capabilities_registry/v2/changeset/sequences/add_capabilities.go b/deployment/cre/capabilities_registry/v2/changeset/sequences/add_capabilities.go index c3467947e4f..643e416ca87 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/sequences/add_capabilities.go +++ b/deployment/cre/capabilities_registry/v2/changeset/sequences/add_capabilities.go @@ -10,7 +10,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/accounts/abi/bind/v2" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/capabilities_registry/v2/changeset/sequences/configure_capabilities_registry.go b/deployment/cre/capabilities_registry/v2/changeset/sequences/configure_capabilities_registry.go index 5b04a3b5a80..b357840dcc5 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/sequences/configure_capabilities_registry.go +++ b/deployment/cre/capabilities_registry/v2/changeset/sequences/configure_capabilities_registry.go @@ -15,7 +15,7 @@ import ( capabilities_registry_v2 "github.com/smartcontractkit/chainlink-evm/gethwrappers/workflow/generated/capabilities_registry_wrapper_v2" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/chainlink/deployment/cre/capabilities_registry/v2/changeset/operations/contracts" "github.com/smartcontractkit/chainlink/deployment/cre/common/strategies" diff --git a/deployment/cre/capabilities_registry/v2/changeset/sequences/set_dons_families.go b/deployment/cre/capabilities_registry/v2/changeset/sequences/set_dons_families.go index 57a9ad8a07f..77bc262a4da 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/sequences/set_dons_families.go +++ b/deployment/cre/capabilities_registry/v2/changeset/sequences/set_dons_families.go @@ -6,7 +6,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/capabilities_registry/v2/changeset/set_dons_families.go b/deployment/cre/capabilities_registry/v2/changeset/set_dons_families.go index 1117bd28452..cd523cc3d57 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/set_dons_families.go +++ b/deployment/cre/capabilities_registry/v2/changeset/set_dons_families.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" diff --git a/deployment/cre/capabilities_registry/v2/changeset/update_don.go b/deployment/cre/capabilities_registry/v2/changeset/update_don.go index f77c7937eeb..9841e98e43e 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/update_don.go +++ b/deployment/cre/capabilities_registry/v2/changeset/update_don.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/capabilities_registry/v2/changeset/update_nodes_changeset.go b/deployment/cre/capabilities_registry/v2/changeset/update_nodes_changeset.go index eff654586f3..32b605f13a5 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/update_nodes_changeset.go +++ b/deployment/cre/capabilities_registry/v2/changeset/update_nodes_changeset.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" mcmstypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/common/strategies/mcms_transaction.go b/deployment/cre/common/strategies/mcms_transaction.go index 5414c5bd777..983be30a157 100644 --- a/deployment/cre/common/strategies/mcms_transaction.go +++ b/deployment/cre/common/strategies/mcms_transaction.go @@ -8,7 +8,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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmstypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/common/strategies/mcms_transaction_test.go b/deployment/cre/common/strategies/mcms_transaction_test.go index c305f1bc6c6..9b5cee2f401 100644 --- a/deployment/cre/common/strategies/mcms_transaction_test.go +++ b/deployment/cre/common/strategies/mcms_transaction_test.go @@ -6,7 +6,7 @@ import ( "time" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/deployment/cre/common/strategies/strategies.go b/deployment/cre/common/strategies/strategies.go index 80db0a318b3..5b2d68fe4e1 100644 --- a/deployment/cre/common/strategies/strategies.go +++ b/deployment/cre/common/strategies/strategies.go @@ -7,7 +7,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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" mcmstypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/contracts/contracts.go b/deployment/cre/contracts/contracts.go index a8bfaa9516d..ae84e4ecc81 100644 --- a/deployment/cre/contracts/contracts.go +++ b/deployment/cre/contracts/contracts.go @@ -6,7 +6,7 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" cldf_evm "github.com/smartcontractkit/chainlink-deployments-framework/chain/evm" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" diff --git a/deployment/cre/forwarder/configure.go b/deployment/cre/forwarder/configure.go index f8c0d0ac9c8..a6adf6b6095 100644 --- a/deployment/cre/forwarder/configure.go +++ b/deployment/cre/forwarder/configure.go @@ -8,7 +8,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" chainsel "github.com/smartcontractkit/chain-selectors" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" mcmstypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/forwarder/solana/deploy_forwarder.go b/deployment/cre/forwarder/solana/deploy_forwarder.go index 14d0f12e135..e2cccc162bd 100644 --- a/deployment/cre/forwarder/solana/deploy_forwarder.go +++ b/deployment/cre/forwarder/solana/deploy_forwarder.go @@ -10,7 +10,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" diff --git a/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_dkg.go b/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_dkg.go index 93ae5476532..7a3e3594004 100644 --- a/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_dkg.go +++ b/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_dkg.go @@ -6,7 +6,7 @@ import ( "io" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/chainlink/deployment/cre/common/strategies" "github.com/smartcontractkit/chainlink/deployment/cre/ocr3/ocr3_1" diff --git a/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_plugin.go b/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_plugin.go index dc2a94229b8..6297b0e16f5 100644 --- a/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_plugin.go +++ b/deployment/cre/ocr3/ocr3_1/changeset/operations/contracts/configure_vault_plugin.go @@ -6,7 +6,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "google.golang.org/protobuf/proto" "github.com/smartcontractkit/smdkg/dkgocr/dkgocrtypes" diff --git a/deployment/cre/ocr3/v2/changeset/configure_ocr3.go b/deployment/cre/ocr3/v2/changeset/configure_ocr3.go index 499615eea25..ad1a432bf40 100644 --- a/deployment/cre/ocr3/v2/changeset/configure_ocr3.go +++ b/deployment/cre/ocr3/v2/changeset/configure_ocr3.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" diff --git a/deployment/cre/workflow_registry/v2/changeset/admin_workflow_registry.go b/deployment/cre/workflow_registry/v2/changeset/admin_workflow_registry.go index 5cc50fc8906..508eebef03f 100644 --- a/deployment/cre/workflow_registry/v2/changeset/admin_workflow_registry.go +++ b/deployment/cre/workflow_registry/v2/changeset/admin_workflow_registry.go @@ -6,7 +6,7 @@ import ( "math/big" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/workflow_registry/v2/changeset/configure_workflow_registry.go b/deployment/cre/workflow_registry/v2/changeset/configure_workflow_registry.go index 637b74f3678..7acf1fd3442 100644 --- a/deployment/cre/workflow_registry/v2/changeset/configure_workflow_registry.go +++ b/deployment/cre/workflow_registry/v2/changeset/configure_workflow_registry.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/cre/workflow_registry/v2/changeset/user_workflow_registry.go b/deployment/cre/workflow_registry/v2/changeset/user_workflow_registry.go index 7b8cf6c56c8..18d4c19bd5b 100644 --- a/deployment/cre/workflow_registry/v2/changeset/user_workflow_registry.go +++ b/deployment/cre/workflow_registry/v2/changeset/user_workflow_registry.go @@ -8,7 +8,7 @@ import ( "strings" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/types" diff --git a/deployment/data-feeds/changeset/proposal.go b/deployment/data-feeds/changeset/proposal.go index 15c8566ae0b..45e879033fa 100644 --- a/deployment/data-feeds/changeset/proposal.go +++ b/deployment/data-feeds/changeset/proposal.go @@ -6,7 +6,7 @@ import ( "time" gethTypes "github.com/ethereum/go-ethereum/core/types" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" "github.com/smartcontractkit/mcms/sdk/evm" diff --git a/deployment/go.mod b/deployment/go.mod index 47c742370a1..5fec3a0ec66 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -39,12 +39,12 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20260507123701-77fc93b573bb github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260428205619-2db1389501a1 github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 - github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828 @@ -57,13 +57,13 @@ require ( github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260427132612-76b9f754a556 github.com/smartcontractkit/chainlink-testing-framework/framework v0.15.19 github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.5 - github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e - github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e - github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 + github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 + github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 + github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 - github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 + github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb github.com/smartcontractkit/wsrpc v0.8.5-0.20250502134807-c57d3d995945 github.com/spf13/cast v1.10.0 diff --git a/deployment/go.sum b/deployment/go.sum index 055057f1dcb..fae4c2b953b 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1374,10 +1374,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1392,8 +1392,8 @@ github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 h1:M8+wVsfqgcxzH5WP9NEK5FFlEgU1r+6kD3ow0kURx7E= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0/go.mod h1:yWSgE8ZqcY9vERwBkDRARBbUfFFEyzICOg4Gqi9Yrng= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 h1:bTPDvJSLlMAibGuuewKK8hgVO3jBcyn/jaAiK2Agj98= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0/go.mod h1:d3twE7zrOtc0iuLs4EhBuaJAtAYOPZr+39nrXv4trw0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d h1:+zUmapuseG/BWHmBoM3Cl7LEr2frKr59q+eVKgBV9Zk= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d/go.mod h1:6EpqRtmiA3smgCRNVSN/IorekINrftZPX5QhoNrCaj4= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1460,16 +1460,16 @@ github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 h1:cWUHB6Q github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2/go.mod h1:Z4K5VJLjsfqIIaBcZ1Sfccxu0xsCxBjPa6zF+5gtQaM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 h1:RwZXxdIAOyjp6cwc9Quxgr38k8r7ACz+Lxh9o/A6oH0= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5/go.mod h1:kHYJnZUqiPF7/xN5273prV+srrLJkS77GbBXHLKQpx0= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e h1:hoHL/UDtmasVzu78vwCkfLhDktqjPEhRK7DN58fnn1U= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e h1:O2D/sCiLQy/vyC4qkk5Wrc34PH6CVITiH3olxn5RaRg= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 h1:DeQpkYzNYqAXfXnMwXmh5LfF86jDgvbvtB+zCgtovWA= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 h1:X8MNLLrViwwhBRPwhSVywI1ym2/WBMdhnaBAIkTpwaU= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= @@ -1480,8 +1480,8 @@ github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d h1:PvXor5F github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d/go.mod h1:PLdNK6GlqfxIWXzziPkU7dCAVlVFeYkyyW7AQY0R+4Q= github.com/smartcontractkit/mcms v0.41.1 h1:rK5X7if29gRhL6yqpUwxwaLYV0CqgwSJivdDqEJGFv4= github.com/smartcontractkit/mcms v0.41.1/go.mod h1:9AJhwHSVwV2mETizHBNfEF9CemL/Fmf0yPxNGdTtL/0= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 h1:rN8PnOZj53L70zlm1aYz1k14lXNCt7NoV666TDfcTJA= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 h1:MOEuXYogv+RStASb8dWsyescu/xkigSi/Sv45NEjV7A= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb h1:kLHdQQkijaPGsBbtV2rJgpzVpQ96e7T10pzjNlWfK8U= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb/go.mod h1:4s5hj/nlMF9WV+T5Uhy4n9IYpRpzfJzT+vTKkNT7T+Y= github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de h1:n0w0rKF+SVM+S3WNlup6uabXj2zFlFNfrlsKCMMb/co= diff --git a/deployment/helpers/deploy_solana.go b/deployment/helpers/deploy_solana.go index 8a49c849dd0..5346f832658 100644 --- a/deployment/helpers/deploy_solana.go +++ b/deployment/helpers/deploy_solana.go @@ -6,7 +6,8 @@ import ( "time" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -119,6 +120,6 @@ func FetchTimelockSigner(refs []datastore.AddressRef) (solana.PublicKey, error) if err != nil { return solana.PublicKey{}, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) return timelockSignerPDA, nil } diff --git a/deployment/internal/soltestutils/datastore.go b/deployment/internal/soltestutils/datastore.go index da99972c9e2..88f01cfa398 100644 --- a/deployment/internal/soltestutils/datastore.go +++ b/deployment/internal/soltestutils/datastore.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/Masterminds/semver/v3" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + sollegacy "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/stretchr/testify/require" cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -70,13 +70,13 @@ func PreloadAddressBookWithMCMSPrograms(t *testing.T, selector uint64) *cldf.Add // GetMCMSStateFromAddressBook retrieves the state of the Solana MCMS contracts on the given chain. func GetMCMSStateFromAddressBook( t *testing.T, ab cldf.AddressBook, chain cldfsolana.Chain, -) *solstate.MCMSWithTimelockState { +) *sollegacy.MCMSWithTimelockState { t.Helper() addresses, err := ab.AddressesForChain(chain.Selector) require.NoError(t, err) - mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) + mcmState, err := sollegacy.MaybeLoadMCMSWithTimelockChainState(chain, addresses) require.NoError(t, err) return mcmState diff --git a/deployment/internal/soltestutils/fund.go b/deployment/internal/soltestutils/fund.go index 3d4c9a7d5f7..f0207e06538 100644 --- a/deployment/internal/soltestutils/fund.go +++ b/deployment/internal/soltestutils/fund.go @@ -4,7 +4,8 @@ import ( "testing" "github.com/gagliardetto/solana-go" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + sollegacy "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/stretchr/testify/require" cldfsolana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -14,12 +15,12 @@ import ( // FundSignerPDAs funds the timelock signer and MCMS signer PDAs with 1 SOL for testing func FundSignerPDAs( - t *testing.T, chain cldfsolana.Chain, mcmsState *solstate.MCMSWithTimelockState, + t *testing.T, chain cldfsolana.Chain, mcmsState *sollegacy.MCMSWithTimelockState, ) { t.Helper() - timelockSignerPDA := solstate.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) - mcmSignerPDA := solstate.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) + mcmSignerPDA := pdasol.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed) signerPDAs := []solana.PublicKey{timelockSignerPDA, mcmSignerPDA} err := solutils.FundAccounts(t.Context(), chain.Client, signerPDAs, 1) require.NoError(t, err) diff --git a/deployment/keystone/changeset/deploy_ocr3.go b/deployment/keystone/changeset/deploy_ocr3.go index bbf262af676..397078e046c 100644 --- a/deployment/keystone/changeset/deploy_ocr3.go +++ b/deployment/keystone/changeset/deploy_ocr3.go @@ -7,7 +7,7 @@ import ( "io" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" ocr3_capability "github.com/smartcontractkit/chainlink-evm/gethwrappers/keystone/generated/ocr3_capability_1_0_0" diff --git a/deployment/keystone/changeset/operations/contracts/deploy_configure_forwarders_seq.go b/deployment/keystone/changeset/operations/contracts/deploy_configure_forwarders_seq.go index e94871d5cca..3b6c3e71d5f 100644 --- a/deployment/keystone/changeset/operations/contracts/deploy_configure_forwarders_seq.go +++ b/deployment/keystone/changeset/operations/contracts/deploy_configure_forwarders_seq.go @@ -6,7 +6,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" diff --git a/deployment/keystone/changeset/solana/deploy_forwarder.go b/deployment/keystone/changeset/solana/deploy_forwarder.go index 78eadbd27a5..2fa87ca876f 100644 --- a/deployment/keystone/changeset/solana/deploy_forwarder.go +++ b/deployment/keystone/changeset/solana/deploy_forwarder.go @@ -10,7 +10,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" - solstate "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" diff --git a/deployment/keystone/changeset/workflowregistry/strategies.go b/deployment/keystone/changeset/workflowregistry/strategies.go index 2ad90f17c5c..9d6947fa431 100644 --- a/deployment/keystone/changeset/workflowregistry/strategies.go +++ b/deployment/keystone/changeset/workflowregistry/strategies.go @@ -6,7 +6,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" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/mcms/sdk" mcmstypes "github.com/smartcontractkit/mcms/types" diff --git a/deployment/vault/changeset/validation.go b/deployment/vault/changeset/validation.go index 936591cf781..65806e40e27 100644 --- a/deployment/vault/changeset/validation.go +++ b/deployment/vault/changeset/validation.go @@ -11,7 +11,7 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" diff --git a/deployment/vault/view/view.go b/deployment/vault/view/view.go index ab6728bff99..431bc9d5cd6 100644 --- a/deployment/vault/view/view.go +++ b/deployment/vault/view/view.go @@ -6,8 +6,8 @@ import ( "slices" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" mcmsv10 "github.com/smartcontractkit/cld-changesets/pkg/contract/mcms/view/v1_0" - evmstate "github.com/smartcontractkit/cld-changesets/pkg/family/evm" "github.com/smartcontractkit/chainlink/deployment/vault/changeset" "github.com/smartcontractkit/chainlink/deployment/vault/changeset/types" From 33bbd5340ae6ed74b9580b19688dff1f225d58ef Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 12:43:36 -0600 Subject: [PATCH 03/25] fix: linting errors --- .../testhelpers/test_helpers_solana_v0_1_0.go | 5 +++-- .../testhelpers/test_helpers_solana_v0_1_1.go | 5 +++-- .../changeset/example/solana_transfer_mcm_test.go | 7 ++++--- .../common/changeset/mcms_firedrill_test.go | 9 +++++---- .../common/changeset/set_config_mcms_test.go | 3 +-- .../changeset/solana/grant_role_timelock_test.go | 3 ++- .../changeset/solana/mcms/sequence/sequence.go | 5 +++-- deployment/common/changeset/state/solana_test.go | 15 ++++++++------- 8 files changed, 29 insertions(+), 23 deletions(-) diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go index 2ddbd21f1ee..70e2f7b1f06 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go @@ -30,6 +30,9 @@ import ( cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + cldlegacysolmcms "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + aptos_fee_quoter "github.com/smartcontractkit/chainlink-aptos/bindings/ccip/fee_quoter" "github.com/smartcontractkit/chainlink-aptos/bindings/helpers" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_2_0/router" @@ -70,8 +73,6 @@ import ( tonOps "github.com/smartcontractkit/chainlink-ton/deployment/ccip" tonCfg "github.com/smartcontractkit/chainlink-ton/deployment/ccip/config" tonrouter "github.com/smartcontractkit/chainlink-ton/pkg/ccip/bindings/router" - cldlegacysolmcms "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" - pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink/deployment" aptoscs "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/aptos" diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go index 548f3504b88..94e7aa26902 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go @@ -24,6 +24,9 @@ import ( chainsel "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_1/burn_mint_token_pool" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_0/onramp" solconfig "github.com/smartcontractkit/chainlink-ccip/chains/solana/contracts/tests/config" @@ -34,8 +37,6 @@ import ( solcommon "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/common" ccipsolstate "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/state" soltokens "github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens" - solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" - pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/chainlink-common/pkg/logger" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/common/changeset/example/solana_transfer_mcm_test.go b/deployment/common/changeset/example/solana_transfer_mcm_test.go index ca9f5a6a6bc..8abfd92d907 100644 --- a/deployment/common/changeset/example/solana_transfer_mcm_test.go +++ b/deployment/common/changeset/example/solana_transfer_mcm_test.go @@ -20,11 +20,12 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/changeset/example" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" @@ -217,8 +218,8 @@ func TestTransferFromTimelockConfig_Apply(t *testing.T) { // Fund the signer PDAs for the MCMS contracts mcmState := soltestutils.GetMCMSStateFromAddressBook(t, rt.State().AddressBook, chain) - timelockSigner := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) - mcmSigner := state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) + timelockSigner := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + mcmSigner := pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed) err = solutils.FundAccounts(t.Context(), chain.Client, []solana.PublicKey{timelockSigner, mcmSigner, chain.DeployerKey.PublicKey()}, 150) require.NoError(t, err) diff --git a/deployment/common/changeset/mcms_firedrill_test.go b/deployment/common/changeset/mcms_firedrill_test.go index 1fb65662a6c..6c629bbc051 100644 --- a/deployment/common/changeset/mcms_firedrill_test.go +++ b/deployment/common/changeset/mcms_firedrill_test.go @@ -15,8 +15,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" @@ -56,9 +57,9 @@ func TestMCMSSignFireDrillChangeset(t *testing.T) { // Fund the signer PDAs for the MCMS contracts mcmsState := soltestutils.GetMCMSStateFromAddressBook(t, rt.State().AddressBook, solChain) - timelockSigner := state.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) - mcmSigner := state.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed) - mcmSignerBypasser := state.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.BypasserMcmSeed) + timelockSigner := pdasol.GetTimelockSignerPDA(mcmsState.TimelockProgram, mcmsState.TimelockSeed) + mcmSigner := pdasol.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.ProposerMcmSeed) + mcmSignerBypasser := pdasol.GetMCMSignerPDA(mcmsState.McmProgram, mcmsState.BypasserMcmSeed) // Note we cannot use FundSignerPDAs here because we also have to fund the bypasser signer PDA. err = solutils.FundAccounts(t.Context(), diff --git a/deployment/common/changeset/set_config_mcms_test.go b/deployment/common/changeset/set_config_mcms_test.go index ccee496310e..ea2243cbc42 100644 --- a/deployment/common/changeset/set_config_mcms_test.go +++ b/deployment/common/changeset/set_config_mcms_test.go @@ -28,7 +28,6 @@ import ( commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" commonchangesetsolana "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" @@ -497,7 +496,7 @@ func TestValidateV2(t *testing.T) { } func assertSolConfigEquals( - t *testing.T, inspector *solana.Inspector, programID solanago.PublicKey, seed state.PDASeed, want mcmstypes.Config, + t *testing.T, inspector *solana.Inspector, programID solanago.PublicKey, seed solstate.PDASeed, want mcmstypes.Config, ) { t.Helper() diff --git a/deployment/common/changeset/solana/grant_role_timelock_test.go b/deployment/common/changeset/solana/grant_role_timelock_test.go index c18d5edb686..18e500ae812 100644 --- a/deployment/common/changeset/solana/grant_role_timelock_test.go +++ b/deployment/common/changeset/solana/grant_role_timelock_test.go @@ -13,9 +13,10 @@ import ( timelockbindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" - cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + soltestutils "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana/testutils" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" diff --git a/deployment/common/changeset/solana/mcms/sequence/sequence.go b/deployment/common/changeset/solana/mcms/sequence/sequence.go index b3b772dbfa2..446c2b7e75a 100644 --- a/deployment/common/changeset/solana/mcms/sequence/sequence.go +++ b/deployment/common/changeset/solana/mcms/sequence/sequence.go @@ -9,6 +9,9 @@ import ( mcmsTypes "github.com/smartcontractkit/mcms/types" "github.com/smartcontractkit/wsrpc/logger" + sollegacy "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" + timelockBindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -18,8 +21,6 @@ import ( commonOps "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/operations" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" - sollegacy "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" - pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" ) var ( diff --git a/deployment/common/changeset/state/solana_test.go b/deployment/common/changeset/state/solana_test.go index d6cea1f0a2f..be8d589bcbd 100644 --- a/deployment/common/changeset/state/solana_test.go +++ b/deployment/common/changeset/state/solana_test.go @@ -10,6 +10,8 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" chainselectors "github.com/smartcontractkit/chain-selectors" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" @@ -19,7 +21,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" solanaMCMS "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/mcms" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" ) @@ -38,7 +39,7 @@ func TestMCMSWithTimelockState_GenerateMCMSWithTimelockViewSolana(t *testing.T) chain := env.BlockChains.SolanaChains()[selector] - defaultState := func() *state.MCMSWithTimelockStateSolana { + defaultState := func() *solstate.MCMSWithTimelockState { addressBook := cldf.NewMemoryAddressBook() mcmsState, err := solanaMCMS.DeployMCMSWithTimelockProgramsSolana(*env, chain, addressBook, commontypes.MCMSWithTimelockConfigV2{ @@ -64,14 +65,14 @@ func TestMCMSWithTimelockState_GenerateMCMSWithTimelockViewSolana(t *testing.T) tests := []struct { name string - state *state.MCMSWithTimelockStateSolana - want func(*state.MCMSWithTimelockStateSolana) string + state *solstate.MCMSWithTimelockState + want func(*solstate.MCMSWithTimelockState) string wantErr string }{ { name: "success", state: defaultState(), - want: func(state *state.MCMSWithTimelockStateSolana) string { + want: func(state *solstate.MCMSWithTimelockState) string { return fmt.Sprintf(`{ "proposer": { "programID": "%s", @@ -150,6 +151,6 @@ func toJSON[T any](t *testing.T, value T) string { return string(bytes) } -func signerPDA(programID solana.PublicKey, seed state.PDASeed) string { - return state.GetMCMSignerPDA(programID, seed).String() +func signerPDA(programID solana.PublicKey, seed solstate.PDASeed) string { + return pdasol.GetMCMSignerPDA(programID, seed).String() } From ae3b1fb1d6129b4669322029d3770fd524543e4f Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 12:51:17 -0600 Subject: [PATCH 04/25] fix: go mods --- core/scripts/go.mod | 12 ++++++------ core/scripts/go.sum | 28 ++++++++++++++-------------- integration-tests/go.mod | 14 +++++++------- integration-tests/go.sum | 28 ++++++++++++++-------------- integration-tests/load/go.mod | 12 ++++++------ integration-tests/load/go.sum | 28 ++++++++++++++-------------- system-tests/lib/go.mod | 12 ++++++------ system-tests/lib/go.sum | 28 ++++++++++++++-------------- system-tests/tests/go.mod | 12 ++++++------ system-tests/tests/go.sum | 28 ++++++++++++++-------------- 10 files changed, 101 insertions(+), 101 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 863ed03d3c5..ff13fbc7842 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -48,7 +48,7 @@ require ( github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 - github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828 github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260505131349-78e491b80735 @@ -484,8 +484,8 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20260507123701-77fc93b573bb // indirect github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260428205619-2db1389501a1 // indirect github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd // indirect - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc // indirect - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc // indirect + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 // indirect + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 // indirect github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 // indirect github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd // indirect github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20251211140724-319861e514c4 // indirect @@ -515,10 +515,10 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/framework/components/chiprouter v1.0.3 // indirect github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake v0.10.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect - github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e // indirect - github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e // indirect + 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.0.0-20260427210718-b873c54e8d22 // indirect + github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a // 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 diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 9b4b520ad5f..a872e05a423 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1631,10 +1631,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1649,8 +1649,8 @@ github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.202512111 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20251211140724-319861e514c4/go.mod h1:Zpvul9sTcZNAZOVzt5vBl1XZGNvQebFpnpn3/KOQvOQ= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 h1:M8+wVsfqgcxzH5WP9NEK5FFlEgU1r+6kD3ow0kURx7E= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0/go.mod h1:yWSgE8ZqcY9vERwBkDRARBbUfFFEyzICOg4Gqi9Yrng= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 h1:bTPDvJSLlMAibGuuewKK8hgVO3jBcyn/jaAiK2Agj98= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0/go.mod h1:d3twE7zrOtc0iuLs4EhBuaJAtAYOPZr+39nrXv4trw0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d h1:+zUmapuseG/BWHmBoM3Cl7LEr2frKr59q+eVKgBV9Zk= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d/go.mod h1:6EpqRtmiA3smgCRNVSN/IorekINrftZPX5QhoNrCaj4= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1723,16 +1723,16 @@ github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 h1:cWUHB6Q github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2/go.mod h1:Z4K5VJLjsfqIIaBcZ1Sfccxu0xsCxBjPa6zF+5gtQaM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 h1:RwZXxdIAOyjp6cwc9Quxgr38k8r7ACz+Lxh9o/A6oH0= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5/go.mod h1:kHYJnZUqiPF7/xN5273prV+srrLJkS77GbBXHLKQpx0= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e h1:hoHL/UDtmasVzu78vwCkfLhDktqjPEhRK7DN58fnn1U= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e h1:O2D/sCiLQy/vyC4qkk5Wrc34PH6CVITiH3olxn5RaRg= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 h1:DeQpkYzNYqAXfXnMwXmh5LfF86jDgvbvtB+zCgtovWA= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 h1:X8MNLLrViwwhBRPwhSVywI1ym2/WBMdhnaBAIkTpwaU= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= @@ -1743,8 +1743,8 @@ github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d h1:PvXor5F github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d/go.mod h1:PLdNK6GlqfxIWXzziPkU7dCAVlVFeYkyyW7AQY0R+4Q= github.com/smartcontractkit/mcms v0.41.1 h1:rK5X7if29gRhL6yqpUwxwaLYV0CqgwSJivdDqEJGFv4= github.com/smartcontractkit/mcms v0.41.1/go.mod h1:9AJhwHSVwV2mETizHBNfEF9CemL/Fmf0yPxNGdTtL/0= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 h1:rN8PnOZj53L70zlm1aYz1k14lXNCt7NoV666TDfcTJA= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 h1:MOEuXYogv+RStASb8dWsyescu/xkigSi/Sv45NEjV7A= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb h1:kLHdQQkijaPGsBbtV2rJgpzVpQ96e7T10pzjNlWfK8U= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb/go.mod h1:4s5hj/nlMF9WV+T5Uhy4n9IYpRpzfJzT+vTKkNT7T+Y= github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de h1:n0w0rKF+SVM+S3WNlup6uabXj2zFlFNfrlsKCMMb/co= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 45f03b23b59..8fd99147875 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -27,11 +27,11 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20260507123701-77fc93b573bb github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260428205619-2db1389501a1 github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 - github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828 github.com/smartcontractkit/chainlink-protos/job-distributor v0.18.0 @@ -40,14 +40,14 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.7 github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 - github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e - github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e + github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 + github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 github.com/smartcontractkit/chainlink/v2 v2.29.0 - github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 + github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 - github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 + github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 github.com/stretchr/testify v1.11.1 github.com/subosito/gotenv v1.6.0 github.com/testcontainers/testcontainers-go v0.41.0 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 980dc475899..1368971eee5 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1359,10 +1359,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1377,8 +1377,8 @@ github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 h1:M8+wVsfqgcxzH5WP9NEK5FFlEgU1r+6kD3ow0kURx7E= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0/go.mod h1:yWSgE8ZqcY9vERwBkDRARBbUfFFEyzICOg4Gqi9Yrng= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 h1:bTPDvJSLlMAibGuuewKK8hgVO3jBcyn/jaAiK2Agj98= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0/go.mod h1:d3twE7zrOtc0iuLs4EhBuaJAtAYOPZr+39nrXv4trw0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d h1:+zUmapuseG/BWHmBoM3Cl7LEr2frKr59q+eVKgBV9Zk= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d/go.mod h1:6EpqRtmiA3smgCRNVSN/IorekINrftZPX5QhoNrCaj4= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1443,16 +1443,16 @@ github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 h1:cWUHB6Q github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2/go.mod h1:Z4K5VJLjsfqIIaBcZ1Sfccxu0xsCxBjPa6zF+5gtQaM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 h1:RwZXxdIAOyjp6cwc9Quxgr38k8r7ACz+Lxh9o/A6oH0= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5/go.mod h1:kHYJnZUqiPF7/xN5273prV+srrLJkS77GbBXHLKQpx0= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e h1:hoHL/UDtmasVzu78vwCkfLhDktqjPEhRK7DN58fnn1U= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e h1:O2D/sCiLQy/vyC4qkk5Wrc34PH6CVITiH3olxn5RaRg= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 h1:DeQpkYzNYqAXfXnMwXmh5LfF86jDgvbvtB+zCgtovWA= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 h1:X8MNLLrViwwhBRPwhSVywI1ym2/WBMdhnaBAIkTpwaU= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= @@ -1463,8 +1463,8 @@ github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d h1:PvXor5F github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d/go.mod h1:PLdNK6GlqfxIWXzziPkU7dCAVlVFeYkyyW7AQY0R+4Q= github.com/smartcontractkit/mcms v0.41.1 h1:rK5X7if29gRhL6yqpUwxwaLYV0CqgwSJivdDqEJGFv4= github.com/smartcontractkit/mcms v0.41.1/go.mod h1:9AJhwHSVwV2mETizHBNfEF9CemL/Fmf0yPxNGdTtL/0= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 h1:rN8PnOZj53L70zlm1aYz1k14lXNCt7NoV666TDfcTJA= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 h1:MOEuXYogv+RStASb8dWsyescu/xkigSi/Sv45NEjV7A= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb h1:kLHdQQkijaPGsBbtV2rJgpzVpQ96e7T10pzjNlWfK8U= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb/go.mod h1:4s5hj/nlMF9WV+T5Uhy4n9IYpRpzfJzT+vTKkNT7T+Y= github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de h1:n0w0rKF+SVM+S3WNlup6uabXj2zFlFNfrlsKCMMb/co= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index fceee8048e8..c93b7218b51 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -18,10 +18,10 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20260507123701-77fc93b573bb github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260428205619-2db1389501a1 github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 - github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d github.com/smartcontractkit/chainlink-testing-framework/framework v0.15.19 github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.5 @@ -509,10 +509,10 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.7 // indirect github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.51.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect - github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e // indirect - github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e // indirect + 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.0.0-20260427210718-b873c54e8d22 // indirect + github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a // 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/libocr v0.0.0-20260403184524-b6409238958d // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 0b97b2cdb53..9081f3db982 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1629,10 +1629,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1647,8 +1647,8 @@ github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10 h1:FJAFgXS9 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.10/go.mod h1:oiDa54M0FwxevWwyAX773lwdWvFYYlYHHQV1LQ5HpWY= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 h1:M8+wVsfqgcxzH5WP9NEK5FFlEgU1r+6kD3ow0kURx7E= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0/go.mod h1:yWSgE8ZqcY9vERwBkDRARBbUfFFEyzICOg4Gqi9Yrng= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 h1:bTPDvJSLlMAibGuuewKK8hgVO3jBcyn/jaAiK2Agj98= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0/go.mod h1:d3twE7zrOtc0iuLs4EhBuaJAtAYOPZr+39nrXv4trw0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d h1:+zUmapuseG/BWHmBoM3Cl7LEr2frKr59q+eVKgBV9Zk= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d/go.mod h1:6EpqRtmiA3smgCRNVSN/IorekINrftZPX5QhoNrCaj4= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1719,16 +1719,16 @@ github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 h1:RwZXxdIA github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5/go.mod h1:kHYJnZUqiPF7/xN5273prV+srrLJkS77GbBXHLKQpx0= github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.2 h1:QFO9Ar1zY9SHj//7LXWq5caVrfyTFrkRcfkMQeSOAaQ= github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.2/go.mod h1:OLczwaAvyObFG+eq4tQHkWqkbPBB0cHkZj0JzY3inik= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e h1:hoHL/UDtmasVzu78vwCkfLhDktqjPEhRK7DN58fnn1U= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e h1:O2D/sCiLQy/vyC4qkk5Wrc34PH6CVITiH3olxn5RaRg= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 h1:DeQpkYzNYqAXfXnMwXmh5LfF86jDgvbvtB+zCgtovWA= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 h1:X8MNLLrViwwhBRPwhSVywI1ym2/WBMdhnaBAIkTpwaU= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= @@ -1739,8 +1739,8 @@ github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d h1:PvXor5F github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d/go.mod h1:PLdNK6GlqfxIWXzziPkU7dCAVlVFeYkyyW7AQY0R+4Q= github.com/smartcontractkit/mcms v0.41.1 h1:rK5X7if29gRhL6yqpUwxwaLYV0CqgwSJivdDqEJGFv4= github.com/smartcontractkit/mcms v0.41.1/go.mod h1:9AJhwHSVwV2mETizHBNfEF9CemL/Fmf0yPxNGdTtL/0= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 h1:rN8PnOZj53L70zlm1aYz1k14lXNCt7NoV666TDfcTJA= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 h1:MOEuXYogv+RStASb8dWsyescu/xkigSi/Sv45NEjV7A= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb h1:kLHdQQkijaPGsBbtV2rJgpzVpQ96e7T10pzjNlWfK8U= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb/go.mod h1:4s5hj/nlMF9WV+T5Uhy4n9IYpRpzfJzT+vTKkNT7T+Y= github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de h1:n0w0rKF+SVM+S3WNlup6uabXj2zFlFNfrlsKCMMb/co= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 70a3238ff1c..eb855c1912d 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -32,10 +32,10 @@ require ( github.com/sethvargo/go-retry v0.3.0 github.com/smartcontractkit/chain-selectors v1.0.98 github.com/smartcontractkit/chainlink-aptos v0.0.0-20260507123701-77fc93b573bb - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 - github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828 github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260505131349-78e491b80735 @@ -451,7 +451,7 @@ require ( github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260428205619-2db1389501a1 // indirect github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd // indirect github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 // indirect - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc // indirect + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 // indirect github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 // indirect github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd // indirect github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20251211140724-319861e514c4 // indirect @@ -478,10 +478,10 @@ require ( github.com/smartcontractkit/chainlink-sui v0.0.0-20260429183453-39df0198aed8 // indirect github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260427132612-76b9f754a556 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect - github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e // indirect - github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e // indirect + 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.0.0-20260427210718-b873c54e8d22 // indirect + github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a // 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 diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index cbe48fe69b6..65fa2fd3f9a 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -1598,10 +1598,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1616,8 +1616,8 @@ github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.202512111 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20251211140724-319861e514c4/go.mod h1:Zpvul9sTcZNAZOVzt5vBl1XZGNvQebFpnpn3/KOQvOQ= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 h1:M8+wVsfqgcxzH5WP9NEK5FFlEgU1r+6kD3ow0kURx7E= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0/go.mod h1:yWSgE8ZqcY9vERwBkDRARBbUfFFEyzICOg4Gqi9Yrng= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 h1:bTPDvJSLlMAibGuuewKK8hgVO3jBcyn/jaAiK2Agj98= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0/go.mod h1:d3twE7zrOtc0iuLs4EhBuaJAtAYOPZr+39nrXv4trw0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d h1:+zUmapuseG/BWHmBoM3Cl7LEr2frKr59q+eVKgBV9Zk= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d/go.mod h1:6EpqRtmiA3smgCRNVSN/IorekINrftZPX5QhoNrCaj4= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1690,16 +1690,16 @@ github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 h1:cWUHB6Q github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2/go.mod h1:Z4K5VJLjsfqIIaBcZ1Sfccxu0xsCxBjPa6zF+5gtQaM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 h1:RwZXxdIAOyjp6cwc9Quxgr38k8r7ACz+Lxh9o/A6oH0= github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5/go.mod h1:kHYJnZUqiPF7/xN5273prV+srrLJkS77GbBXHLKQpx0= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e h1:hoHL/UDtmasVzu78vwCkfLhDktqjPEhRK7DN58fnn1U= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e h1:O2D/sCiLQy/vyC4qkk5Wrc34PH6CVITiH3olxn5RaRg= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 h1:DeQpkYzNYqAXfXnMwXmh5LfF86jDgvbvtB+zCgtovWA= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 h1:X8MNLLrViwwhBRPwhSVywI1ym2/WBMdhnaBAIkTpwaU= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= @@ -1710,8 +1710,8 @@ github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d h1:PvXor5F github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d/go.mod h1:PLdNK6GlqfxIWXzziPkU7dCAVlVFeYkyyW7AQY0R+4Q= github.com/smartcontractkit/mcms v0.41.1 h1:rK5X7if29gRhL6yqpUwxwaLYV0CqgwSJivdDqEJGFv4= github.com/smartcontractkit/mcms v0.41.1/go.mod h1:9AJhwHSVwV2mETizHBNfEF9CemL/Fmf0yPxNGdTtL/0= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 h1:rN8PnOZj53L70zlm1aYz1k14lXNCt7NoV666TDfcTJA= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 h1:MOEuXYogv+RStASb8dWsyescu/xkigSi/Sv45NEjV7A= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb h1:kLHdQQkijaPGsBbtV2rJgpzVpQ96e7T10pzjNlWfK8U= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb/go.mod h1:4s5hj/nlMF9WV+T5Uhy4n9IYpRpzfJzT+vTKkNT7T+Y= github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de h1:n0w0rKF+SVM+S3WNlup6uabXj2zFlFNfrlsKCMMb/co= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index e162977912c..86a78bcfa41 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -61,7 +61,7 @@ require ( github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 - github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 + github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260421142741-9c7fbaf7c828 github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260505131349-78e491b80735 @@ -148,8 +148,8 @@ require ( github.com/sigstore/sigstore-go v1.1.4 // indirect github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd // indirect github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 // indirect - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc // indirect - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc // indirect + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 // indirect + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 // indirect github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 // indirect github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd // indirect github.com/smartcontractkit/chainlink-protos/chainlink-ccv/committee-verifier v0.0.0-20251211142334-5c3421fe2c8d // indirect @@ -160,7 +160,7 @@ require ( github.com/smartcontractkit/chainlink-protos/node-platform v0.0.0-20260430172634-acccf17ece83 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260421131224-c46cbfe7bc6c // indirect github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260427132612-76b9f754a556 // indirect - github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 // indirect + github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a // indirect github.com/stellar/go-stellar-sdk v0.1.0 // indirect github.com/stellar/go-xdr v0.0.0-20231122183749-b53fb00bcac2 // indirect go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect @@ -617,8 +617,8 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/framework/components/dockercompose v0.1.22 // indirect github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect - github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e // indirect - github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e // indirect + 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/chainlink/system-tests/tests/regression/cre/httpaction-negative v0.0.0-20251015074515-1acc1d3fb4c0 github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/httpaction v0.0.0-20251015074515-1acc1d3fb4c0 diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index 4a34a91b1b4..960292fc99f 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -1813,10 +1813,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1831,8 +1831,8 @@ github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.202512111 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20251211140724-319861e514c4/go.mod h1:Zpvul9sTcZNAZOVzt5vBl1XZGNvQebFpnpn3/KOQvOQ= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91 h1:s8E4EYRKEjghJFDnIWQxw8zoCvORVolIY/EKZ+JmzRc= github.com/smartcontractkit/chainlink-data-streams v0.1.14-0.20260504075031-e5aae8c82e91/go.mod h1:Fl6b/I5qn5TcEh85FP1rNsJ7stcYtmXhVbM2W5RuzQg= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0 h1:M8+wVsfqgcxzH5WP9NEK5FFlEgU1r+6kD3ow0kURx7E= -github.com/smartcontractkit/chainlink-deployments-framework v0.100.0/go.mod h1:yWSgE8ZqcY9vERwBkDRARBbUfFFEyzICOg4Gqi9Yrng= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0 h1:bTPDvJSLlMAibGuuewKK8hgVO3jBcyn/jaAiK2Agj98= +github.com/smartcontractkit/chainlink-deployments-framework v0.101.0/go.mod h1:d3twE7zrOtc0iuLs4EhBuaJAtAYOPZr+39nrXv4trw0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d h1:+zUmapuseG/BWHmBoM3Cl7LEr2frKr59q+eVKgBV9Zk= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260507171202-46e6a397da2d/go.mod h1:6EpqRtmiA3smgCRNVSN/IorekINrftZPX5QhoNrCaj4= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= @@ -1911,18 +1911,18 @@ github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 h1:RwZXxdIA github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5/go.mod h1:kHYJnZUqiPF7/xN5273prV+srrLJkS77GbBXHLKQpx0= github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.3 h1:cjkfMmIpzpl9wJyTbuUVlymwTFPdzp+KBlEGifkAhUc= github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.3/go.mod h1:OLczwaAvyObFG+eq4tQHkWqkbPBB0cHkZj0JzY3inik= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e h1:hoHL/UDtmasVzu78vwCkfLhDktqjPEhRK7DN58fnn1U= -github.com/smartcontractkit/chainlink-ton v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e h1:O2D/sCiLQy/vyC4qkk5Wrc34PH6CVITiH3olxn5RaRg= -github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260423161209-5ce1dba9785e/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 h1:DeQpkYzNYqAXfXnMwXmh5LfF86jDgvbvtB+zCgtovWA= +github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426/go.mod h1:ueY5pFIW//gVJS8/rh8qIs2gdlntxfAiOZfBSvJRjXk= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 h1:X8MNLLrViwwhBRPwhSVywI1ym2/WBMdhnaBAIkTpwaU= +github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426/go.mod h1:Y4xFqbrdQX+LjVzY5jHBnbTlP3erihUqYiH4h9XMWxU= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8 h1:ZhpUCMDFATsyS1B+6YaAxWYfh/WsVx9WWtYSOkl5V0g= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8/go.mod h1:96T5PZe9IRPcuMTnS2I2VGAtyDdkL5U9aWUykLtAYb8= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22 h1:yW9CUsDI/4qfnUcJ7iU+RYiiw0avyxysckGryVicyaI= -github.com/smartcontractkit/cld-changesets v0.0.0-20260427210718-b873c54e8d22/go.mod h1:thij0vx1djo0ze/ZqYmYAqHMhSqwr91M+51jmj7YBS4= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= +github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= @@ -1933,8 +1933,8 @@ github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d h1:PvXor5F github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d/go.mod h1:PLdNK6GlqfxIWXzziPkU7dCAVlVFeYkyyW7AQY0R+4Q= github.com/smartcontractkit/mcms v0.41.1 h1:rK5X7if29gRhL6yqpUwxwaLYV0CqgwSJivdDqEJGFv4= github.com/smartcontractkit/mcms v0.41.1/go.mod h1:9AJhwHSVwV2mETizHBNfEF9CemL/Fmf0yPxNGdTtL/0= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618 h1:rN8PnOZj53L70zlm1aYz1k14lXNCt7NoV666TDfcTJA= -github.com/smartcontractkit/quarantine v0.0.0-20250909213106-ece491bef618/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 h1:MOEuXYogv+RStASb8dWsyescu/xkigSi/Sv45NEjV7A= +github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9/go.mod h1:iwy4yWFuK+1JeoIRTaSOA9pl+8Kf//26zezxEXrAQEQ= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb h1:kLHdQQkijaPGsBbtV2rJgpzVpQ96e7T10pzjNlWfK8U= github.com/smartcontractkit/smdkg v0.0.0-20251029093710-c38905e58aeb/go.mod h1:4s5hj/nlMF9WV+T5Uhy4n9IYpRpzfJzT+vTKkNT7T+Y= github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20241009055228-33d0c0bf38de h1:n0w0rKF+SVM+S3WNlup6uabXj2zFlFNfrlsKCMMb/co= From 6fd70cf343d79dbe9d260d22b752c61211bfc33f Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 16:20:32 -0600 Subject: [PATCH 05/25] fix: go mods --- core/scripts/go.mod | 2 +- core/scripts/go.sum | 4 ++-- deployment/go.mod | 2 +- deployment/go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 4 ++-- system-tests/lib/go.mod | 2 +- system-tests/lib/go.sum | 4 ++-- system-tests/tests/go.mod | 2 +- system-tests/tests/go.sum | 4 ++-- 12 files changed, 18 insertions(+), 18 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index ff13fbc7842..5504df55288 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -518,7 +518,7 @@ 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.2.1-0.20260508161758-c49ce9d4888a // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 // 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 diff --git a/core/scripts/go.sum b/core/scripts/go.sum index a872e05a423..d1f7975d2d4 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1731,8 +1731,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/deployment/go.mod b/deployment/go.mod index 5fec3a0ec66..f6cd07d19b8 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -59,7 +59,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.5 github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 - github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 diff --git a/deployment/go.sum b/deployment/go.sum index fae4c2b953b..4ea2be98079 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1468,8 +1468,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 8fd99147875..10e52ee252c 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -44,7 +44,7 @@ require ( github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 github.com/smartcontractkit/chainlink/v2 v2.29.0 - github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 1368971eee5..450cd6ea5c9 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1451,8 +1451,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index c93b7218b51..43ff26223f6 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -512,7 +512,7 @@ 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.2.1-0.20260508161758-c49ce9d4888a // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 // 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/libocr v0.0.0-20260403184524-b6409238958d // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 9081f3db982..54a923b7492 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1727,8 +1727,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index eb855c1912d..02c32263e04 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -481,7 +481,7 @@ 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.2.1-0.20260508161758-c49ce9d4888a // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 // 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 diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 65fa2fd3f9a..23b6479b83b 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -1698,8 +1698,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 86a78bcfa41..95c3110dd36 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -160,7 +160,7 @@ require ( github.com/smartcontractkit/chainlink-protos/node-platform v0.0.0-20260430172634-acccf17ece83 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260421131224-c46cbfe7bc6c // indirect github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260427132612-76b9f754a556 // indirect - github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 // indirect github.com/stellar/go-stellar-sdk v0.1.0 // indirect github.com/stellar/go-xdr v0.0.0-20231122183749-b53fb00bcac2 // indirect go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index 960292fc99f..b2868723a34 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -1921,8 +1921,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202602181 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8 h1:ZhpUCMDFATsyS1B+6YaAxWYfh/WsVx9WWtYSOkl5V0g= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8/go.mod h1:96T5PZe9IRPcuMTnS2I2VGAtyDdkL5U9aWUykLtAYb8= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a h1:gRscXtUN3aBRTB2e3boo/6Z9PPcQcUwhgSaQfhZml/k= -github.com/smartcontractkit/cld-changesets v0.2.1-0.20260508161758-c49ce9d4888a/go.mod h1:7g4zubI0t+5WcaqT0HrpnvesJpKEgfm9czX7svvkG44= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= From d03389482ce9681984af5ad03aa729420575f21e Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 17:37:55 -0600 Subject: [PATCH 06/25] fix: go mods --- deployment/go.mod | 4 ++-- deployment/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/deployment/go.mod b/deployment/go.mod index f6cd07d19b8..845c4bfb064 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -39,8 +39,8 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20260507123701-77fc93b573bb github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260428205619-2db1389501a1 github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 - github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 - github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 + github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc + github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 github.com/smartcontractkit/chainlink-common v0.11.2-0.20260506120607-7f10be016c89 github.com/smartcontractkit/chainlink-common/keystore v1.1.0 diff --git a/deployment/go.sum b/deployment/go.sum index 4ea2be98079..4570d143e91 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1374,10 +1374,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= From 6a2ef2dd5a136fc4287c3b0c1618fde5cfe583df Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 19:53:35 -0600 Subject: [PATCH 07/25] fix: ci failures --- .github/workflows/ci-core.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci-core.yml b/.github/workflows/ci-core.yml index 5f08c32f812..849643406c5 100644 --- a/.github/workflows/ci-core.yml +++ b/.github/workflows/ci-core.yml @@ -108,6 +108,8 @@ jobs: e2e-tests-files: - "system-tests/**" - "integration-tests/**" + deployment-files: + - "deployment/**" workflow-files: - ".github/workflows/ci-core.yml" - ".github/actions/**" From 0135b217717cb75b8de0148aeb95b6e98d3eaccd Mon Sep 17 00:00:00 2001 From: Pablo Date: Fri, 8 May 2026 21:28:45 -0600 Subject: [PATCH 08/25] chore: go.md --- go.md | 468 ---------------------------------------------------------- 1 file changed, 468 deletions(-) diff --git a/go.md b/go.md index f8e3d7438b1..c150e6f4879 100644 --- a/go.md +++ b/go.md @@ -313,471 +313,3 @@ flowchart LR classDef group stroke-dasharray:6,fill:none; class chains,products group - ccip-contract-examples/chains/evm --> chainlink-ccip - click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" - ccip-owner-contracts --> chain-selectors - click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" - chain-selectors - click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" - chainlink-aptos --> chainlink-framework/metrics - click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" - chainlink-automation --> chainlink-common - click chainlink-automation href "https://github.com/smartcontractkit/chainlink-automation" - chainlink-ccip --> chainlink-common - chainlink-ccip --> chainlink-protos/rmn/v1.6/go - click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/ccv/chains/evm - click chainlink-ccip/ccv/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm - chainlink-ccip/chains/evm --> chainlink-ccip/deployment - chainlink-ccip/chains/evm --> chainlink-ccv - chainlink-ccip/chains/evm --> chainlink-ccv/deployment - click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings - chainlink-ccip/chains/solana --> chainlink-common - click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/solana/gobindings - click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/deployment --> chainlink-deployments-framework - click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccv --> chainlink-ccip/ccv/chains/evm - chainlink-ccv --> chainlink-evm - chainlink-ccv --> chainlink-protos/chainlink-ccv/committee-verifier - chainlink-ccv --> chainlink-protos/chainlink-ccv/heartbeat - chainlink-ccv --> chainlink-protos/chainlink-ccv/message-discovery - chainlink-ccv --> chainlink-protos/orchestrator - chainlink-ccv --> chainlink-solana - chainlink-ccv --> chainlink-testing-framework/framework - click chainlink-ccv href "https://github.com/smartcontractkit/chainlink-ccv" - chainlink-ccv/deployment - click chainlink-ccv/deployment href "https://github.com/smartcontractkit/chainlink-ccv" - chainlink-common --> chainlink-common/pkg/chipingress - chainlink-common --> chainlink-protos/billing/go - chainlink-common --> chainlink-protos/cre/go - chainlink-common --> chainlink-protos/linking-service/go - chainlink-common --> chainlink-protos/node-platform - chainlink-common --> chainlink-protos/storage-service - chainlink-common --> freeport - chainlink-common --> grpc-proxy - chainlink-common --> libocr - click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/keystore --> chainlink-common - chainlink-common/keystore --> smdkg - chainlink-common/keystore --> wsrpc - click chainlink-common/keystore href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/chipingress - click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/monitoring - click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/values - click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/workflows/sdk/v2/pb --> chainlink-common/pkg/values - click chainlink-common/pkg/workflows/sdk/v2/pb href "https://github.com/smartcontractkit/chainlink-common" - chainlink-data-streams --> chainlink-evm - click chainlink-data-streams href "https://github.com/smartcontractkit/chainlink-data-streams" - chainlink-deployments-framework --> ccip-owner-contracts - chainlink-deployments-framework --> chainlink-protos/job-distributor - chainlink-deployments-framework --> chainlink-protos/op-catalog - chainlink-deployments-framework --> chainlink-tron/relayer - chainlink-deployments-framework --> mcms - click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" - chainlink-evm --> chainlink-common/keystore - chainlink-evm --> chainlink-evm/gethwrappers - chainlink-evm --> chainlink-framework/capabilities - chainlink-evm --> chainlink-framework/chains - chainlink-evm --> chainlink-protos/svr - chainlink-evm --> chainlink-tron/relayer - click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/contracts/cre/gobindings --> chainlink-evm/gethwrappers/helpers - click chainlink-evm/contracts/cre/gobindings href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/gethwrappers --> chainlink-evm/gethwrappers/helpers - click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/gethwrappers/helpers - click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-feeds --> chainlink-common - click chainlink-feeds href "https://github.com/smartcontractkit/chainlink-feeds" - chainlink-framework/capabilities --> chainlink-common - click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/chains --> chainlink-framework/multinode - click chainlink-framework/chains href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/metrics --> chainlink-common - click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/multinode --> chainlink-framework/metrics - click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-protos/billing/go --> chainlink-protos/workflows/go - click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/committee-verifier --> chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/committee-verifier href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/heartbeat - click chainlink-protos/chainlink-ccv/heartbeat href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/message-discovery --> chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/message-discovery href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/verifier href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/cre/go --> chain-selectors - click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/data-feeds - click chainlink-protos/data-feeds href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/job-distributor - click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/linking-service/go - click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/node-platform - click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/op-catalog - click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/orchestrator --> wsrpc - click chainlink-protos/orchestrator href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/ring/go - click chainlink-protos/ring/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/rmn/v1.6/go - click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/storage-service - click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/svr - click chainlink-protos/svr href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/workflows/go - click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-solana --> chainlink-ccip - chainlink-solana --> chainlink-ccip/chains/solana - chainlink-solana --> chainlink-common/keystore - chainlink-solana --> chainlink-common/pkg/monitoring - chainlink-solana --> chainlink-framework/multinode - click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana" - chainlink-solana/contracts --> chainlink-deployments-framework - chainlink-solana/contracts --> chainlink-solana - click chainlink-solana/contracts href "https://github.com/smartcontractkit/chainlink-solana" - chainlink-sui --> chainlink-aptos - chainlink-sui --> chainlink-ccip - click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" - chainlink-sui/deployment --> chainlink-ccip/deployment - click chainlink-sui/deployment href "https://github.com/smartcontractkit/chainlink-sui" - chainlink-testing-framework/framework --> chainlink-testing-framework/wasp - click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/framework/components/chiprouter --> chainlink-common/pkg/chipingress - chainlink-testing-framework/framework/components/chiprouter --> chainlink-testing-framework/framework - click chainlink-testing-framework/framework/components/chiprouter href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/framework/components/dockercompose --> chainlink-common/pkg/chipingress - chainlink-testing-framework/framework/components/dockercompose --> chainlink-testing-framework/framework - chainlink-testing-framework/framework/components/dockercompose --> freeport - click chainlink-testing-framework/framework/components/dockercompose href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/framework/components/fake --> chainlink-testing-framework/framework - click chainlink-testing-framework/framework/components/fake href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/havoc --> chainlink-testing-framework/lib/grafana - click chainlink-testing-framework/havoc href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/lib --> chainlink-testing-framework/parrot - chainlink-testing-framework/lib --> chainlink-testing-framework/seth - click chainlink-testing-framework/lib href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/lib/grafana - click chainlink-testing-framework/lib/grafana href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/parrot - click chainlink-testing-framework/parrot href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/seth - click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/wasp --> chainlink-testing-framework/lib - chainlink-testing-framework/wasp --> chainlink-testing-framework/lib/grafana - click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-ton --> chainlink-ccip - chainlink-ton --> chainlink-common/pkg/monitoring - chainlink-ton --> chainlink-framework/metrics - click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" - chainlink-ton/deployment --> chainlink-ccip/chains/evm - click chainlink-ton/deployment href "https://github.com/smartcontractkit/chainlink-ton" - chainlink-tron/relayer --> chainlink-common - click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" - chainlink/core/scripts --> chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based - chainlink/core/scripts --> chainlink/system-tests/lib - click chainlink/core/scripts href "https://github.com/smartcontractkit/chainlink" - chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based --> chainlink-common - click chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based href "https://github.com/smartcontractkit/chainlink" - chainlink/core/scripts/cre/environment/examples/workflows/v2/cron --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/core/scripts/cre/environment/examples/workflows/v2/cron href "https://github.com/smartcontractkit/chainlink" - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> chainlink-common - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> chainlink-evm/gethwrappers - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/blockchain/evm - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/networking/http - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based href "https://github.com/smartcontractkit/chainlink" - chainlink/deployment --> chainlink-solana/contracts - chainlink/deployment --> chainlink-sui/deployment - chainlink/deployment --> chainlink-ton/deployment - chainlink/deployment --> chainlink/v2 - chainlink/deployment --> cld-changesets - click chainlink/deployment href "https://github.com/smartcontractkit/chainlink" - chainlink/devenv --> chainlink-automation - chainlink/devenv --> chainlink-evm - chainlink/devenv --> chainlink-protos/job-distributor - chainlink/devenv --> chainlink-testing-framework/framework/components/fake - click chainlink/devenv href "https://github.com/smartcontractkit/chainlink" - chainlink/devenv/fakes --> chainlink-testing-framework/framework/components/fake - click chainlink/devenv/fakes href "https://github.com/smartcontractkit/chainlink" - chainlink/integration-tests --> chainlink/deployment - click chainlink/integration-tests href "https://github.com/smartcontractkit/chainlink" - chainlink/load-tests --> chainlink-testing-framework/havoc - chainlink/load-tests --> chainlink/integration-tests - click chainlink/load-tests href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/chiprouter - chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/dockercompose - chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/fake - chainlink/system-tests/lib --> chainlink/deployment - click chainlink/system-tests/lib href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests --> chainlink-testing-framework/havoc - chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based - chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v2/cron - chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based - chainlink/system-tests/tests --> chainlink/system-tests/lib - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/consensus - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/evmread-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/http - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/httpaction-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evm/evmread - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evm/logtrigger - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evmread - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/httpaction - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/solana/solwrite - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/vaultsecret - click chainlink/system-tests/tests href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/consensus --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/consensus href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> chainlink-evm/gethwrappers - chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/evm/evmread-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative --> cre-sdk-go/capabilities/blockchain/evm - click chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/http --> cre-sdk-go/capabilities/networking/http - click chainlink/system-tests/tests/regression/cre/http href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/httpaction-negative --> cre-sdk-go/capabilities/networking/http - chainlink/system-tests/tests/regression/cre/httpaction-negative --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/httpaction-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/aptos/aptosread --> cre-sdk-go/capabilities/blockchain/aptos - chainlink/system-tests/tests/smoke/cre/aptos/aptosread --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/aptos/aptosread href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite --> cre-sdk-go/capabilities/blockchain/aptos - chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip --> cre-sdk-go/capabilities/blockchain/aptos - chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/evm/evmread --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/smoke/cre/evm/evmread --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/evm/evmread href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/evm/logtrigger --> cre-sdk-go/capabilities/blockchain/evm - click chainlink/system-tests/tests/smoke/cre/evm/logtrigger href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/evmread --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/smoke/cre/evmread --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/evmread href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/httpaction --> cre-sdk-go/capabilities/networking/http - chainlink/system-tests/tests/smoke/cre/httpaction --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/httpaction href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/solana/solwrite --> cre-sdk-go/capabilities/blockchain/solana - chainlink/system-tests/tests/smoke/cre/solana/solwrite --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/solana/solwrite href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/vaultsecret --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/vaultsecret href "https://github.com/smartcontractkit/chainlink" - chainlink/v2 --> chainlink-automation - chainlink/v2 --> chainlink-ccip/chains/evm - chainlink/v2 --> chainlink-data-streams - chainlink/v2 --> chainlink-evm/contracts/cre/gobindings - chainlink/v2 --> chainlink-feeds - chainlink/v2 --> chainlink-protos/data-feeds - chainlink/v2 --> chainlink-protos/ring/go - chainlink/v2 --> cre-sdk-go/capabilities/networking/http - chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron - chainlink/v2 --> quarantine - chainlink/v2 --> tdh2/go/ocr2/decryptionplugin - click chainlink/v2 href "https://github.com/smartcontractkit/chainlink" - cld-changesets --> chainlink-deployments-framework - cld-changesets --> chainlink-evm - click cld-changesets href "https://github.com/smartcontractkit/cld-changesets" - cre-sdk-go --> chainlink-protos/cre/go - click cre-sdk-go href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/blockchain/aptos --> cre-sdk-go - click cre-sdk-go/capabilities/blockchain/aptos href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/blockchain/evm --> chainlink-common/pkg/workflows/sdk/v2/pb - cre-sdk-go/capabilities/blockchain/evm --> cre-sdk-go - click cre-sdk-go/capabilities/blockchain/evm href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/blockchain/solana --> cre-sdk-go - click cre-sdk-go/capabilities/blockchain/solana href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/networking/http --> cre-sdk-go - click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/scheduler/cron --> cre-sdk-go - click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go" - freeport - click freeport href "https://github.com/smartcontractkit/freeport" - go-sumtype2 - click go-sumtype2 href "https://github.com/smartcontractkit/go-sumtype2" - grpc-proxy - click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" - libocr --> go-sumtype2 - click libocr href "https://github.com/smartcontractkit/libocr" - mcms --> chainlink-ccip/chains/solana - mcms --> chainlink-sui - mcms --> chainlink-testing-framework/framework - mcms --> chainlink-ton - click mcms href "https://github.com/smartcontractkit/mcms" - quarantine - click quarantine href "https://github.com/smartcontractkit/quarantine" - smdkg --> libocr - smdkg --> tdh2/go/tdh2 - click smdkg href "https://github.com/smartcontractkit/smdkg" - tdh2/go/ocr2/decryptionplugin --> libocr - tdh2/go/ocr2/decryptionplugin --> tdh2/go/tdh2 - click tdh2/go/ocr2/decryptionplugin href "https://github.com/smartcontractkit/tdh2" - tdh2/go/tdh2 - click tdh2/go/tdh2 href "https://github.com/smartcontractkit/tdh2" - wsrpc - click wsrpc href "https://github.com/smartcontractkit/wsrpc" - - subgraph chainlink-repo[chainlink] - chainlink/core/scripts - chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based - chainlink/core/scripts/cre/environment/examples/workflows/v2/cron - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based - chainlink/deployment - chainlink/devenv - chainlink/devenv/fakes - chainlink/integration-tests - chainlink/load-tests - chainlink/system-tests/lib - chainlink/system-tests/tests - chainlink/system-tests/tests/regression/cre/consensus - chainlink/system-tests/tests/regression/cre/evm/evmread-negative - chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative - chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative - chainlink/system-tests/tests/regression/cre/http - chainlink/system-tests/tests/regression/cre/httpaction-negative - chainlink/system-tests/tests/smoke/cre/aptos/aptosread - chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite - chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip - chainlink/system-tests/tests/smoke/cre/evm/evmread - chainlink/system-tests/tests/smoke/cre/evm/logtrigger - chainlink/system-tests/tests/smoke/cre/evmread - chainlink/system-tests/tests/smoke/cre/httpaction - chainlink/system-tests/tests/smoke/cre/solana/solwrite - chainlink/system-tests/tests/smoke/cre/vaultsecret - chainlink/v2 - end - click chainlink-repo href "https://github.com/smartcontractkit/chainlink" - - subgraph chainlink-ccip-repo[chainlink-ccip] - chainlink-ccip - chainlink-ccip/ccv/chains/evm - chainlink-ccip/chains/evm - chainlink-ccip/chains/solana - chainlink-ccip/chains/solana/gobindings - chainlink-ccip/deployment - end - click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" - - subgraph chainlink-ccv-repo[chainlink-ccv] - chainlink-ccv - chainlink-ccv/deployment - end - click chainlink-ccv-repo href "https://github.com/smartcontractkit/chainlink-ccv" - - subgraph chainlink-common-repo[chainlink-common] - chainlink-common - chainlink-common/keystore - chainlink-common/pkg/chipingress - chainlink-common/pkg/monitoring - chainlink-common/pkg/values - chainlink-common/pkg/workflows/sdk/v2/pb - end - click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" - - subgraph chainlink-evm-repo[chainlink-evm] - chainlink-evm - chainlink-evm/contracts/cre/gobindings - chainlink-evm/gethwrappers - chainlink-evm/gethwrappers/helpers - end - click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" - - subgraph chainlink-framework-repo[chainlink-framework] - chainlink-framework/capabilities - chainlink-framework/chains - chainlink-framework/metrics - chainlink-framework/multinode - end - click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework" - - subgraph chainlink-protos-repo[chainlink-protos] - chainlink-protos/billing/go - chainlink-protos/chainlink-ccv/committee-verifier - chainlink-protos/chainlink-ccv/heartbeat - chainlink-protos/chainlink-ccv/message-discovery - chainlink-protos/chainlink-ccv/verifier - chainlink-protos/cre/go - chainlink-protos/data-feeds - chainlink-protos/job-distributor - chainlink-protos/linking-service/go - chainlink-protos/node-platform - chainlink-protos/op-catalog - chainlink-protos/orchestrator - chainlink-protos/ring/go - chainlink-protos/rmn/v1.6/go - chainlink-protos/storage-service - chainlink-protos/svr - chainlink-protos/workflows/go - end - click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" - - subgraph chainlink-solana-repo[chainlink-solana] - chainlink-solana - chainlink-solana/contracts - end - click chainlink-solana-repo href "https://github.com/smartcontractkit/chainlink-solana" - - subgraph chainlink-sui-repo[chainlink-sui] - chainlink-sui - chainlink-sui/deployment - end - click chainlink-sui-repo href "https://github.com/smartcontractkit/chainlink-sui" - - subgraph chainlink-testing-framework-repo[chainlink-testing-framework] - chainlink-testing-framework/framework - chainlink-testing-framework/framework/components/chiprouter - chainlink-testing-framework/framework/components/dockercompose - chainlink-testing-framework/framework/components/fake - chainlink-testing-framework/havoc - chainlink-testing-framework/lib - chainlink-testing-framework/lib/grafana - chainlink-testing-framework/parrot - chainlink-testing-framework/seth - chainlink-testing-framework/wasp - end - click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" - - subgraph chainlink-ton-repo[chainlink-ton] - chainlink-ton - chainlink-ton/deployment - end - click chainlink-ton-repo href "https://github.com/smartcontractkit/chainlink-ton" - - subgraph cre-sdk-go-repo[cre-sdk-go] - cre-sdk-go - cre-sdk-go/capabilities/blockchain/aptos - cre-sdk-go/capabilities/blockchain/evm - cre-sdk-go/capabilities/blockchain/solana - cre-sdk-go/capabilities/networking/http - cre-sdk-go/capabilities/scheduler/cron - end - click cre-sdk-go-repo href "https://github.com/smartcontractkit/cre-sdk-go" - - subgraph tdh2-repo[tdh2] - tdh2/go/ocr2/decryptionplugin - tdh2/go/tdh2 - end - click tdh2-repo href "https://github.com/smartcontractkit/tdh2" - - classDef outline stroke-dasharray:6,fill:none; - class chainlink-repo,chainlink-ccip-repo,chainlink-ccv-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-framework-repo,chainlink-protos-repo,chainlink-solana-repo,chainlink-sui-repo,chainlink-testing-framework-repo,chainlink-ton-repo,cre-sdk-go-repo,tdh2-repo outline -``` From 8dd3322c7f7799ec8bb538f8bd2f79bca97b77ce Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 9 May 2026 01:40:18 -0600 Subject: [PATCH 09/25] chore: go.md --- tools/bin/modgraph | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/tools/bin/modgraph b/tools/bin/modgraph index fad167bbd1b..83067fb6f5c 100755 --- a/tools/bin/modgraph +++ b/tools/bin/modgraph @@ -4,6 +4,32 @@ set -e +# Long-running `go mod graph` calls produce no stdout for minutes; some CI runners +# treat that as stuck work and SIGTERM the step. Emit periodic heartbeats on stderr only +# so logs stay alive without corrupting markdown on stdout. +heartbeat_pid= + +heartbeat_start() { + local msg=${1:-nested module graphs} + ( + while true; do + sleep 30 + echo "[modgraph] heartbeat $(date -u +%Y-%m-%dT%H:%M:%SZ) — ${msg}..." >&2 + done + ) & + heartbeat_pid=$! +} + +heartbeat_stop() { + if [[ -n "${heartbeat_pid:-}" ]] && kill -0 "$heartbeat_pid" 2>/dev/null; then + kill "$heartbeat_pid" 2>/dev/null || true + wait "$heartbeat_pid" 2>/dev/null || true + fi + heartbeat_pid= +} + +trap heartbeat_stop EXIT INT TERM + echo "# smartcontractkit Go modules ## Main module \`\`\`mermaid @@ -28,7 +54,10 @@ flowchart LR classDef group stroke-dasharray:6,fill:none; class chains,products group " +heartbeat_start "root go mod graph" go mod graph | modgraph -prefix github.com/smartcontractkit/ +heartbeat_stop + echo "\`\`\`" echo "## All modules @@ -54,5 +83,9 @@ flowchart LR classDef group stroke-dasharray:6,fill:none; class chains,products group " -gomods graph | modgraph -prefix github.com/smartcontractkit/ +# -v logs each skipped module to stderr; heartbeats cover long silent graphs. +heartbeat_start "gomods graph (all nested modules)" +gomods -v graph | modgraph -prefix github.com/smartcontractkit/ +heartbeat_stop + echo "\`\`\`" \ No newline at end of file From fe8a1417bacf04c84d64bf819140c9db9001dbe6 Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 9 May 2026 17:57:14 -0600 Subject: [PATCH 10/25] fix: increase memory and timeouts --- .github/workflows/ci-core.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci-core.yml b/.github/workflows/ci-core.yml index 849643406c5..c91a7923f7b 100644 --- a/.github/workflows/ci-core.yml +++ b/.github/workflows/ci-core.yml @@ -633,6 +633,11 @@ jobs: --output "$HOME/go/bin/protoc-gen-go-wsrpc" && chmod +x "$HOME/go/bin/protoc-gen-go-wsrpc" - name: make generate + timeout-minutes: 180 + env: + # modgraph can run a long time and spike heap on the combined nested-module graph. + GOMEMLIMIT: 28GiB + GOGC: 50 run: | make rm-mocked make generate From 675d7b1270cbbfa02a67afc6b2e920db0db7c69b Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 9 May 2026 18:31:39 -0600 Subject: [PATCH 11/25] fix: increase memory and timeouts --- .github/workflows/ci-core.yml | 6 +++--- GNUmakefile | 10 +++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-core.yml b/.github/workflows/ci-core.yml index c91a7923f7b..25db4084fe5 100644 --- a/.github/workflows/ci-core.yml +++ b/.github/workflows/ci-core.yml @@ -616,6 +616,7 @@ jobs: name: Clean Go Tidy & Generate if: ${{ github.actor != 'dependabot[bot]' }} runs-on: ubuntu22.04-8cores-32GB + timeout-minutes: 360 defaults: run: shell: bash @@ -633,10 +634,9 @@ jobs: --output "$HOME/go/bin/protoc-gen-go-wsrpc" && chmod +x "$HOME/go/bin/protoc-gen-go-wsrpc" - name: make generate - timeout-minutes: 180 + timeout-minutes: 360 env: - # modgraph can run a long time and spike heap on the combined nested-module graph. - GOMEMLIMIT: 28GiB + # Encourage GC during large modgraph heaps (does not raise cgroup RAM limits). GOGC: 50 run: | make rm-mocked diff --git a/GNUmakefile b/GNUmakefile index 7514aeb1d40..4a2d66933e7 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -266,7 +266,15 @@ lint-fix: gomods ## Run golangci-lint with --fix for all modules .PHONY: modgraph modgraph: go install github.com/jmank88/modgraph@v0.1.1 - ./tools/bin/modgraph > go.md + bash -ce './tools/bin/modgraph > go.md & mpid=$$!; \ + while kill -0 $$mpid 2>/dev/null; do \ + echo "::notice::Generating go.md (modgraph); still running..."; \ + for i in $$(seq 1 30); do \ + kill -0 $$mpid 2>/dev/null || break 2; \ + sleep 1; \ + done; \ + done; \ + wait $$mpid' .PHONY: test-short test-short: ## Run 'go test -short' and suppress uninteresting output From ed356b689e1a981ec653cd9c58b639d956d1bf89 Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 9 May 2026 18:42:10 -0600 Subject: [PATCH 12/25] fix: restore makefile changes --- GNUmakefile | 324 --------------------------------------------- go.md | 315 ------------------------------------------- tools/bin/modgraph | 91 ------------- 3 files changed, 730 deletions(-) delete mode 100644 GNUmakefile delete mode 100644 go.md delete mode 100755 tools/bin/modgraph diff --git a/GNUmakefile b/GNUmakefile deleted file mode 100644 index 4a2d66933e7..00000000000 --- a/GNUmakefile +++ /dev/null @@ -1,324 +0,0 @@ -.DEFAULT_GOAL := chainlink - -COMMIT_SHA ?= $(shell git rev-parse HEAD) -VERSION = $(shell jq -r '.version' package.json) -VERSION_TAG ?= $(shell git describe --always) -GO_LDFLAGS := $(shell tools/bin/ldflags) -GOFLAGS = -ldflags "$(GO_LDFLAGS)" -GCFLAGS = -gcflags "$(GO_GCFLAGS)" -# Set to true to install private plugins (will require GitHub auth). -CL_INSTALL_PRIVATE_PLUGINS ?= false -CL_INSTALL_TESTING_PLUGINS ?= false -CL_IS_PROD_BUILD ?= true -# Output directory for loopinstall plugin manifests (set by caller) -CL_LOOPINSTALL_OUTPUT_DIR ?= -# Conditionally define arsguments for loopinstall based on CL_LOOPINSTALL_OUTPUT_DIR -LOOPINSTALL_PUBLIC_ARGS := $(if $(strip $(CL_LOOPINSTALL_OUTPUT_DIR)),--output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/public.json) -LOOPINSTALL_PRIVATE_ARGS := $(if $(strip $(CL_LOOPINSTALL_OUTPUT_DIR)),--output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/private.json) -LOOPINSTALL_TESTING_ARGS := $(if $(strip $(CL_LOOPINSTALL_OUTPUT_DIR)),--output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/testing.json) -GOLANGCI_LINT_VERSION = "v2.11.4" -# Pin path so `make generate` does not pick up a different mockery (e.g. v3) from PATH. -MOCKERY_BIN ?= $(shell GOBIN="$$(go env GOBIN)"; if [ -n "$$GOBIN" ]; then echo "$$GOBIN/mockery"; else echo "$$(go env GOPATH)/bin/mockery"; fi) - -.PHONY: install -install: install-chainlink-autoinstall ## Install chainlink and all its dependencies. - -.PHONY: install-git-hooks -install-git-hooks: ## Install git hooks. - git config core.hooksPath .githooks - -.PHONY: install-chainlink-autoinstall -install-chainlink-autoinstall: | gomod install-chainlink ## Autoinstall chainlink. - -.PHONY: gomod -gomod: ## Ensure chainlink's go dependencies are installed. - @if [ -z "`which gencodec`" ]; then \ - go install github.com/smartcontractkit/gencodec@latest; \ - fi || true - go mod download - -.PHONY: gomodtidy -gomodtidy: gomods ## Run go mod tidy on all modules. - gomods tidy - go run ./tools/plugout --update - -.PHONY: tidy -tidy: gomodtidy ## Tidy all modules and add to git. - git add '**go.*' 'plugins/plugins.public.yaml' - -.PHONY: docs -docs: ## Install and run pkgsite to view Go docs - go install golang.org/x/pkgsite/cmd/pkgsite@latest - # http://localhost:8080/pkg/github.com/smartcontractkit/chainlink/v2/ - pkgsite - -.PHONY: install-chainlink -install-chainlink: operator-ui ## Install the chainlink binary. - go install $(GCFLAGS) $(GOFLAGS) . - -.PHONY: install-chainlink-dev -install-chainlink-dev: operator-ui ## Install the chainlink binary. - go install -tags dev $(GCFLAGS) $(GOFLAGS) . - -.PHONY: install-chainlink-cover -install-chainlink-cover: operator-ui ## Install the chainlink binary with cover flag. - go install -cover $(GOFLAGS) . - -.PHONY: chainlink -chainlink: ## Build the chainlink binary. - go build $(GOFLAGS) . - -.PHONY: chainlink-dev -chainlink-dev: ## Build a dev build of chainlink binary. - go build -tags dev $(GOFLAGS) . - -.PHONY: chainlink-test -chainlink-test: ## Build a test build of chainlink binary. - go build $(GOFLAGS) . - -.PHONY: install-loopinstall -install-loopinstall: - go install github.com/smartcontractkit/chainlink-common/pkg/loop/cmd/loopinstall - -.PHONY: install-plugins-public -install-plugins-public: ## Build & install public remote LOOPP binaries (plugins). - @if [ -n "$(CL_LOOPINSTALL_OUTPUT_DIR)" ]; then \ - go tool loopinstall --concurrency 5 $(LOOPINSTALL_PUBLIC_ARGS) --output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/public.json ./plugins/plugins.public.yaml; \ - else \ - go tool loopinstall --concurrency 5 $(LOOPINSTALL_PUBLIC_ARGS) ./plugins/plugins.public.yaml; \ - fi - -.PHONY: install-plugins-private -install-plugins-private: ## Build & install private remote LOOPP binaries (plugins). - if [ -n "$(CL_LOOPINSTALL_OUTPUT_DIR)" ]; then \ - GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_PRIVATE_ARGS) --output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/private.json ./plugins/plugins.private.yaml; \ - else \ - GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_PRIVATE_ARGS) ./plugins/plugins.private.yaml; \ - fi - -.PHONY: install-plugins-testing -install-plugins-testing: ## Build & install testing only LOOPP binaries (plugins). - if [ -n "$(CL_LOOPINSTALL_OUTPUT_DIR)" ]; then \ - GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_TESTING_ARGS) --output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/testing.json ./plugins/plugins.testing.yaml; \ - else \ - GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_TESTING_ARGS) ./plugins/plugins.testing.yaml; \ - fi - - -.PHONY: install-plugins-local -install-plugins-local: ## Build & install local plugins - go install -ldflags="-s" \ - ./plugins/cmd/chainlink-evm \ - ./plugins/cmd/chainlink-medianpoc \ - ./plugins/cmd/chainlink-ocr3-capability \ - ./plugins/cmd/capabilities/log-event-trigger - -.PHONY: make install-plugins -install-plugins: install-plugins-local install-plugins-public ## Build and install local and public plugins via loopinstall - -.PHONY: docker ## Build the chainlink docker image -docker: DOCKER_TAG=develop -docker: - @if ([ "$(CL_INSTALL_PRIVATE_PLUGINS)" = "true" ] || [ "$(CL_INSTALL_TESTING_PLUGINS)" = "true" ]) && [ -z "$(GITHUB_TOKEN)" ]; then \ - echo "Error: GITHUB_TOKEN environment variable is required when CL_INSTALL_PRIVATE_PLUGINS=true or CL_INSTALL_TESTING_PLUGINS=true"; \ - exit 1; \ - fi - $(eval PRIVATE_PLUGIN_ARGS := $(if $(and $(or $(filter true,$(CL_INSTALL_PRIVATE_PLUGINS)),$(filter true,$(CL_INSTALL_TESTING_PLUGINS))),$(GITHUB_TOKEN)),--secret id=GIT_AUTH_TOKEN$(comma)env=GITHUB_TOKEN)) - docker buildx build \ - --build-arg COMMIT_SHA=$(COMMIT_SHA) \ - --build-arg VERSION_TAG=$(VERSION_TAG) \ - --build-arg CL_AUTO_DOCKER_TAG=$(DOCKER_TAG) \ - --build-arg CL_INSTALL_PRIVATE_PLUGINS=$(CL_INSTALL_PRIVATE_PLUGINS) \ - --build-arg CL_IS_PROD_BUILD=$(CL_IS_PROD_BUILD) \ - $(PRIVATE_PLUGIN_ARGS) \ - -f core/chainlink.Dockerfile . \ - -t chainlink:$(DOCKER_TAG) \ - --load - -.PHONY: docker-ccip ## Build the chainlink docker image -docker-ccip: DOCKER_TAG=latest -docker-ccip: - docker buildx build \ - --build-arg COMMIT_SHA=$(COMMIT_SHA) \ - --build-arg VERSION_TAG=$(VERSION_TAG) \ - --build-arg CL_AUTO_DOCKER_TAG=$(DOCKER_TAG) \ - -f core/chainlink.Dockerfile . -t chainlink-ccip:$(DOCKER_TAG) - - docker buildx build \ - --build-arg COMMIT_SHA=$(COMMIT_SHA) \ - --build-arg VERSION_TAG=$(VERSION_TAG) \ - -f ccip/ccip.Dockerfile . - -# Define a comma variable for use in $(eval) (needed for the PRIVATE_PLUGIN_ARGS) -comma := , -.PHONY: docker-plugins ## Build the EXPERIMENTAL chainlink-plugins docker image -docker-plugins: DOCKER_TAG=latest -docker-plugins: - @if ([ "$(CL_INSTALL_PRIVATE_PLUGINS)" = "true" ] || [ "$(CL_INSTALL_TESTING_PLUGINS)" = "true" ]) && [ -z "$(GITHUB_TOKEN)" ]; then \ - echo "Error: GITHUB_TOKEN environment variable is required when CL_INSTALL_PRIVATE_PLUGINS=true or CL_INSTALL_TESTING_PLUGINS=true"; \ - exit 1; \ - fi - $(eval PRIVATE_PLUGIN_ARGS := $(if $(and $(or $(filter true,$(CL_INSTALL_PRIVATE_PLUGINS)),$(filter true,$(CL_INSTALL_TESTING_PLUGINS))),$(GITHUB_TOKEN)),--secret id=GIT_AUTH_TOKEN$(comma)env=GITHUB_TOKEN)) - docker buildx build \ - --build-arg COMMIT_SHA=$(COMMIT_SHA) \ - --build-arg VERSION_TAG=$(VERSION_TAG) \ - --build-arg CL_AUTO_DOCKER_TAG=$(DOCKER_TAG) \ - --build-arg CL_INSTALL_TESTING_PLUGINS=$(CL_INSTALL_TESTING_PLUGINS) \ - --build-arg CL_INSTALL_PRIVATE_PLUGINS=$(CL_INSTALL_PRIVATE_PLUGINS) \ - $(PRIVATE_PLUGIN_ARGS) \ - -f plugins/chainlink.Dockerfile . \ - -t chainlink-plugins:$(DOCKER_TAG) - -.PHONY: operator-ui -operator-ui: ## Fetch the frontend - go run operator_ui/install.go . - -.PHONY: generate -generate: codecgen mockery protoc gomods modgraph ## Execute all go:generate commands. - ## Updating PATH makes sure that go:generate uses the version of protoc installed by the protoc make command. - export PATH="$(HOME)/.local/bin:$(PATH)"; gomods -w go generate -x ./... - find . -type f -name .mockery.yaml -execdir $(MOCKERY_BIN) \; ## Execute mockery for all .mockery.yaml files (see mockery target: v2) - -.PHONY: rm-mocked -rm-mocked: - grep -rl "^// Code generated by mockery" | grep .go$ | xargs -r rm - -.PHONY: testscripts -testscripts: chainlink-test ## Install and run testscript against testdata/scripts/* files. - go install github.com/rogpeppe/go-internal/cmd/testscript@latest - go run ./tools/txtar/cmd/lstxtardirs -recurse=true | PATH="$(CURDIR):${PATH}" xargs -I % \ - sh -c 'testscript -e COMMIT_SHA=$(COMMIT_SHA) -e HOME="$(TMPDIR)/home" -e VERSION=$(VERSION) -e VERSION_TAG=$(VERSION_TAG) $(TS_FLAGS) %/*.txtar' - -.PHONY: testscripts-update -testscripts-update: ## Update testdata/scripts/* files via testscript. - make testscripts TS_FLAGS="-u" - -.PHONY: start-testdb -start-testdb: - docker run --name test-db-core -p 5432:5432 -e POSTGRES_PASSWORD=postgres -d postgres - -.PHONY: setup-testdb -setup-testdb: ## Setup the test database. - ./core/scripts/setup_testdb.sh - -.PHONY: testdb -testdb: ## Prepares the test database. - go run ./core/store/cmd/preparetest - -.PHONY: testdb-force -testdb-force: ## Prepares the test database, drops any pesky user connections that stand in the the way. - go run ./core/store/cmd/preparetest --force - -.PHONY: testdb-user-only -testdb-user-only: ## Prepares the test database with user only. - go run ./core/store/cmd/preparetest --user-only - -.PHONY: gomods -gomods: ## Install gomods - go install github.com/jmank88/gomods@v0.1.7 - -.PHONY: gomodslocalupdate -gomodslocalupdate: gomods ## Run gomod-local-update - go install ./tools/gomod-local-update/cmd/gomod-local-update - gomods -w gomod-local-update - gomods tidy - -.PHONY: mockery -mockery: $(mockery) ## Install mockery. - go install github.com/vektra/mockery/v2@v2.53.0 - -.PHONY: codecgen -codecgen: $(codecgen) ## Install codecgen - go install github.com/ugorji/go/codec/codecgen@v1.2.10 - -.PHONY: protoc -protoc: ## Install protoc - core/scripts/install-protoc.sh 29.3 / - go install google.golang.org/protobuf/cmd/protoc-gen-go@`go list -m -json google.golang.org/protobuf | jq -r .Version` - go install github.com/smartcontractkit/wsrpc/cmd/protoc-gen-go-wsrpc@`go list -m -json github.com/smartcontractkit/wsrpc | jq -r .Version` - -.PHONY: telemetry-protobuf -telemetry-protobuf: $(telemetry-protobuf) ## Generate telemetry protocol buffers. - protoc \ - --go_out=. \ - --go_opt=paths=source_relative \ - --go-wsrpc_out=. \ - --go-wsrpc_opt=paths=source_relative \ - ./core/services/synchronization/telem/*.proto - -.PHONY: config-docs -config-docs: ## Generate core node configuration documentation - go run ./core/config/docs/cmd/generate -o ./docs/ - -.PHONY: golangci-lint -golangci-lint: ## Run golangci-lint for all issues. - [ -d "./golangci-lint" ] || mkdir ./golangci-lint && \ - docker run --rm -v $(shell pwd):/app -w /app golangci/golangci-lint:$(GOLANGCI_LINT_VERSION) golangci-lint run --max-issues-per-linter 0 --max-same-issues 0 | tee ./golangci-lint/$(shell date +%Y-%m-%d_%H:%M:%S).txt - -.PHONY: lint-all -lint-all: gomods ## Run golangci-lint for all modules, both printing and creating issue files - gomods -u -go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION) run --max-issues-per-linter 0 --max-same-issues 0 --output.text.path stdout --output.checkstyle.path ./golangci-lint/$(shell date +%Y-%m-%d_%H:%M:%S).xml - -.PHONY: lint-fix -lint-fix: gomods ## Run golangci-lint with --fix for all modules - gomods -u -go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION) run --fix - -.PHONY: modgraph -modgraph: - go install github.com/jmank88/modgraph@v0.1.1 - bash -ce './tools/bin/modgraph > go.md & mpid=$$!; \ - while kill -0 $$mpid 2>/dev/null; do \ - echo "::notice::Generating go.md (modgraph); still running..."; \ - for i in $$(seq 1 30); do \ - kill -0 $$mpid 2>/dev/null || break 2; \ - sleep 1; \ - done; \ - done; \ - wait $$mpid' - -.PHONY: test-short -test-short: ## Run 'go test -short' and suppress uninteresting output - go test -short ./... | grep -v "\[no test files\]" | grep -v "\(cached\)" - -# Chainlink tools/test harness (Postgres setup + optional diagnose). Uses the -# nested module directly so its dependencies stay out of the root module. Pass -# flags and packages via ARGS (quoted), e.g. make new_test ARGS="-v -p 4 ./core/..." -# Note: do not use "make target -p 4 ..." — -p is a make flag; use ARGS= instead. -.PHONY: new_test -new_test: ## tools/test: passthrough go test. Usage: make new_test ARGS="-v -p 4 ./core/..." - go -C tools/test run . run $(ARGS) - -.PHONY: new_gotestsum -new_gotestsum: ## tools/test: gotestsum. Usage: make new_gotestsum ARGS="--format=dots -- -count=1 ./core/..." - go -C tools/test run . gotestsum $(ARGS) - -.PHONY: new_test_diagnose -new_test_diagnose: ## tools/test: diagnose (flakes/slow). Usage: make new_test_diagnose ARGS="--iterations 5 -- --timeout 9m ./core/..." - go -C tools/test run . diagnose $(ARGS) - -.PHONY: gocs -gocs: ## Run gocs to generate changeset markdown files. - go run github.com/smartcontractkit/gocs/cmd/gocs@v0.2.0 - -.PHONY: dependabot -ifndef DEPENDABOT_SEVERITY -DEPENDABOT_SEVERITY := "critical,high" -endif -dependabot: gomods - gh api --paginate -H "Accept: application/vnd.github+json" --method GET \ - '/repos/smartcontractkit/chainlink/dependabot/alerts?state=open&ecosystem=Go&severity=$(DEPENDABOT_SEVERITY)' | \ - jq -r '.[] | select(.security_vulnerability.first_patched_version != null) | .dependency.manifest_path |= rtrimstr("go.mod") | "./\(.dependency.manifest_path) \(.security_vulnerability.package.name) \(.security_vulnerability.first_patched_version.identifier)"' | \ - go tool dependabot - gomods tidy - -help: - @echo "" - @echo " .__ .__ .__ .__ __" - @echo " ____ | |__ _____ |__| ____ | | |__| ____ | | __" - @echo " _/ ___\| | \\\\\\__ \ | |/ \| | | |/ \| |/ /" - @echo " \ \___| Y \/ __ \| | | \ |_| | | \ <" - @echo " \___ >___| (____ /__|___| /____/__|___| /__|_ \\" - @echo " \/ \/ \/ \/ \/ \/" - @echo "" - @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \ - awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' diff --git a/go.md b/go.md deleted file mode 100644 index c150e6f4879..00000000000 --- a/go.md +++ /dev/null @@ -1,315 +0,0 @@ -# smartcontractkit Go modules -## Main module -```mermaid -flowchart LR - subgraph chains - chainlink-aptos - chainlink-cosmos - chainlink-evm - chainlink-solana - chainlink-starknet/relayer - chainlink-tron/relayer - end - - subgraph products - chainlink-automation - chainlink-data-streams - chainlink-feeds - chainlink-functions - chainlink-vrf - end - - classDef group stroke-dasharray:6,fill:none; - class chains,products group - - ccip-contract-examples/chains/evm - click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" - ccip-owner-contracts - click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" - chain-selectors - click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" - chainlink-aptos --> chainlink-framework/metrics - click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" - chainlink-automation --> chainlink-common - click chainlink-automation href "https://github.com/smartcontractkit/chainlink-automation" - chainlink-ccip --> chainlink-common - chainlink-ccip --> chainlink-protos/rmn/v1.6/go - click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/ccv/chains/evm - click chainlink-ccip/ccv/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm - chainlink-ccip/chains/evm --> ccip-owner-contracts - chainlink-ccip/chains/evm --> chainlink-ccip/deployment - chainlink-ccip/chains/evm --> chainlink-ccv - chainlink-ccip/chains/evm --> chainlink-ccv/deployment - chainlink-ccip/chains/evm --> chainlink-deployments-framework - chainlink-ccip/chains/evm --> chainlink-protos/job-distributor - chainlink-ccip/chains/evm --> chainlink-protos/op-catalog - chainlink-ccip/chains/evm --> chainlink-sui - chainlink-ccip/chains/evm --> chainlink-testing-framework/seth - chainlink-ccip/chains/evm --> chainlink-ton - chainlink-ccip/chains/evm --> mcms - click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings - chainlink-ccip/chains/solana --> chainlink-common - click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/solana/gobindings - click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/deployment - click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccv --> chainlink-ccip/ccv/chains/evm - chainlink-ccv --> chainlink-evm - chainlink-ccv --> chainlink-protos/chainlink-ccv/committee-verifier - chainlink-ccv --> chainlink-protos/chainlink-ccv/heartbeat - chainlink-ccv --> chainlink-protos/chainlink-ccv/message-discovery - chainlink-ccv --> chainlink-protos/orchestrator - chainlink-ccv --> chainlink-solana - chainlink-ccv --> chainlink-testing-framework/framework - click chainlink-ccv href "https://github.com/smartcontractkit/chainlink-ccv" - chainlink-ccv/deployment - click chainlink-ccv/deployment href "https://github.com/smartcontractkit/chainlink-ccv" - chainlink-common --> chainlink-common/pkg/chipingress - chainlink-common --> chainlink-protos/billing/go - chainlink-common --> chainlink-protos/cre/go - chainlink-common --> chainlink-protos/linking-service/go - chainlink-common --> chainlink-protos/node-platform - chainlink-common --> chainlink-protos/storage-service - chainlink-common --> freeport - chainlink-common --> grpc-proxy - chainlink-common --> libocr - click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/keystore --> chainlink-common - chainlink-common/keystore --> smdkg - chainlink-common/keystore --> wsrpc - click chainlink-common/keystore href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/chipingress - click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/monitoring - click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" - chainlink-data-streams --> chainlink-evm - click chainlink-data-streams href "https://github.com/smartcontractkit/chainlink-data-streams" - chainlink-deployments-framework - click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" - chainlink-evm --> chainlink-common/keystore - chainlink-evm --> chainlink-evm/gethwrappers - chainlink-evm --> chainlink-framework/capabilities - chainlink-evm --> chainlink-framework/chains - chainlink-evm --> chainlink-protos/svr - chainlink-evm --> chainlink-tron/relayer - click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/contracts/cre/gobindings --> chainlink-evm/gethwrappers/helpers - click chainlink-evm/contracts/cre/gobindings href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/gethwrappers --> chainlink-evm/gethwrappers/helpers - click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/gethwrappers/helpers - click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-feeds --> chainlink-common - click chainlink-feeds href "https://github.com/smartcontractkit/chainlink-feeds" - chainlink-framework/capabilities --> chainlink-common - click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/chains --> chainlink-framework/multinode - click chainlink-framework/chains href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/metrics --> chainlink-common - click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/multinode --> chainlink-framework/metrics - click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-protos/billing/go --> chainlink-protos/workflows/go - click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/committee-verifier --> chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/committee-verifier href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/heartbeat - click chainlink-protos/chainlink-ccv/heartbeat href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/message-discovery --> chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/message-discovery href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/verifier href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/cre/go --> chain-selectors - click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/data-feeds - click chainlink-protos/data-feeds href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/job-distributor - click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/linking-service/go - click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/node-platform - click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/op-catalog - click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/orchestrator --> wsrpc - click chainlink-protos/orchestrator href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/ring/go - click chainlink-protos/ring/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/rmn/v1.6/go - click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/storage-service - click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/svr - click chainlink-protos/svr href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/workflows/go - click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-solana --> chainlink-ccip - chainlink-solana --> chainlink-ccip/chains/solana - chainlink-solana --> chainlink-common/keystore - chainlink-solana --> chainlink-common/pkg/monitoring - chainlink-solana --> chainlink-framework/multinode - click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana" - chainlink-sui --> chainlink-aptos - chainlink-sui --> chainlink-ccip - click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" - chainlink-testing-framework/framework - click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/seth - click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-ton --> chainlink-ccip - chainlink-ton --> chainlink-common/pkg/monitoring - chainlink-ton --> chainlink-framework/metrics - click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" - chainlink-tron/relayer --> chainlink-common - click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" - chainlink/v2 --> chainlink-automation - chainlink/v2 --> chainlink-ccip/chains/evm - chainlink/v2 --> chainlink-data-streams - chainlink/v2 --> chainlink-evm/contracts/cre/gobindings - chainlink/v2 --> chainlink-feeds - chainlink/v2 --> chainlink-protos/data-feeds - chainlink/v2 --> chainlink-protos/ring/go - chainlink/v2 --> cre-sdk-go/capabilities/networking/http - chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron - chainlink/v2 --> quarantine - chainlink/v2 --> tdh2/go/ocr2/decryptionplugin - click chainlink/v2 href "https://github.com/smartcontractkit/chainlink" - cre-sdk-go --> chainlink-protos/cre/go - click cre-sdk-go href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/networking/http --> cre-sdk-go - click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/scheduler/cron --> cre-sdk-go - click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go" - freeport - click freeport href "https://github.com/smartcontractkit/freeport" - go-sumtype2 - click go-sumtype2 href "https://github.com/smartcontractkit/go-sumtype2" - grpc-proxy - click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" - libocr --> go-sumtype2 - click libocr href "https://github.com/smartcontractkit/libocr" - mcms - click mcms href "https://github.com/smartcontractkit/mcms" - quarantine - click quarantine href "https://github.com/smartcontractkit/quarantine" - smdkg --> libocr - smdkg --> tdh2/go/tdh2 - click smdkg href "https://github.com/smartcontractkit/smdkg" - tdh2/go/ocr2/decryptionplugin --> libocr - tdh2/go/ocr2/decryptionplugin --> tdh2/go/tdh2 - click tdh2/go/ocr2/decryptionplugin href "https://github.com/smartcontractkit/tdh2" - tdh2/go/tdh2 - click tdh2/go/tdh2 href "https://github.com/smartcontractkit/tdh2" - wsrpc - click wsrpc href "https://github.com/smartcontractkit/wsrpc" - - subgraph chainlink-ccip-repo[chainlink-ccip] - chainlink-ccip - chainlink-ccip/ccv/chains/evm - chainlink-ccip/chains/evm - chainlink-ccip/chains/solana - chainlink-ccip/chains/solana/gobindings - chainlink-ccip/deployment - end - click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" - - subgraph chainlink-ccv-repo[chainlink-ccv] - chainlink-ccv - chainlink-ccv/deployment - end - click chainlink-ccv-repo href "https://github.com/smartcontractkit/chainlink-ccv" - - subgraph chainlink-common-repo[chainlink-common] - chainlink-common - chainlink-common/keystore - chainlink-common/pkg/chipingress - chainlink-common/pkg/monitoring - end - click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" - - subgraph chainlink-evm-repo[chainlink-evm] - chainlink-evm - chainlink-evm/contracts/cre/gobindings - chainlink-evm/gethwrappers - chainlink-evm/gethwrappers/helpers - end - click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" - - subgraph chainlink-framework-repo[chainlink-framework] - chainlink-framework/capabilities - chainlink-framework/chains - chainlink-framework/metrics - chainlink-framework/multinode - end - click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework" - - subgraph chainlink-protos-repo[chainlink-protos] - chainlink-protos/billing/go - chainlink-protos/chainlink-ccv/committee-verifier - chainlink-protos/chainlink-ccv/heartbeat - chainlink-protos/chainlink-ccv/message-discovery - chainlink-protos/chainlink-ccv/verifier - chainlink-protos/cre/go - chainlink-protos/data-feeds - chainlink-protos/job-distributor - chainlink-protos/linking-service/go - chainlink-protos/node-platform - chainlink-protos/op-catalog - chainlink-protos/orchestrator - chainlink-protos/ring/go - chainlink-protos/rmn/v1.6/go - chainlink-protos/storage-service - chainlink-protos/svr - chainlink-protos/workflows/go - end - click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" - - subgraph chainlink-testing-framework-repo[chainlink-testing-framework] - chainlink-testing-framework/framework - chainlink-testing-framework/seth - end - click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" - - subgraph cre-sdk-go-repo[cre-sdk-go] - cre-sdk-go - cre-sdk-go/capabilities/networking/http - cre-sdk-go/capabilities/scheduler/cron - end - click cre-sdk-go-repo href "https://github.com/smartcontractkit/cre-sdk-go" - - subgraph tdh2-repo[tdh2] - tdh2/go/ocr2/decryptionplugin - tdh2/go/tdh2 - end - click tdh2-repo href "https://github.com/smartcontractkit/tdh2" - - classDef outline stroke-dasharray:6,fill:none; - class chainlink-ccip-repo,chainlink-ccv-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-framework-repo,chainlink-protos-repo,chainlink-testing-framework-repo,cre-sdk-go-repo,tdh2-repo outline -``` -## All modules -```mermaid -flowchart LR - subgraph chains - chainlink-aptos - chainlink-cosmos - chainlink-evm - chainlink-solana - chainlink-starknet/relayer - chainlink-tron/relayer - end - - subgraph products - chainlink-automation - chainlink-data-streams - chainlink-feeds - chainlink-functions - chainlink-vrf - end - - classDef group stroke-dasharray:6,fill:none; - class chains,products group - diff --git a/tools/bin/modgraph b/tools/bin/modgraph deleted file mode 100755 index 83067fb6f5c..00000000000 --- a/tools/bin/modgraph +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env bash - -# Generates go.md - -set -e - -# Long-running `go mod graph` calls produce no stdout for minutes; some CI runners -# treat that as stuck work and SIGTERM the step. Emit periodic heartbeats on stderr only -# so logs stay alive without corrupting markdown on stdout. -heartbeat_pid= - -heartbeat_start() { - local msg=${1:-nested module graphs} - ( - while true; do - sleep 30 - echo "[modgraph] heartbeat $(date -u +%Y-%m-%dT%H:%M:%SZ) — ${msg}..." >&2 - done - ) & - heartbeat_pid=$! -} - -heartbeat_stop() { - if [[ -n "${heartbeat_pid:-}" ]] && kill -0 "$heartbeat_pid" 2>/dev/null; then - kill "$heartbeat_pid" 2>/dev/null || true - wait "$heartbeat_pid" 2>/dev/null || true - fi - heartbeat_pid= -} - -trap heartbeat_stop EXIT INT TERM - -echo "# smartcontractkit Go modules -## Main module -\`\`\`mermaid -flowchart LR - subgraph chains - chainlink-aptos - chainlink-cosmos - chainlink-evm - chainlink-solana - chainlink-starknet/relayer - chainlink-tron/relayer - end - - subgraph products - chainlink-automation - chainlink-data-streams - chainlink-feeds - chainlink-functions - chainlink-vrf - end - - classDef group stroke-dasharray:6,fill:none; - class chains,products group -" -heartbeat_start "root go mod graph" -go mod graph | modgraph -prefix github.com/smartcontractkit/ -heartbeat_stop - -echo "\`\`\`" - -echo "## All modules -\`\`\`mermaid -flowchart LR - subgraph chains - chainlink-aptos - chainlink-cosmos - chainlink-evm - chainlink-solana - chainlink-starknet/relayer - chainlink-tron/relayer - end - - subgraph products - chainlink-automation - chainlink-data-streams - chainlink-feeds - chainlink-functions - chainlink-vrf - end - - classDef group stroke-dasharray:6,fill:none; - class chains,products group -" -# -v logs each skipped module to stderr; heartbeats cover long silent graphs. -heartbeat_start "gomods graph (all nested modules)" -gomods -v graph | modgraph -prefix github.com/smartcontractkit/ -heartbeat_stop - -echo "\`\`\`" \ No newline at end of file From 5dd628c378b83e998e887509088cd23bbd215fe7 Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 9 May 2026 18:44:30 -0600 Subject: [PATCH 13/25] fix: restore makefile changes --- .github/workflows/ci-core.yml | 7 - GNUmakefile | 316 ++++++++++++++ go.md | 783 ++++++++++++++++++++++++++++++++++ tools/bin/modgraph | 58 +++ 4 files changed, 1157 insertions(+), 7 deletions(-) create mode 100644 GNUmakefile create mode 100644 go.md create mode 100755 tools/bin/modgraph diff --git a/.github/workflows/ci-core.yml b/.github/workflows/ci-core.yml index 25db4084fe5..5f08c32f812 100644 --- a/.github/workflows/ci-core.yml +++ b/.github/workflows/ci-core.yml @@ -108,8 +108,6 @@ jobs: e2e-tests-files: - "system-tests/**" - "integration-tests/**" - deployment-files: - - "deployment/**" workflow-files: - ".github/workflows/ci-core.yml" - ".github/actions/**" @@ -616,7 +614,6 @@ jobs: name: Clean Go Tidy & Generate if: ${{ github.actor != 'dependabot[bot]' }} runs-on: ubuntu22.04-8cores-32GB - timeout-minutes: 360 defaults: run: shell: bash @@ -634,10 +631,6 @@ jobs: --output "$HOME/go/bin/protoc-gen-go-wsrpc" && chmod +x "$HOME/go/bin/protoc-gen-go-wsrpc" - name: make generate - timeout-minutes: 360 - env: - # Encourage GC during large modgraph heaps (does not raise cgroup RAM limits). - GOGC: 50 run: | make rm-mocked make generate diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 00000000000..7514aeb1d40 --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,316 @@ +.DEFAULT_GOAL := chainlink + +COMMIT_SHA ?= $(shell git rev-parse HEAD) +VERSION = $(shell jq -r '.version' package.json) +VERSION_TAG ?= $(shell git describe --always) +GO_LDFLAGS := $(shell tools/bin/ldflags) +GOFLAGS = -ldflags "$(GO_LDFLAGS)" +GCFLAGS = -gcflags "$(GO_GCFLAGS)" +# Set to true to install private plugins (will require GitHub auth). +CL_INSTALL_PRIVATE_PLUGINS ?= false +CL_INSTALL_TESTING_PLUGINS ?= false +CL_IS_PROD_BUILD ?= true +# Output directory for loopinstall plugin manifests (set by caller) +CL_LOOPINSTALL_OUTPUT_DIR ?= +# Conditionally define arsguments for loopinstall based on CL_LOOPINSTALL_OUTPUT_DIR +LOOPINSTALL_PUBLIC_ARGS := $(if $(strip $(CL_LOOPINSTALL_OUTPUT_DIR)),--output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/public.json) +LOOPINSTALL_PRIVATE_ARGS := $(if $(strip $(CL_LOOPINSTALL_OUTPUT_DIR)),--output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/private.json) +LOOPINSTALL_TESTING_ARGS := $(if $(strip $(CL_LOOPINSTALL_OUTPUT_DIR)),--output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/testing.json) +GOLANGCI_LINT_VERSION = "v2.11.4" +# Pin path so `make generate` does not pick up a different mockery (e.g. v3) from PATH. +MOCKERY_BIN ?= $(shell GOBIN="$$(go env GOBIN)"; if [ -n "$$GOBIN" ]; then echo "$$GOBIN/mockery"; else echo "$$(go env GOPATH)/bin/mockery"; fi) + +.PHONY: install +install: install-chainlink-autoinstall ## Install chainlink and all its dependencies. + +.PHONY: install-git-hooks +install-git-hooks: ## Install git hooks. + git config core.hooksPath .githooks + +.PHONY: install-chainlink-autoinstall +install-chainlink-autoinstall: | gomod install-chainlink ## Autoinstall chainlink. + +.PHONY: gomod +gomod: ## Ensure chainlink's go dependencies are installed. + @if [ -z "`which gencodec`" ]; then \ + go install github.com/smartcontractkit/gencodec@latest; \ + fi || true + go mod download + +.PHONY: gomodtidy +gomodtidy: gomods ## Run go mod tidy on all modules. + gomods tidy + go run ./tools/plugout --update + +.PHONY: tidy +tidy: gomodtidy ## Tidy all modules and add to git. + git add '**go.*' 'plugins/plugins.public.yaml' + +.PHONY: docs +docs: ## Install and run pkgsite to view Go docs + go install golang.org/x/pkgsite/cmd/pkgsite@latest + # http://localhost:8080/pkg/github.com/smartcontractkit/chainlink/v2/ + pkgsite + +.PHONY: install-chainlink +install-chainlink: operator-ui ## Install the chainlink binary. + go install $(GCFLAGS) $(GOFLAGS) . + +.PHONY: install-chainlink-dev +install-chainlink-dev: operator-ui ## Install the chainlink binary. + go install -tags dev $(GCFLAGS) $(GOFLAGS) . + +.PHONY: install-chainlink-cover +install-chainlink-cover: operator-ui ## Install the chainlink binary with cover flag. + go install -cover $(GOFLAGS) . + +.PHONY: chainlink +chainlink: ## Build the chainlink binary. + go build $(GOFLAGS) . + +.PHONY: chainlink-dev +chainlink-dev: ## Build a dev build of chainlink binary. + go build -tags dev $(GOFLAGS) . + +.PHONY: chainlink-test +chainlink-test: ## Build a test build of chainlink binary. + go build $(GOFLAGS) . + +.PHONY: install-loopinstall +install-loopinstall: + go install github.com/smartcontractkit/chainlink-common/pkg/loop/cmd/loopinstall + +.PHONY: install-plugins-public +install-plugins-public: ## Build & install public remote LOOPP binaries (plugins). + @if [ -n "$(CL_LOOPINSTALL_OUTPUT_DIR)" ]; then \ + go tool loopinstall --concurrency 5 $(LOOPINSTALL_PUBLIC_ARGS) --output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/public.json ./plugins/plugins.public.yaml; \ + else \ + go tool loopinstall --concurrency 5 $(LOOPINSTALL_PUBLIC_ARGS) ./plugins/plugins.public.yaml; \ + fi + +.PHONY: install-plugins-private +install-plugins-private: ## Build & install private remote LOOPP binaries (plugins). + if [ -n "$(CL_LOOPINSTALL_OUTPUT_DIR)" ]; then \ + GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_PRIVATE_ARGS) --output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/private.json ./plugins/plugins.private.yaml; \ + else \ + GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_PRIVATE_ARGS) ./plugins/plugins.private.yaml; \ + fi + +.PHONY: install-plugins-testing +install-plugins-testing: ## Build & install testing only LOOPP binaries (plugins). + if [ -n "$(CL_LOOPINSTALL_OUTPUT_DIR)" ]; then \ + GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_TESTING_ARGS) --output-installation-artifacts $(CL_LOOPINSTALL_OUTPUT_DIR)/testing.json ./plugins/plugins.testing.yaml; \ + else \ + GOPRIVATE=github.com/smartcontractkit/* go tool loopinstall --concurrency 5 $(LOOPINSTALL_TESTING_ARGS) ./plugins/plugins.testing.yaml; \ + fi + + +.PHONY: install-plugins-local +install-plugins-local: ## Build & install local plugins + go install -ldflags="-s" \ + ./plugins/cmd/chainlink-evm \ + ./plugins/cmd/chainlink-medianpoc \ + ./plugins/cmd/chainlink-ocr3-capability \ + ./plugins/cmd/capabilities/log-event-trigger + +.PHONY: make install-plugins +install-plugins: install-plugins-local install-plugins-public ## Build and install local and public plugins via loopinstall + +.PHONY: docker ## Build the chainlink docker image +docker: DOCKER_TAG=develop +docker: + @if ([ "$(CL_INSTALL_PRIVATE_PLUGINS)" = "true" ] || [ "$(CL_INSTALL_TESTING_PLUGINS)" = "true" ]) && [ -z "$(GITHUB_TOKEN)" ]; then \ + echo "Error: GITHUB_TOKEN environment variable is required when CL_INSTALL_PRIVATE_PLUGINS=true or CL_INSTALL_TESTING_PLUGINS=true"; \ + exit 1; \ + fi + $(eval PRIVATE_PLUGIN_ARGS := $(if $(and $(or $(filter true,$(CL_INSTALL_PRIVATE_PLUGINS)),$(filter true,$(CL_INSTALL_TESTING_PLUGINS))),$(GITHUB_TOKEN)),--secret id=GIT_AUTH_TOKEN$(comma)env=GITHUB_TOKEN)) + docker buildx build \ + --build-arg COMMIT_SHA=$(COMMIT_SHA) \ + --build-arg VERSION_TAG=$(VERSION_TAG) \ + --build-arg CL_AUTO_DOCKER_TAG=$(DOCKER_TAG) \ + --build-arg CL_INSTALL_PRIVATE_PLUGINS=$(CL_INSTALL_PRIVATE_PLUGINS) \ + --build-arg CL_IS_PROD_BUILD=$(CL_IS_PROD_BUILD) \ + $(PRIVATE_PLUGIN_ARGS) \ + -f core/chainlink.Dockerfile . \ + -t chainlink:$(DOCKER_TAG) \ + --load + +.PHONY: docker-ccip ## Build the chainlink docker image +docker-ccip: DOCKER_TAG=latest +docker-ccip: + docker buildx build \ + --build-arg COMMIT_SHA=$(COMMIT_SHA) \ + --build-arg VERSION_TAG=$(VERSION_TAG) \ + --build-arg CL_AUTO_DOCKER_TAG=$(DOCKER_TAG) \ + -f core/chainlink.Dockerfile . -t chainlink-ccip:$(DOCKER_TAG) + + docker buildx build \ + --build-arg COMMIT_SHA=$(COMMIT_SHA) \ + --build-arg VERSION_TAG=$(VERSION_TAG) \ + -f ccip/ccip.Dockerfile . + +# Define a comma variable for use in $(eval) (needed for the PRIVATE_PLUGIN_ARGS) +comma := , +.PHONY: docker-plugins ## Build the EXPERIMENTAL chainlink-plugins docker image +docker-plugins: DOCKER_TAG=latest +docker-plugins: + @if ([ "$(CL_INSTALL_PRIVATE_PLUGINS)" = "true" ] || [ "$(CL_INSTALL_TESTING_PLUGINS)" = "true" ]) && [ -z "$(GITHUB_TOKEN)" ]; then \ + echo "Error: GITHUB_TOKEN environment variable is required when CL_INSTALL_PRIVATE_PLUGINS=true or CL_INSTALL_TESTING_PLUGINS=true"; \ + exit 1; \ + fi + $(eval PRIVATE_PLUGIN_ARGS := $(if $(and $(or $(filter true,$(CL_INSTALL_PRIVATE_PLUGINS)),$(filter true,$(CL_INSTALL_TESTING_PLUGINS))),$(GITHUB_TOKEN)),--secret id=GIT_AUTH_TOKEN$(comma)env=GITHUB_TOKEN)) + docker buildx build \ + --build-arg COMMIT_SHA=$(COMMIT_SHA) \ + --build-arg VERSION_TAG=$(VERSION_TAG) \ + --build-arg CL_AUTO_DOCKER_TAG=$(DOCKER_TAG) \ + --build-arg CL_INSTALL_TESTING_PLUGINS=$(CL_INSTALL_TESTING_PLUGINS) \ + --build-arg CL_INSTALL_PRIVATE_PLUGINS=$(CL_INSTALL_PRIVATE_PLUGINS) \ + $(PRIVATE_PLUGIN_ARGS) \ + -f plugins/chainlink.Dockerfile . \ + -t chainlink-plugins:$(DOCKER_TAG) + +.PHONY: operator-ui +operator-ui: ## Fetch the frontend + go run operator_ui/install.go . + +.PHONY: generate +generate: codecgen mockery protoc gomods modgraph ## Execute all go:generate commands. + ## Updating PATH makes sure that go:generate uses the version of protoc installed by the protoc make command. + export PATH="$(HOME)/.local/bin:$(PATH)"; gomods -w go generate -x ./... + find . -type f -name .mockery.yaml -execdir $(MOCKERY_BIN) \; ## Execute mockery for all .mockery.yaml files (see mockery target: v2) + +.PHONY: rm-mocked +rm-mocked: + grep -rl "^// Code generated by mockery" | grep .go$ | xargs -r rm + +.PHONY: testscripts +testscripts: chainlink-test ## Install and run testscript against testdata/scripts/* files. + go install github.com/rogpeppe/go-internal/cmd/testscript@latest + go run ./tools/txtar/cmd/lstxtardirs -recurse=true | PATH="$(CURDIR):${PATH}" xargs -I % \ + sh -c 'testscript -e COMMIT_SHA=$(COMMIT_SHA) -e HOME="$(TMPDIR)/home" -e VERSION=$(VERSION) -e VERSION_TAG=$(VERSION_TAG) $(TS_FLAGS) %/*.txtar' + +.PHONY: testscripts-update +testscripts-update: ## Update testdata/scripts/* files via testscript. + make testscripts TS_FLAGS="-u" + +.PHONY: start-testdb +start-testdb: + docker run --name test-db-core -p 5432:5432 -e POSTGRES_PASSWORD=postgres -d postgres + +.PHONY: setup-testdb +setup-testdb: ## Setup the test database. + ./core/scripts/setup_testdb.sh + +.PHONY: testdb +testdb: ## Prepares the test database. + go run ./core/store/cmd/preparetest + +.PHONY: testdb-force +testdb-force: ## Prepares the test database, drops any pesky user connections that stand in the the way. + go run ./core/store/cmd/preparetest --force + +.PHONY: testdb-user-only +testdb-user-only: ## Prepares the test database with user only. + go run ./core/store/cmd/preparetest --user-only + +.PHONY: gomods +gomods: ## Install gomods + go install github.com/jmank88/gomods@v0.1.7 + +.PHONY: gomodslocalupdate +gomodslocalupdate: gomods ## Run gomod-local-update + go install ./tools/gomod-local-update/cmd/gomod-local-update + gomods -w gomod-local-update + gomods tidy + +.PHONY: mockery +mockery: $(mockery) ## Install mockery. + go install github.com/vektra/mockery/v2@v2.53.0 + +.PHONY: codecgen +codecgen: $(codecgen) ## Install codecgen + go install github.com/ugorji/go/codec/codecgen@v1.2.10 + +.PHONY: protoc +protoc: ## Install protoc + core/scripts/install-protoc.sh 29.3 / + go install google.golang.org/protobuf/cmd/protoc-gen-go@`go list -m -json google.golang.org/protobuf | jq -r .Version` + go install github.com/smartcontractkit/wsrpc/cmd/protoc-gen-go-wsrpc@`go list -m -json github.com/smartcontractkit/wsrpc | jq -r .Version` + +.PHONY: telemetry-protobuf +telemetry-protobuf: $(telemetry-protobuf) ## Generate telemetry protocol buffers. + protoc \ + --go_out=. \ + --go_opt=paths=source_relative \ + --go-wsrpc_out=. \ + --go-wsrpc_opt=paths=source_relative \ + ./core/services/synchronization/telem/*.proto + +.PHONY: config-docs +config-docs: ## Generate core node configuration documentation + go run ./core/config/docs/cmd/generate -o ./docs/ + +.PHONY: golangci-lint +golangci-lint: ## Run golangci-lint for all issues. + [ -d "./golangci-lint" ] || mkdir ./golangci-lint && \ + docker run --rm -v $(shell pwd):/app -w /app golangci/golangci-lint:$(GOLANGCI_LINT_VERSION) golangci-lint run --max-issues-per-linter 0 --max-same-issues 0 | tee ./golangci-lint/$(shell date +%Y-%m-%d_%H:%M:%S).txt + +.PHONY: lint-all +lint-all: gomods ## Run golangci-lint for all modules, both printing and creating issue files + gomods -u -go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION) run --max-issues-per-linter 0 --max-same-issues 0 --output.text.path stdout --output.checkstyle.path ./golangci-lint/$(shell date +%Y-%m-%d_%H:%M:%S).xml + +.PHONY: lint-fix +lint-fix: gomods ## Run golangci-lint with --fix for all modules + gomods -u -go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION) run --fix + +.PHONY: modgraph +modgraph: + go install github.com/jmank88/modgraph@v0.1.1 + ./tools/bin/modgraph > go.md + +.PHONY: test-short +test-short: ## Run 'go test -short' and suppress uninteresting output + go test -short ./... | grep -v "\[no test files\]" | grep -v "\(cached\)" + +# Chainlink tools/test harness (Postgres setup + optional diagnose). Uses the +# nested module directly so its dependencies stay out of the root module. Pass +# flags and packages via ARGS (quoted), e.g. make new_test ARGS="-v -p 4 ./core/..." +# Note: do not use "make target -p 4 ..." — -p is a make flag; use ARGS= instead. +.PHONY: new_test +new_test: ## tools/test: passthrough go test. Usage: make new_test ARGS="-v -p 4 ./core/..." + go -C tools/test run . run $(ARGS) + +.PHONY: new_gotestsum +new_gotestsum: ## tools/test: gotestsum. Usage: make new_gotestsum ARGS="--format=dots -- -count=1 ./core/..." + go -C tools/test run . gotestsum $(ARGS) + +.PHONY: new_test_diagnose +new_test_diagnose: ## tools/test: diagnose (flakes/slow). Usage: make new_test_diagnose ARGS="--iterations 5 -- --timeout 9m ./core/..." + go -C tools/test run . diagnose $(ARGS) + +.PHONY: gocs +gocs: ## Run gocs to generate changeset markdown files. + go run github.com/smartcontractkit/gocs/cmd/gocs@v0.2.0 + +.PHONY: dependabot +ifndef DEPENDABOT_SEVERITY +DEPENDABOT_SEVERITY := "critical,high" +endif +dependabot: gomods + gh api --paginate -H "Accept: application/vnd.github+json" --method GET \ + '/repos/smartcontractkit/chainlink/dependabot/alerts?state=open&ecosystem=Go&severity=$(DEPENDABOT_SEVERITY)' | \ + jq -r '.[] | select(.security_vulnerability.first_patched_version != null) | .dependency.manifest_path |= rtrimstr("go.mod") | "./\(.dependency.manifest_path) \(.security_vulnerability.package.name) \(.security_vulnerability.first_patched_version.identifier)"' | \ + go tool dependabot + gomods tidy + +help: + @echo "" + @echo " .__ .__ .__ .__ __" + @echo " ____ | |__ _____ |__| ____ | | |__| ____ | | __" + @echo " _/ ___\| | \\\\\\__ \ | |/ \| | | |/ \| |/ /" + @echo " \ \___| Y \/ __ \| | | \ |_| | | \ <" + @echo " \___ >___| (____ /__|___| /____/__|___| /__|_ \\" + @echo " \/ \/ \/ \/ \/ \/" + @echo "" + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \ + awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' diff --git a/go.md b/go.md new file mode 100644 index 00000000000..f8e3d7438b1 --- /dev/null +++ b/go.md @@ -0,0 +1,783 @@ +# smartcontractkit Go modules +## Main module +```mermaid +flowchart LR + subgraph chains + chainlink-aptos + chainlink-cosmos + chainlink-evm + chainlink-solana + chainlink-starknet/relayer + chainlink-tron/relayer + end + + subgraph products + chainlink-automation + chainlink-data-streams + chainlink-feeds + chainlink-functions + chainlink-vrf + end + + classDef group stroke-dasharray:6,fill:none; + class chains,products group + + ccip-contract-examples/chains/evm + click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" + ccip-owner-contracts + click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" + chain-selectors + click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" + chainlink-aptos --> chainlink-framework/metrics + click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" + chainlink-automation --> chainlink-common + click chainlink-automation href "https://github.com/smartcontractkit/chainlink-automation" + chainlink-ccip --> chainlink-common + chainlink-ccip --> chainlink-protos/rmn/v1.6/go + click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/ccv/chains/evm + click chainlink-ccip/ccv/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm + chainlink-ccip/chains/evm --> ccip-owner-contracts + chainlink-ccip/chains/evm --> chainlink-ccip/deployment + chainlink-ccip/chains/evm --> chainlink-ccv + chainlink-ccip/chains/evm --> chainlink-ccv/deployment + chainlink-ccip/chains/evm --> chainlink-deployments-framework + chainlink-ccip/chains/evm --> chainlink-protos/job-distributor + chainlink-ccip/chains/evm --> chainlink-protos/op-catalog + chainlink-ccip/chains/evm --> chainlink-sui + chainlink-ccip/chains/evm --> chainlink-testing-framework/seth + chainlink-ccip/chains/evm --> chainlink-ton + chainlink-ccip/chains/evm --> mcms + click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings + chainlink-ccip/chains/solana --> chainlink-common + click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana/gobindings + click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/deployment + click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccv --> chainlink-ccip/ccv/chains/evm + chainlink-ccv --> chainlink-evm + chainlink-ccv --> chainlink-protos/chainlink-ccv/committee-verifier + chainlink-ccv --> chainlink-protos/chainlink-ccv/heartbeat + chainlink-ccv --> chainlink-protos/chainlink-ccv/message-discovery + chainlink-ccv --> chainlink-protos/orchestrator + chainlink-ccv --> chainlink-solana + chainlink-ccv --> chainlink-testing-framework/framework + click chainlink-ccv href "https://github.com/smartcontractkit/chainlink-ccv" + chainlink-ccv/deployment + click chainlink-ccv/deployment href "https://github.com/smartcontractkit/chainlink-ccv" + chainlink-common --> chainlink-common/pkg/chipingress + chainlink-common --> chainlink-protos/billing/go + chainlink-common --> chainlink-protos/cre/go + chainlink-common --> chainlink-protos/linking-service/go + chainlink-common --> chainlink-protos/node-platform + chainlink-common --> chainlink-protos/storage-service + chainlink-common --> freeport + chainlink-common --> grpc-proxy + chainlink-common --> libocr + click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/keystore --> chainlink-common + chainlink-common/keystore --> smdkg + chainlink-common/keystore --> wsrpc + click chainlink-common/keystore href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/chipingress + click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/monitoring + click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" + chainlink-data-streams --> chainlink-evm + click chainlink-data-streams href "https://github.com/smartcontractkit/chainlink-data-streams" + chainlink-deployments-framework + click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" + chainlink-evm --> chainlink-common/keystore + chainlink-evm --> chainlink-evm/gethwrappers + chainlink-evm --> chainlink-framework/capabilities + chainlink-evm --> chainlink-framework/chains + chainlink-evm --> chainlink-protos/svr + chainlink-evm --> chainlink-tron/relayer + click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/contracts/cre/gobindings --> chainlink-evm/gethwrappers/helpers + click chainlink-evm/contracts/cre/gobindings href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers --> chainlink-evm/gethwrappers/helpers + click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers/helpers + click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-feeds --> chainlink-common + click chainlink-feeds href "https://github.com/smartcontractkit/chainlink-feeds" + chainlink-framework/capabilities --> chainlink-common + click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-framework/chains --> chainlink-framework/multinode + click chainlink-framework/chains href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-framework/metrics --> chainlink-common + click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-framework/multinode --> chainlink-framework/metrics + click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-protos/billing/go --> chainlink-protos/workflows/go + click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/committee-verifier --> chainlink-protos/chainlink-ccv/verifier + click chainlink-protos/chainlink-ccv/committee-verifier href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/heartbeat + click chainlink-protos/chainlink-ccv/heartbeat href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/message-discovery --> chainlink-protos/chainlink-ccv/verifier + click chainlink-protos/chainlink-ccv/message-discovery href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/verifier + click chainlink-protos/chainlink-ccv/verifier href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/cre/go --> chain-selectors + click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/data-feeds + click chainlink-protos/data-feeds href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/job-distributor + click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/linking-service/go + click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/node-platform + click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/op-catalog + click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/orchestrator --> wsrpc + click chainlink-protos/orchestrator href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/ring/go + click chainlink-protos/ring/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/rmn/v1.6/go + click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/storage-service + click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/svr + click chainlink-protos/svr href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/workflows/go + click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-solana --> chainlink-ccip + chainlink-solana --> chainlink-ccip/chains/solana + chainlink-solana --> chainlink-common/keystore + chainlink-solana --> chainlink-common/pkg/monitoring + chainlink-solana --> chainlink-framework/multinode + click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana" + chainlink-sui --> chainlink-aptos + chainlink-sui --> chainlink-ccip + click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" + chainlink-testing-framework/framework + click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/seth + click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-ton --> chainlink-ccip + chainlink-ton --> chainlink-common/pkg/monitoring + chainlink-ton --> chainlink-framework/metrics + click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" + chainlink-tron/relayer --> chainlink-common + click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" + chainlink/v2 --> chainlink-automation + chainlink/v2 --> chainlink-ccip/chains/evm + chainlink/v2 --> chainlink-data-streams + chainlink/v2 --> chainlink-evm/contracts/cre/gobindings + chainlink/v2 --> chainlink-feeds + chainlink/v2 --> chainlink-protos/data-feeds + chainlink/v2 --> chainlink-protos/ring/go + chainlink/v2 --> cre-sdk-go/capabilities/networking/http + chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron + chainlink/v2 --> quarantine + chainlink/v2 --> tdh2/go/ocr2/decryptionplugin + click chainlink/v2 href "https://github.com/smartcontractkit/chainlink" + cre-sdk-go --> chainlink-protos/cre/go + click cre-sdk-go href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/networking/http --> cre-sdk-go + click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/scheduler/cron --> cre-sdk-go + click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go" + freeport + click freeport href "https://github.com/smartcontractkit/freeport" + go-sumtype2 + click go-sumtype2 href "https://github.com/smartcontractkit/go-sumtype2" + grpc-proxy + click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" + libocr --> go-sumtype2 + click libocr href "https://github.com/smartcontractkit/libocr" + mcms + click mcms href "https://github.com/smartcontractkit/mcms" + quarantine + click quarantine href "https://github.com/smartcontractkit/quarantine" + smdkg --> libocr + smdkg --> tdh2/go/tdh2 + click smdkg href "https://github.com/smartcontractkit/smdkg" + tdh2/go/ocr2/decryptionplugin --> libocr + tdh2/go/ocr2/decryptionplugin --> tdh2/go/tdh2 + click tdh2/go/ocr2/decryptionplugin href "https://github.com/smartcontractkit/tdh2" + tdh2/go/tdh2 + click tdh2/go/tdh2 href "https://github.com/smartcontractkit/tdh2" + wsrpc + click wsrpc href "https://github.com/smartcontractkit/wsrpc" + + subgraph chainlink-ccip-repo[chainlink-ccip] + chainlink-ccip + chainlink-ccip/ccv/chains/evm + chainlink-ccip/chains/evm + chainlink-ccip/chains/solana + chainlink-ccip/chains/solana/gobindings + chainlink-ccip/deployment + end + click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" + + subgraph chainlink-ccv-repo[chainlink-ccv] + chainlink-ccv + chainlink-ccv/deployment + end + click chainlink-ccv-repo href "https://github.com/smartcontractkit/chainlink-ccv" + + subgraph chainlink-common-repo[chainlink-common] + chainlink-common + chainlink-common/keystore + chainlink-common/pkg/chipingress + chainlink-common/pkg/monitoring + end + click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" + + subgraph chainlink-evm-repo[chainlink-evm] + chainlink-evm + chainlink-evm/contracts/cre/gobindings + chainlink-evm/gethwrappers + chainlink-evm/gethwrappers/helpers + end + click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" + + subgraph chainlink-framework-repo[chainlink-framework] + chainlink-framework/capabilities + chainlink-framework/chains + chainlink-framework/metrics + chainlink-framework/multinode + end + click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework" + + subgraph chainlink-protos-repo[chainlink-protos] + chainlink-protos/billing/go + chainlink-protos/chainlink-ccv/committee-verifier + chainlink-protos/chainlink-ccv/heartbeat + chainlink-protos/chainlink-ccv/message-discovery + chainlink-protos/chainlink-ccv/verifier + chainlink-protos/cre/go + chainlink-protos/data-feeds + chainlink-protos/job-distributor + chainlink-protos/linking-service/go + chainlink-protos/node-platform + chainlink-protos/op-catalog + chainlink-protos/orchestrator + chainlink-protos/ring/go + chainlink-protos/rmn/v1.6/go + chainlink-protos/storage-service + chainlink-protos/svr + chainlink-protos/workflows/go + end + click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" + + subgraph chainlink-testing-framework-repo[chainlink-testing-framework] + chainlink-testing-framework/framework + chainlink-testing-framework/seth + end + click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" + + subgraph cre-sdk-go-repo[cre-sdk-go] + cre-sdk-go + cre-sdk-go/capabilities/networking/http + cre-sdk-go/capabilities/scheduler/cron + end + click cre-sdk-go-repo href "https://github.com/smartcontractkit/cre-sdk-go" + + subgraph tdh2-repo[tdh2] + tdh2/go/ocr2/decryptionplugin + tdh2/go/tdh2 + end + click tdh2-repo href "https://github.com/smartcontractkit/tdh2" + + classDef outline stroke-dasharray:6,fill:none; + class chainlink-ccip-repo,chainlink-ccv-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-framework-repo,chainlink-protos-repo,chainlink-testing-framework-repo,cre-sdk-go-repo,tdh2-repo outline +``` +## All modules +```mermaid +flowchart LR + subgraph chains + chainlink-aptos + chainlink-cosmos + chainlink-evm + chainlink-solana + chainlink-starknet/relayer + chainlink-tron/relayer + end + + subgraph products + chainlink-automation + chainlink-data-streams + chainlink-feeds + chainlink-functions + chainlink-vrf + end + + classDef group stroke-dasharray:6,fill:none; + class chains,products group + + ccip-contract-examples/chains/evm --> chainlink-ccip + click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" + ccip-owner-contracts --> chain-selectors + click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" + chain-selectors + click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" + chainlink-aptos --> chainlink-framework/metrics + click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" + chainlink-automation --> chainlink-common + click chainlink-automation href "https://github.com/smartcontractkit/chainlink-automation" + chainlink-ccip --> chainlink-common + chainlink-ccip --> chainlink-protos/rmn/v1.6/go + click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/ccv/chains/evm + click chainlink-ccip/ccv/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm + chainlink-ccip/chains/evm --> chainlink-ccip/deployment + chainlink-ccip/chains/evm --> chainlink-ccv + chainlink-ccip/chains/evm --> chainlink-ccv/deployment + click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings + chainlink-ccip/chains/solana --> chainlink-common + click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana/gobindings + click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/deployment --> chainlink-deployments-framework + click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccv --> chainlink-ccip/ccv/chains/evm + chainlink-ccv --> chainlink-evm + chainlink-ccv --> chainlink-protos/chainlink-ccv/committee-verifier + chainlink-ccv --> chainlink-protos/chainlink-ccv/heartbeat + chainlink-ccv --> chainlink-protos/chainlink-ccv/message-discovery + chainlink-ccv --> chainlink-protos/orchestrator + chainlink-ccv --> chainlink-solana + chainlink-ccv --> chainlink-testing-framework/framework + click chainlink-ccv href "https://github.com/smartcontractkit/chainlink-ccv" + chainlink-ccv/deployment + click chainlink-ccv/deployment href "https://github.com/smartcontractkit/chainlink-ccv" + chainlink-common --> chainlink-common/pkg/chipingress + chainlink-common --> chainlink-protos/billing/go + chainlink-common --> chainlink-protos/cre/go + chainlink-common --> chainlink-protos/linking-service/go + chainlink-common --> chainlink-protos/node-platform + chainlink-common --> chainlink-protos/storage-service + chainlink-common --> freeport + chainlink-common --> grpc-proxy + chainlink-common --> libocr + click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/keystore --> chainlink-common + chainlink-common/keystore --> smdkg + chainlink-common/keystore --> wsrpc + click chainlink-common/keystore href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/chipingress + click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/monitoring + click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/values + click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/workflows/sdk/v2/pb --> chainlink-common/pkg/values + click chainlink-common/pkg/workflows/sdk/v2/pb href "https://github.com/smartcontractkit/chainlink-common" + chainlink-data-streams --> chainlink-evm + click chainlink-data-streams href "https://github.com/smartcontractkit/chainlink-data-streams" + chainlink-deployments-framework --> ccip-owner-contracts + chainlink-deployments-framework --> chainlink-protos/job-distributor + chainlink-deployments-framework --> chainlink-protos/op-catalog + chainlink-deployments-framework --> chainlink-tron/relayer + chainlink-deployments-framework --> mcms + click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" + chainlink-evm --> chainlink-common/keystore + chainlink-evm --> chainlink-evm/gethwrappers + chainlink-evm --> chainlink-framework/capabilities + chainlink-evm --> chainlink-framework/chains + chainlink-evm --> chainlink-protos/svr + chainlink-evm --> chainlink-tron/relayer + click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/contracts/cre/gobindings --> chainlink-evm/gethwrappers/helpers + click chainlink-evm/contracts/cre/gobindings href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers --> chainlink-evm/gethwrappers/helpers + click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers/helpers + click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-feeds --> chainlink-common + click chainlink-feeds href "https://github.com/smartcontractkit/chainlink-feeds" + chainlink-framework/capabilities --> chainlink-common + click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-framework/chains --> chainlink-framework/multinode + click chainlink-framework/chains href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-framework/metrics --> chainlink-common + click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-framework/multinode --> chainlink-framework/metrics + click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-protos/billing/go --> chainlink-protos/workflows/go + click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/committee-verifier --> chainlink-protos/chainlink-ccv/verifier + click chainlink-protos/chainlink-ccv/committee-verifier href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/heartbeat + click chainlink-protos/chainlink-ccv/heartbeat href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/message-discovery --> chainlink-protos/chainlink-ccv/verifier + click chainlink-protos/chainlink-ccv/message-discovery href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/chainlink-ccv/verifier + click chainlink-protos/chainlink-ccv/verifier href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/cre/go --> chain-selectors + click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/data-feeds + click chainlink-protos/data-feeds href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/job-distributor + click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/linking-service/go + click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/node-platform + click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/op-catalog + click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/orchestrator --> wsrpc + click chainlink-protos/orchestrator href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/ring/go + click chainlink-protos/ring/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/rmn/v1.6/go + click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/storage-service + click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/svr + click chainlink-protos/svr href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/workflows/go + click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-solana --> chainlink-ccip + chainlink-solana --> chainlink-ccip/chains/solana + chainlink-solana --> chainlink-common/keystore + chainlink-solana --> chainlink-common/pkg/monitoring + chainlink-solana --> chainlink-framework/multinode + click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana" + chainlink-solana/contracts --> chainlink-deployments-framework + chainlink-solana/contracts --> chainlink-solana + click chainlink-solana/contracts href "https://github.com/smartcontractkit/chainlink-solana" + chainlink-sui --> chainlink-aptos + chainlink-sui --> chainlink-ccip + click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" + chainlink-sui/deployment --> chainlink-ccip/deployment + click chainlink-sui/deployment href "https://github.com/smartcontractkit/chainlink-sui" + chainlink-testing-framework/framework --> chainlink-testing-framework/wasp + click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/framework/components/chiprouter --> chainlink-common/pkg/chipingress + chainlink-testing-framework/framework/components/chiprouter --> chainlink-testing-framework/framework + click chainlink-testing-framework/framework/components/chiprouter href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/framework/components/dockercompose --> chainlink-common/pkg/chipingress + chainlink-testing-framework/framework/components/dockercompose --> chainlink-testing-framework/framework + chainlink-testing-framework/framework/components/dockercompose --> freeport + click chainlink-testing-framework/framework/components/dockercompose href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/framework/components/fake --> chainlink-testing-framework/framework + click chainlink-testing-framework/framework/components/fake href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/havoc --> chainlink-testing-framework/lib/grafana + click chainlink-testing-framework/havoc href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/lib --> chainlink-testing-framework/parrot + chainlink-testing-framework/lib --> chainlink-testing-framework/seth + click chainlink-testing-framework/lib href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/lib/grafana + click chainlink-testing-framework/lib/grafana href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/parrot + click chainlink-testing-framework/parrot href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/seth + click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/wasp --> chainlink-testing-framework/lib + chainlink-testing-framework/wasp --> chainlink-testing-framework/lib/grafana + click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-ton --> chainlink-ccip + chainlink-ton --> chainlink-common/pkg/monitoring + chainlink-ton --> chainlink-framework/metrics + click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" + chainlink-ton/deployment --> chainlink-ccip/chains/evm + click chainlink-ton/deployment href "https://github.com/smartcontractkit/chainlink-ton" + chainlink-tron/relayer --> chainlink-common + click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" + chainlink/core/scripts --> chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based + chainlink/core/scripts --> chainlink/system-tests/lib + click chainlink/core/scripts href "https://github.com/smartcontractkit/chainlink" + chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based --> chainlink-common + click chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based href "https://github.com/smartcontractkit/chainlink" + chainlink/core/scripts/cre/environment/examples/workflows/v2/cron --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/core/scripts/cre/environment/examples/workflows/v2/cron href "https://github.com/smartcontractkit/chainlink" + chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> chainlink-common + chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> chainlink-evm/gethwrappers + chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/blockchain/evm + chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/networking/http + chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based href "https://github.com/smartcontractkit/chainlink" + chainlink/deployment --> chainlink-solana/contracts + chainlink/deployment --> chainlink-sui/deployment + chainlink/deployment --> chainlink-ton/deployment + chainlink/deployment --> chainlink/v2 + chainlink/deployment --> cld-changesets + click chainlink/deployment href "https://github.com/smartcontractkit/chainlink" + chainlink/devenv --> chainlink-automation + chainlink/devenv --> chainlink-evm + chainlink/devenv --> chainlink-protos/job-distributor + chainlink/devenv --> chainlink-testing-framework/framework/components/fake + click chainlink/devenv href "https://github.com/smartcontractkit/chainlink" + chainlink/devenv/fakes --> chainlink-testing-framework/framework/components/fake + click chainlink/devenv/fakes href "https://github.com/smartcontractkit/chainlink" + chainlink/integration-tests --> chainlink/deployment + click chainlink/integration-tests href "https://github.com/smartcontractkit/chainlink" + chainlink/load-tests --> chainlink-testing-framework/havoc + chainlink/load-tests --> chainlink/integration-tests + click chainlink/load-tests href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/chiprouter + chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/dockercompose + chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/fake + chainlink/system-tests/lib --> chainlink/deployment + click chainlink/system-tests/lib href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests --> chainlink-testing-framework/havoc + chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based + chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v2/cron + chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based + chainlink/system-tests/tests --> chainlink/system-tests/lib + chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/consensus + chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/evmread-negative + chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative + chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative + chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/http + chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/httpaction-negative + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evm/evmread + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evm/logtrigger + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evmread + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/httpaction + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/solana/solwrite + chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/vaultsecret + click chainlink/system-tests/tests href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/regression/cre/consensus --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/regression/cre/consensus href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> chainlink-evm/gethwrappers + chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> cre-sdk-go/capabilities/blockchain/evm + chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/regression/cre/evm/evmread-negative href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative --> cre-sdk-go/capabilities/blockchain/evm + chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative --> cre-sdk-go/capabilities/blockchain/evm + click chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/regression/cre/http --> cre-sdk-go/capabilities/networking/http + click chainlink/system-tests/tests/regression/cre/http href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/regression/cre/httpaction-negative --> cre-sdk-go/capabilities/networking/http + chainlink/system-tests/tests/regression/cre/httpaction-negative --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/regression/cre/httpaction-negative href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/aptos/aptosread --> cre-sdk-go/capabilities/blockchain/aptos + chainlink/system-tests/tests/smoke/cre/aptos/aptosread --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/aptos/aptosread href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite --> cre-sdk-go/capabilities/blockchain/aptos + chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip --> cre-sdk-go/capabilities/blockchain/aptos + chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/evm/evmread --> cre-sdk-go/capabilities/blockchain/evm + chainlink/system-tests/tests/smoke/cre/evm/evmread --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/evm/evmread href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/evm/logtrigger --> cre-sdk-go/capabilities/blockchain/evm + click chainlink/system-tests/tests/smoke/cre/evm/logtrigger href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/evmread --> cre-sdk-go/capabilities/blockchain/evm + chainlink/system-tests/tests/smoke/cre/evmread --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/evmread href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/httpaction --> cre-sdk-go/capabilities/networking/http + chainlink/system-tests/tests/smoke/cre/httpaction --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/httpaction href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/solana/solwrite --> cre-sdk-go/capabilities/blockchain/solana + chainlink/system-tests/tests/smoke/cre/solana/solwrite --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/solana/solwrite href "https://github.com/smartcontractkit/chainlink" + chainlink/system-tests/tests/smoke/cre/vaultsecret --> cre-sdk-go/capabilities/scheduler/cron + click chainlink/system-tests/tests/smoke/cre/vaultsecret href "https://github.com/smartcontractkit/chainlink" + chainlink/v2 --> chainlink-automation + chainlink/v2 --> chainlink-ccip/chains/evm + chainlink/v2 --> chainlink-data-streams + chainlink/v2 --> chainlink-evm/contracts/cre/gobindings + chainlink/v2 --> chainlink-feeds + chainlink/v2 --> chainlink-protos/data-feeds + chainlink/v2 --> chainlink-protos/ring/go + chainlink/v2 --> cre-sdk-go/capabilities/networking/http + chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron + chainlink/v2 --> quarantine + chainlink/v2 --> tdh2/go/ocr2/decryptionplugin + click chainlink/v2 href "https://github.com/smartcontractkit/chainlink" + cld-changesets --> chainlink-deployments-framework + cld-changesets --> chainlink-evm + click cld-changesets href "https://github.com/smartcontractkit/cld-changesets" + cre-sdk-go --> chainlink-protos/cre/go + click cre-sdk-go href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/blockchain/aptos --> cre-sdk-go + click cre-sdk-go/capabilities/blockchain/aptos href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/blockchain/evm --> chainlink-common/pkg/workflows/sdk/v2/pb + cre-sdk-go/capabilities/blockchain/evm --> cre-sdk-go + click cre-sdk-go/capabilities/blockchain/evm href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/blockchain/solana --> cre-sdk-go + click cre-sdk-go/capabilities/blockchain/solana href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/networking/http --> cre-sdk-go + click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go" + cre-sdk-go/capabilities/scheduler/cron --> cre-sdk-go + click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go" + freeport + click freeport href "https://github.com/smartcontractkit/freeport" + go-sumtype2 + click go-sumtype2 href "https://github.com/smartcontractkit/go-sumtype2" + grpc-proxy + click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" + libocr --> go-sumtype2 + click libocr href "https://github.com/smartcontractkit/libocr" + mcms --> chainlink-ccip/chains/solana + mcms --> chainlink-sui + mcms --> chainlink-testing-framework/framework + mcms --> chainlink-ton + click mcms href "https://github.com/smartcontractkit/mcms" + quarantine + click quarantine href "https://github.com/smartcontractkit/quarantine" + smdkg --> libocr + smdkg --> tdh2/go/tdh2 + click smdkg href "https://github.com/smartcontractkit/smdkg" + tdh2/go/ocr2/decryptionplugin --> libocr + tdh2/go/ocr2/decryptionplugin --> tdh2/go/tdh2 + click tdh2/go/ocr2/decryptionplugin href "https://github.com/smartcontractkit/tdh2" + tdh2/go/tdh2 + click tdh2/go/tdh2 href "https://github.com/smartcontractkit/tdh2" + wsrpc + click wsrpc href "https://github.com/smartcontractkit/wsrpc" + + subgraph chainlink-repo[chainlink] + chainlink/core/scripts + chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based + chainlink/core/scripts/cre/environment/examples/workflows/v2/cron + chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based + chainlink/deployment + chainlink/devenv + chainlink/devenv/fakes + chainlink/integration-tests + chainlink/load-tests + chainlink/system-tests/lib + chainlink/system-tests/tests + chainlink/system-tests/tests/regression/cre/consensus + chainlink/system-tests/tests/regression/cre/evm/evmread-negative + chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative + chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative + chainlink/system-tests/tests/regression/cre/http + chainlink/system-tests/tests/regression/cre/httpaction-negative + chainlink/system-tests/tests/smoke/cre/aptos/aptosread + chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite + chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip + chainlink/system-tests/tests/smoke/cre/evm/evmread + chainlink/system-tests/tests/smoke/cre/evm/logtrigger + chainlink/system-tests/tests/smoke/cre/evmread + chainlink/system-tests/tests/smoke/cre/httpaction + chainlink/system-tests/tests/smoke/cre/solana/solwrite + chainlink/system-tests/tests/smoke/cre/vaultsecret + chainlink/v2 + end + click chainlink-repo href "https://github.com/smartcontractkit/chainlink" + + subgraph chainlink-ccip-repo[chainlink-ccip] + chainlink-ccip + chainlink-ccip/ccv/chains/evm + chainlink-ccip/chains/evm + chainlink-ccip/chains/solana + chainlink-ccip/chains/solana/gobindings + chainlink-ccip/deployment + end + click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" + + subgraph chainlink-ccv-repo[chainlink-ccv] + chainlink-ccv + chainlink-ccv/deployment + end + click chainlink-ccv-repo href "https://github.com/smartcontractkit/chainlink-ccv" + + subgraph chainlink-common-repo[chainlink-common] + chainlink-common + chainlink-common/keystore + chainlink-common/pkg/chipingress + chainlink-common/pkg/monitoring + chainlink-common/pkg/values + chainlink-common/pkg/workflows/sdk/v2/pb + end + click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" + + subgraph chainlink-evm-repo[chainlink-evm] + chainlink-evm + chainlink-evm/contracts/cre/gobindings + chainlink-evm/gethwrappers + chainlink-evm/gethwrappers/helpers + end + click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" + + subgraph chainlink-framework-repo[chainlink-framework] + chainlink-framework/capabilities + chainlink-framework/chains + chainlink-framework/metrics + chainlink-framework/multinode + end + click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework" + + subgraph chainlink-protos-repo[chainlink-protos] + chainlink-protos/billing/go + chainlink-protos/chainlink-ccv/committee-verifier + chainlink-protos/chainlink-ccv/heartbeat + chainlink-protos/chainlink-ccv/message-discovery + chainlink-protos/chainlink-ccv/verifier + chainlink-protos/cre/go + chainlink-protos/data-feeds + chainlink-protos/job-distributor + chainlink-protos/linking-service/go + chainlink-protos/node-platform + chainlink-protos/op-catalog + chainlink-protos/orchestrator + chainlink-protos/ring/go + chainlink-protos/rmn/v1.6/go + chainlink-protos/storage-service + chainlink-protos/svr + chainlink-protos/workflows/go + end + click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" + + subgraph chainlink-solana-repo[chainlink-solana] + chainlink-solana + chainlink-solana/contracts + end + click chainlink-solana-repo href "https://github.com/smartcontractkit/chainlink-solana" + + subgraph chainlink-sui-repo[chainlink-sui] + chainlink-sui + chainlink-sui/deployment + end + click chainlink-sui-repo href "https://github.com/smartcontractkit/chainlink-sui" + + subgraph chainlink-testing-framework-repo[chainlink-testing-framework] + chainlink-testing-framework/framework + chainlink-testing-framework/framework/components/chiprouter + chainlink-testing-framework/framework/components/dockercompose + chainlink-testing-framework/framework/components/fake + chainlink-testing-framework/havoc + chainlink-testing-framework/lib + chainlink-testing-framework/lib/grafana + chainlink-testing-framework/parrot + chainlink-testing-framework/seth + chainlink-testing-framework/wasp + end + click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" + + subgraph chainlink-ton-repo[chainlink-ton] + chainlink-ton + chainlink-ton/deployment + end + click chainlink-ton-repo href "https://github.com/smartcontractkit/chainlink-ton" + + subgraph cre-sdk-go-repo[cre-sdk-go] + cre-sdk-go + cre-sdk-go/capabilities/blockchain/aptos + cre-sdk-go/capabilities/blockchain/evm + cre-sdk-go/capabilities/blockchain/solana + cre-sdk-go/capabilities/networking/http + cre-sdk-go/capabilities/scheduler/cron + end + click cre-sdk-go-repo href "https://github.com/smartcontractkit/cre-sdk-go" + + subgraph tdh2-repo[tdh2] + tdh2/go/ocr2/decryptionplugin + tdh2/go/tdh2 + end + click tdh2-repo href "https://github.com/smartcontractkit/tdh2" + + classDef outline stroke-dasharray:6,fill:none; + class chainlink-repo,chainlink-ccip-repo,chainlink-ccv-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-framework-repo,chainlink-protos-repo,chainlink-solana-repo,chainlink-sui-repo,chainlink-testing-framework-repo,chainlink-ton-repo,cre-sdk-go-repo,tdh2-repo outline +``` diff --git a/tools/bin/modgraph b/tools/bin/modgraph new file mode 100755 index 00000000000..fad167bbd1b --- /dev/null +++ b/tools/bin/modgraph @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Generates go.md + +set -e + +echo "# smartcontractkit Go modules +## Main module +\`\`\`mermaid +flowchart LR + subgraph chains + chainlink-aptos + chainlink-cosmos + chainlink-evm + chainlink-solana + chainlink-starknet/relayer + chainlink-tron/relayer + end + + subgraph products + chainlink-automation + chainlink-data-streams + chainlink-feeds + chainlink-functions + chainlink-vrf + end + + classDef group stroke-dasharray:6,fill:none; + class chains,products group +" +go mod graph | modgraph -prefix github.com/smartcontractkit/ +echo "\`\`\`" + +echo "## All modules +\`\`\`mermaid +flowchart LR + subgraph chains + chainlink-aptos + chainlink-cosmos + chainlink-evm + chainlink-solana + chainlink-starknet/relayer + chainlink-tron/relayer + end + + subgraph products + chainlink-automation + chainlink-data-streams + chainlink-feeds + chainlink-functions + chainlink-vrf + end + + classDef group stroke-dasharray:6,fill:none; + class chains,products group +" +gomods graph | modgraph -prefix github.com/smartcontractkit/ +echo "\`\`\`" \ No newline at end of file From 3438b7abe7b6335bda6f7e7eed3bc7f7a2f67d47 Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 9 May 2026 21:30:17 -0600 Subject: [PATCH 14/25] chore: go.md --- go.md | 468 ---------------------------------------------------------- 1 file changed, 468 deletions(-) diff --git a/go.md b/go.md index f8e3d7438b1..c150e6f4879 100644 --- a/go.md +++ b/go.md @@ -313,471 +313,3 @@ flowchart LR classDef group stroke-dasharray:6,fill:none; class chains,products group - ccip-contract-examples/chains/evm --> chainlink-ccip - click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" - ccip-owner-contracts --> chain-selectors - click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" - chain-selectors - click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" - chainlink-aptos --> chainlink-framework/metrics - click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" - chainlink-automation --> chainlink-common - click chainlink-automation href "https://github.com/smartcontractkit/chainlink-automation" - chainlink-ccip --> chainlink-common - chainlink-ccip --> chainlink-protos/rmn/v1.6/go - click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/ccv/chains/evm - click chainlink-ccip/ccv/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm - chainlink-ccip/chains/evm --> chainlink-ccip/deployment - chainlink-ccip/chains/evm --> chainlink-ccv - chainlink-ccip/chains/evm --> chainlink-ccv/deployment - click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings - chainlink-ccip/chains/solana --> chainlink-common - click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/chains/solana/gobindings - click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccip/deployment --> chainlink-deployments-framework - click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" - chainlink-ccv --> chainlink-ccip/ccv/chains/evm - chainlink-ccv --> chainlink-evm - chainlink-ccv --> chainlink-protos/chainlink-ccv/committee-verifier - chainlink-ccv --> chainlink-protos/chainlink-ccv/heartbeat - chainlink-ccv --> chainlink-protos/chainlink-ccv/message-discovery - chainlink-ccv --> chainlink-protos/orchestrator - chainlink-ccv --> chainlink-solana - chainlink-ccv --> chainlink-testing-framework/framework - click chainlink-ccv href "https://github.com/smartcontractkit/chainlink-ccv" - chainlink-ccv/deployment - click chainlink-ccv/deployment href "https://github.com/smartcontractkit/chainlink-ccv" - chainlink-common --> chainlink-common/pkg/chipingress - chainlink-common --> chainlink-protos/billing/go - chainlink-common --> chainlink-protos/cre/go - chainlink-common --> chainlink-protos/linking-service/go - chainlink-common --> chainlink-protos/node-platform - chainlink-common --> chainlink-protos/storage-service - chainlink-common --> freeport - chainlink-common --> grpc-proxy - chainlink-common --> libocr - click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/keystore --> chainlink-common - chainlink-common/keystore --> smdkg - chainlink-common/keystore --> wsrpc - click chainlink-common/keystore href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/chipingress - click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/monitoring - click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/values - click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" - chainlink-common/pkg/workflows/sdk/v2/pb --> chainlink-common/pkg/values - click chainlink-common/pkg/workflows/sdk/v2/pb href "https://github.com/smartcontractkit/chainlink-common" - chainlink-data-streams --> chainlink-evm - click chainlink-data-streams href "https://github.com/smartcontractkit/chainlink-data-streams" - chainlink-deployments-framework --> ccip-owner-contracts - chainlink-deployments-framework --> chainlink-protos/job-distributor - chainlink-deployments-framework --> chainlink-protos/op-catalog - chainlink-deployments-framework --> chainlink-tron/relayer - chainlink-deployments-framework --> mcms - click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" - chainlink-evm --> chainlink-common/keystore - chainlink-evm --> chainlink-evm/gethwrappers - chainlink-evm --> chainlink-framework/capabilities - chainlink-evm --> chainlink-framework/chains - chainlink-evm --> chainlink-protos/svr - chainlink-evm --> chainlink-tron/relayer - click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/contracts/cre/gobindings --> chainlink-evm/gethwrappers/helpers - click chainlink-evm/contracts/cre/gobindings href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/gethwrappers --> chainlink-evm/gethwrappers/helpers - click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-evm/gethwrappers/helpers - click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" - chainlink-feeds --> chainlink-common - click chainlink-feeds href "https://github.com/smartcontractkit/chainlink-feeds" - chainlink-framework/capabilities --> chainlink-common - click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/chains --> chainlink-framework/multinode - click chainlink-framework/chains href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/metrics --> chainlink-common - click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-framework/multinode --> chainlink-framework/metrics - click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework" - chainlink-protos/billing/go --> chainlink-protos/workflows/go - click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/committee-verifier --> chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/committee-verifier href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/heartbeat - click chainlink-protos/chainlink-ccv/heartbeat href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/message-discovery --> chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/message-discovery href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/chainlink-ccv/verifier - click chainlink-protos/chainlink-ccv/verifier href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/cre/go --> chain-selectors - click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/data-feeds - click chainlink-protos/data-feeds href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/job-distributor - click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/linking-service/go - click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/node-platform - click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/op-catalog - click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/orchestrator --> wsrpc - click chainlink-protos/orchestrator href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/ring/go - click chainlink-protos/ring/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/rmn/v1.6/go - click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/storage-service - click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/svr - click chainlink-protos/svr href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-protos/workflows/go - click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" - chainlink-solana --> chainlink-ccip - chainlink-solana --> chainlink-ccip/chains/solana - chainlink-solana --> chainlink-common/keystore - chainlink-solana --> chainlink-common/pkg/monitoring - chainlink-solana --> chainlink-framework/multinode - click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana" - chainlink-solana/contracts --> chainlink-deployments-framework - chainlink-solana/contracts --> chainlink-solana - click chainlink-solana/contracts href "https://github.com/smartcontractkit/chainlink-solana" - chainlink-sui --> chainlink-aptos - chainlink-sui --> chainlink-ccip - click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" - chainlink-sui/deployment --> chainlink-ccip/deployment - click chainlink-sui/deployment href "https://github.com/smartcontractkit/chainlink-sui" - chainlink-testing-framework/framework --> chainlink-testing-framework/wasp - click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/framework/components/chiprouter --> chainlink-common/pkg/chipingress - chainlink-testing-framework/framework/components/chiprouter --> chainlink-testing-framework/framework - click chainlink-testing-framework/framework/components/chiprouter href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/framework/components/dockercompose --> chainlink-common/pkg/chipingress - chainlink-testing-framework/framework/components/dockercompose --> chainlink-testing-framework/framework - chainlink-testing-framework/framework/components/dockercompose --> freeport - click chainlink-testing-framework/framework/components/dockercompose href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/framework/components/fake --> chainlink-testing-framework/framework - click chainlink-testing-framework/framework/components/fake href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/havoc --> chainlink-testing-framework/lib/grafana - click chainlink-testing-framework/havoc href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/lib --> chainlink-testing-framework/parrot - chainlink-testing-framework/lib --> chainlink-testing-framework/seth - click chainlink-testing-framework/lib href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/lib/grafana - click chainlink-testing-framework/lib/grafana href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/parrot - click chainlink-testing-framework/parrot href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/seth - click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-testing-framework/wasp --> chainlink-testing-framework/lib - chainlink-testing-framework/wasp --> chainlink-testing-framework/lib/grafana - click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework" - chainlink-ton --> chainlink-ccip - chainlink-ton --> chainlink-common/pkg/monitoring - chainlink-ton --> chainlink-framework/metrics - click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" - chainlink-ton/deployment --> chainlink-ccip/chains/evm - click chainlink-ton/deployment href "https://github.com/smartcontractkit/chainlink-ton" - chainlink-tron/relayer --> chainlink-common - click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" - chainlink/core/scripts --> chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based - chainlink/core/scripts --> chainlink/system-tests/lib - click chainlink/core/scripts href "https://github.com/smartcontractkit/chainlink" - chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based --> chainlink-common - click chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based href "https://github.com/smartcontractkit/chainlink" - chainlink/core/scripts/cre/environment/examples/workflows/v2/cron --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/core/scripts/cre/environment/examples/workflows/v2/cron href "https://github.com/smartcontractkit/chainlink" - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> chainlink-common - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> chainlink-evm/gethwrappers - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/blockchain/evm - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/networking/http - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based href "https://github.com/smartcontractkit/chainlink" - chainlink/deployment --> chainlink-solana/contracts - chainlink/deployment --> chainlink-sui/deployment - chainlink/deployment --> chainlink-ton/deployment - chainlink/deployment --> chainlink/v2 - chainlink/deployment --> cld-changesets - click chainlink/deployment href "https://github.com/smartcontractkit/chainlink" - chainlink/devenv --> chainlink-automation - chainlink/devenv --> chainlink-evm - chainlink/devenv --> chainlink-protos/job-distributor - chainlink/devenv --> chainlink-testing-framework/framework/components/fake - click chainlink/devenv href "https://github.com/smartcontractkit/chainlink" - chainlink/devenv/fakes --> chainlink-testing-framework/framework/components/fake - click chainlink/devenv/fakes href "https://github.com/smartcontractkit/chainlink" - chainlink/integration-tests --> chainlink/deployment - click chainlink/integration-tests href "https://github.com/smartcontractkit/chainlink" - chainlink/load-tests --> chainlink-testing-framework/havoc - chainlink/load-tests --> chainlink/integration-tests - click chainlink/load-tests href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/chiprouter - chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/dockercompose - chainlink/system-tests/lib --> chainlink-testing-framework/framework/components/fake - chainlink/system-tests/lib --> chainlink/deployment - click chainlink/system-tests/lib href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests --> chainlink-testing-framework/havoc - chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based - chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v2/cron - chainlink/system-tests/tests --> chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based - chainlink/system-tests/tests --> chainlink/system-tests/lib - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/consensus - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/evmread-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/http - chainlink/system-tests/tests --> chainlink/system-tests/tests/regression/cre/httpaction-negative - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evm/evmread - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evm/logtrigger - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/evmread - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/httpaction - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/solana/solwrite - chainlink/system-tests/tests --> chainlink/system-tests/tests/smoke/cre/vaultsecret - click chainlink/system-tests/tests href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/consensus --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/consensus href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> chainlink-evm/gethwrappers - chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/regression/cre/evm/evmread-negative --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/evm/evmread-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative --> cre-sdk-go/capabilities/blockchain/evm - click chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/http --> cre-sdk-go/capabilities/networking/http - click chainlink/system-tests/tests/regression/cre/http href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/regression/cre/httpaction-negative --> cre-sdk-go/capabilities/networking/http - chainlink/system-tests/tests/regression/cre/httpaction-negative --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/regression/cre/httpaction-negative href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/aptos/aptosread --> cre-sdk-go/capabilities/blockchain/aptos - chainlink/system-tests/tests/smoke/cre/aptos/aptosread --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/aptos/aptosread href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite --> cre-sdk-go/capabilities/blockchain/aptos - chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip --> cre-sdk-go/capabilities/blockchain/aptos - chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/evm/evmread --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/smoke/cre/evm/evmread --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/evm/evmread href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/evm/logtrigger --> cre-sdk-go/capabilities/blockchain/evm - click chainlink/system-tests/tests/smoke/cre/evm/logtrigger href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/evmread --> cre-sdk-go/capabilities/blockchain/evm - chainlink/system-tests/tests/smoke/cre/evmread --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/evmread href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/httpaction --> cre-sdk-go/capabilities/networking/http - chainlink/system-tests/tests/smoke/cre/httpaction --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/httpaction href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/solana/solwrite --> cre-sdk-go/capabilities/blockchain/solana - chainlink/system-tests/tests/smoke/cre/solana/solwrite --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/solana/solwrite href "https://github.com/smartcontractkit/chainlink" - chainlink/system-tests/tests/smoke/cre/vaultsecret --> cre-sdk-go/capabilities/scheduler/cron - click chainlink/system-tests/tests/smoke/cre/vaultsecret href "https://github.com/smartcontractkit/chainlink" - chainlink/v2 --> chainlink-automation - chainlink/v2 --> chainlink-ccip/chains/evm - chainlink/v2 --> chainlink-data-streams - chainlink/v2 --> chainlink-evm/contracts/cre/gobindings - chainlink/v2 --> chainlink-feeds - chainlink/v2 --> chainlink-protos/data-feeds - chainlink/v2 --> chainlink-protos/ring/go - chainlink/v2 --> cre-sdk-go/capabilities/networking/http - chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron - chainlink/v2 --> quarantine - chainlink/v2 --> tdh2/go/ocr2/decryptionplugin - click chainlink/v2 href "https://github.com/smartcontractkit/chainlink" - cld-changesets --> chainlink-deployments-framework - cld-changesets --> chainlink-evm - click cld-changesets href "https://github.com/smartcontractkit/cld-changesets" - cre-sdk-go --> chainlink-protos/cre/go - click cre-sdk-go href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/blockchain/aptos --> cre-sdk-go - click cre-sdk-go/capabilities/blockchain/aptos href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/blockchain/evm --> chainlink-common/pkg/workflows/sdk/v2/pb - cre-sdk-go/capabilities/blockchain/evm --> cre-sdk-go - click cre-sdk-go/capabilities/blockchain/evm href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/blockchain/solana --> cre-sdk-go - click cre-sdk-go/capabilities/blockchain/solana href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/networking/http --> cre-sdk-go - click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go" - cre-sdk-go/capabilities/scheduler/cron --> cre-sdk-go - click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go" - freeport - click freeport href "https://github.com/smartcontractkit/freeport" - go-sumtype2 - click go-sumtype2 href "https://github.com/smartcontractkit/go-sumtype2" - grpc-proxy - click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" - libocr --> go-sumtype2 - click libocr href "https://github.com/smartcontractkit/libocr" - mcms --> chainlink-ccip/chains/solana - mcms --> chainlink-sui - mcms --> chainlink-testing-framework/framework - mcms --> chainlink-ton - click mcms href "https://github.com/smartcontractkit/mcms" - quarantine - click quarantine href "https://github.com/smartcontractkit/quarantine" - smdkg --> libocr - smdkg --> tdh2/go/tdh2 - click smdkg href "https://github.com/smartcontractkit/smdkg" - tdh2/go/ocr2/decryptionplugin --> libocr - tdh2/go/ocr2/decryptionplugin --> tdh2/go/tdh2 - click tdh2/go/ocr2/decryptionplugin href "https://github.com/smartcontractkit/tdh2" - tdh2/go/tdh2 - click tdh2/go/tdh2 href "https://github.com/smartcontractkit/tdh2" - wsrpc - click wsrpc href "https://github.com/smartcontractkit/wsrpc" - - subgraph chainlink-repo[chainlink] - chainlink/core/scripts - chainlink/core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based - chainlink/core/scripts/cre/environment/examples/workflows/v2/cron - chainlink/core/scripts/cre/environment/examples/workflows/v2/proof-of-reserve/cron-based - chainlink/deployment - chainlink/devenv - chainlink/devenv/fakes - chainlink/integration-tests - chainlink/load-tests - chainlink/system-tests/lib - chainlink/system-tests/tests - chainlink/system-tests/tests/regression/cre/consensus - chainlink/system-tests/tests/regression/cre/evm/evmread-negative - chainlink/system-tests/tests/regression/cre/evm/evmwrite-negative - chainlink/system-tests/tests/regression/cre/evm/logtrigger-negative - chainlink/system-tests/tests/regression/cre/http - chainlink/system-tests/tests/regression/cre/httpaction-negative - chainlink/system-tests/tests/smoke/cre/aptos/aptosread - chainlink/system-tests/tests/smoke/cre/aptos/aptoswrite - chainlink/system-tests/tests/smoke/cre/aptos/aptoswriteroundtrip - chainlink/system-tests/tests/smoke/cre/evm/evmread - chainlink/system-tests/tests/smoke/cre/evm/logtrigger - chainlink/system-tests/tests/smoke/cre/evmread - chainlink/system-tests/tests/smoke/cre/httpaction - chainlink/system-tests/tests/smoke/cre/solana/solwrite - chainlink/system-tests/tests/smoke/cre/vaultsecret - chainlink/v2 - end - click chainlink-repo href "https://github.com/smartcontractkit/chainlink" - - subgraph chainlink-ccip-repo[chainlink-ccip] - chainlink-ccip - chainlink-ccip/ccv/chains/evm - chainlink-ccip/chains/evm - chainlink-ccip/chains/solana - chainlink-ccip/chains/solana/gobindings - chainlink-ccip/deployment - end - click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" - - subgraph chainlink-ccv-repo[chainlink-ccv] - chainlink-ccv - chainlink-ccv/deployment - end - click chainlink-ccv-repo href "https://github.com/smartcontractkit/chainlink-ccv" - - subgraph chainlink-common-repo[chainlink-common] - chainlink-common - chainlink-common/keystore - chainlink-common/pkg/chipingress - chainlink-common/pkg/monitoring - chainlink-common/pkg/values - chainlink-common/pkg/workflows/sdk/v2/pb - end - click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" - - subgraph chainlink-evm-repo[chainlink-evm] - chainlink-evm - chainlink-evm/contracts/cre/gobindings - chainlink-evm/gethwrappers - chainlink-evm/gethwrappers/helpers - end - click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" - - subgraph chainlink-framework-repo[chainlink-framework] - chainlink-framework/capabilities - chainlink-framework/chains - chainlink-framework/metrics - chainlink-framework/multinode - end - click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework" - - subgraph chainlink-protos-repo[chainlink-protos] - chainlink-protos/billing/go - chainlink-protos/chainlink-ccv/committee-verifier - chainlink-protos/chainlink-ccv/heartbeat - chainlink-protos/chainlink-ccv/message-discovery - chainlink-protos/chainlink-ccv/verifier - chainlink-protos/cre/go - chainlink-protos/data-feeds - chainlink-protos/job-distributor - chainlink-protos/linking-service/go - chainlink-protos/node-platform - chainlink-protos/op-catalog - chainlink-protos/orchestrator - chainlink-protos/ring/go - chainlink-protos/rmn/v1.6/go - chainlink-protos/storage-service - chainlink-protos/svr - chainlink-protos/workflows/go - end - click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" - - subgraph chainlink-solana-repo[chainlink-solana] - chainlink-solana - chainlink-solana/contracts - end - click chainlink-solana-repo href "https://github.com/smartcontractkit/chainlink-solana" - - subgraph chainlink-sui-repo[chainlink-sui] - chainlink-sui - chainlink-sui/deployment - end - click chainlink-sui-repo href "https://github.com/smartcontractkit/chainlink-sui" - - subgraph chainlink-testing-framework-repo[chainlink-testing-framework] - chainlink-testing-framework/framework - chainlink-testing-framework/framework/components/chiprouter - chainlink-testing-framework/framework/components/dockercompose - chainlink-testing-framework/framework/components/fake - chainlink-testing-framework/havoc - chainlink-testing-framework/lib - chainlink-testing-framework/lib/grafana - chainlink-testing-framework/parrot - chainlink-testing-framework/seth - chainlink-testing-framework/wasp - end - click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" - - subgraph chainlink-ton-repo[chainlink-ton] - chainlink-ton - chainlink-ton/deployment - end - click chainlink-ton-repo href "https://github.com/smartcontractkit/chainlink-ton" - - subgraph cre-sdk-go-repo[cre-sdk-go] - cre-sdk-go - cre-sdk-go/capabilities/blockchain/aptos - cre-sdk-go/capabilities/blockchain/evm - cre-sdk-go/capabilities/blockchain/solana - cre-sdk-go/capabilities/networking/http - cre-sdk-go/capabilities/scheduler/cron - end - click cre-sdk-go-repo href "https://github.com/smartcontractkit/cre-sdk-go" - - subgraph tdh2-repo[tdh2] - tdh2/go/ocr2/decryptionplugin - tdh2/go/tdh2 - end - click tdh2-repo href "https://github.com/smartcontractkit/tdh2" - - classDef outline stroke-dasharray:6,fill:none; - class chainlink-repo,chainlink-ccip-repo,chainlink-ccv-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-framework-repo,chainlink-protos-repo,chainlink-solana-repo,chainlink-sui-repo,chainlink-testing-framework-repo,chainlink-ton-repo,cre-sdk-go-repo,tdh2-repo outline -``` From 78d75bf56ce5079d350af110ccafffa75221a56d Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 09:38:53 -0600 Subject: [PATCH 15/25] fix: lint errors --- .../v1_6/cs_add_evm_solana_lane.go | 8 +++--- .../shared/deployergroup/deployer_group.go | 11 ++++---- deployment/ccip/shared/stateview/state.go | 8 +++--- .../changeset/example/solana_transfer_mcm.go | 14 +++++----- deployment/common/changeset/mcms_firedrill.go | 4 +-- .../common/changeset/set_config_mcms.go | 6 ++--- .../common/changeset/set_config_mcms_test.go | 6 ++--- .../common/changeset/solana/fund_mcm_pdas.go | 26 +++++++++---------- deployment/common/proposalutils/propose.go | 15 ++++++----- 9 files changed, 49 insertions(+), 49 deletions(-) diff --git a/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go b/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go index 42df8b9691f..c532aa53d22 100644 --- a/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go +++ b/deployment/ccip/changeset/crossfamily/v1_6/cs_add_evm_solana_lane.go @@ -6,6 +6,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" mcmslib "github.com/smartcontractkit/mcms" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_3/fee_quoter" @@ -19,7 +20,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/v1_6" "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -249,7 +249,7 @@ var ( type Dependencies struct { Env cldf.Environment EVMMCMSState map[uint64]evmstate.MCMSWithTimelockState - SolanaMCMSState map[uint64]commonstate.MCMSWithTimelockStateSolana + SolanaMCMSState map[uint64]solstate.MCMSWithTimelockState changesetInput csInputs } @@ -495,7 +495,7 @@ func addEVMAndSolanaLaneLogic(env cldf.Environment, input AddMultiEVMSolanaLaneC if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get addresses for Solana chain: %w", err) } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(env.BlockChains.SolanaChains()[input.SolanaChainSelector], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(env.BlockChains.SolanaChains()[input.SolanaChainSelector], addresses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load Solana MCMS state: %w", err) } @@ -511,7 +511,7 @@ func addEVMAndSolanaLaneLogic(env cldf.Environment, input AddMultiEVMSolanaLaneC deps := Dependencies{ Env: env, EVMMCMSState: evmState.EVMMCMSStateByChain(), - SolanaMCMSState: map[uint64]commonstate.MCMSWithTimelockStateSolana{ + SolanaMCMSState: map[uint64]solstate.MCMSWithTimelockState{ input.SolanaChainSelector: *mcmState, }, changesetInput: changesetInputs, diff --git a/deployment/ccip/shared/deployergroup/deployer_group.go b/deployment/ccip/shared/deployergroup/deployer_group.go index f35a1435d0d..3a2357b5fdb 100644 --- a/deployment/ccip/shared/deployergroup/deployer_group.go +++ b/deployment/ccip/shared/deployergroup/deployer_group.go @@ -9,6 +9,8 @@ import ( "strings" evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "golang.org/x/sync/errgroup" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" @@ -27,7 +29,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -284,11 +285,11 @@ func (d *DeployerGroup) GetDeployerForSVM(chain uint64) (func(DeployerForSVM) (s } } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(d.e.BlockChains.SolanaChains()[chain], addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(d.e.BlockChains.SolanaChains()[chain], addresses) if err != nil { return nil, fmt.Errorf("failed to load mcm state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) authority = timelockSignerPDA } @@ -531,7 +532,7 @@ func BuildTimelockAddressPerChain(e cldf.Environment, onchainState stateview.CCI if err != nil { return nil, fmt.Errorf("failed to load addresses for chain %d: %w", selector, err) } - mcmState, _ := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, _ := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) addressPerChain[selector] = mcmsSolana.ContractAddress(mcmState.TimelockProgram, mcmsSolana.PDASeed(mcmState.TimelockSeed)) } @@ -569,7 +570,7 @@ func BuildMcmAddressesPerChainByAction(e cldf.Environment, onchainState statevie if err != nil { return nil, fmt.Errorf("failed to load addresses for chain %d: %w", selector, err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addresses) if err != nil { return nil, fmt.Errorf("failed to load mcm state: %w", err) } diff --git a/deployment/ccip/shared/stateview/state.go b/deployment/ccip/shared/stateview/state.go index c702da2327f..9c8e674e0c4 100644 --- a/deployment/ccip/shared/stateview/state.go +++ b/deployment/ccip/shared/stateview/state.go @@ -20,6 +20,7 @@ import ( "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" chain_selectors "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "golang.org/x/exp/maps" "golang.org/x/sync/errgroup" @@ -45,7 +46,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/evm" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" - commonstate "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink-evm/gethwrappers/shared/generated/initial/erc20" @@ -393,14 +393,14 @@ func (c CCIPOnChainState) EVMMCMSStateByChain() map[uint64]evmstate.MCMSWithTime return mcmsStateByChain } -func (c CCIPOnChainState) SolanaMCMSStateByChain(e cldf.Environment) map[uint64]commonstate.MCMSWithTimelockStateSolana { - mcmsStateByChain := make(map[uint64]commonstate.MCMSWithTimelockStateSolana) +func (c CCIPOnChainState) SolanaMCMSStateByChain(e cldf.Environment) map[uint64]solstate.MCMSWithTimelockState { + mcmsStateByChain := make(map[uint64]solstate.MCMSWithTimelockState) for chainSelector := range e.BlockChains.SolanaChains() { addreses, err := e.ExistingAddresses.AddressesForChain(chainSelector) if err != nil { return mcmsStateByChain } - mcmState, err := commonstate.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[chainSelector], addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[chainSelector], addreses) if err != nil { return mcmsStateByChain } diff --git a/deployment/common/changeset/example/solana_transfer_mcm.go b/deployment/common/changeset/example/solana_transfer_mcm.go index 050c9b35e84..199170867bb 100644 --- a/deployment/common/changeset/example/solana_transfer_mcm.go +++ b/deployment/common/changeset/example/solana_transfer_mcm.go @@ -6,16 +6,16 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" + + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" "github.com/smartcontractkit/mcms/types" - cldchangesetssolana "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" - cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -51,7 +51,7 @@ func (f TransferFromTimelock) VerifyPreconditions(e cldf.Environment, config Tra if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addresses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addresses) if err != nil { return fmt.Errorf("failed to load MCMS state: %w", err) } @@ -91,16 +91,16 @@ func (f TransferFromTimelock) Apply(e cldf.Environment, config TransferFromTimel if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addreses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS state: %w", err) } - timelockSignerPDA := state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) + timelockSignerPDA := pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed) timelockID := mcmssolanasdk.ContractAddress(mcmState.TimelockProgram, mcmssolanasdk.PDASeed(mcmState.TimelockSeed)) proposerID := mcmssolanasdk.ContractAddress(mcmState.McmProgram, mcmssolanasdk.PDASeed(mcmState.ProposerMcmSeed)) timelocks[chainSelector] = timelockID proposers[chainSelector] = proposerID - ixs, err := cldchangesetssolana.FundFromAddressIxs( + ixs, err := solstate.FundFromAddressIxs( timelockSignerPDA, []solana.PublicKey{cfgAmounts.To}, cfgAmounts.Amount) diff --git a/deployment/common/changeset/mcms_firedrill.go b/deployment/common/changeset/mcms_firedrill.go index b91cd1cb541..439b6bc700c 100644 --- a/deployment/common/changeset/mcms_firedrill.go +++ b/deployment/common/changeset/mcms_firedrill.go @@ -6,6 +6,7 @@ import ( "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsevmsdk "github.com/smartcontractkit/mcms/sdk/evm" mcmssolanasdk "github.com/smartcontractkit/mcms/sdk/solana" @@ -16,7 +17,6 @@ import ( cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" ) @@ -127,7 +127,7 @@ func MCMSSignFireDrillChangeset(e cldf.Environment, cfg FireDrillConfig) (cldf.C if err != nil { return cldf.ChangesetOutput{}, err } - state, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(e.BlockChains.SolanaChains()[selector], addresses) + state, err := solstate.MaybeLoadMCMSWithTimelockChainState(e.BlockChains.SolanaChains()[selector], addresses) if err != nil { return cldf.ChangesetOutput{}, err } diff --git a/deployment/common/changeset/set_config_mcms.go b/deployment/common/changeset/set_config_mcms.go index 14f56d08ecf..4c33a275b37 100644 --- a/deployment/common/changeset/set_config_mcms.go +++ b/deployment/common/changeset/set_config_mcms.go @@ -13,6 +13,7 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" aptosstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/aptos" evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" mcmslib "github.com/smartcontractkit/mcms" aptosmcms "github.com/smartcontractkit/mcms/sdk/aptos" "github.com/smartcontractkit/mcms/sdk/evm" @@ -28,7 +29,6 @@ import ( cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment" - commonState "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -89,7 +89,7 @@ func (cfg MCMSConfigV2) Validate(e cldf.Environment, selectors []uint64) error { } } case chain_selectors.FamilySolana: - state, err := commonState.MaybeLoadMCMSWithTimelockStateSolana(e, []uint64{chainSelector}) + state, err := solstate.MaybeLoadMCMSWithTimelockState(e, []uint64{chainSelector}) if err != nil { return err } @@ -308,7 +308,7 @@ func setConfigSolana( timelockAddressesPerChain, proposerMcmsPerChain map[uint64]string, useMCMS bool, ) ([]mcmstypes.BatchOperation, error) { chain := e.BlockChains.SolanaChains()[chainSelector] - mcmsStatePerChain, err := commonState.MaybeLoadMCMSWithTimelockStateSolana(e, []uint64{chainSelector}) + mcmsStatePerChain, err := solstate.MaybeLoadMCMSWithTimelockState(e, []uint64{chainSelector}) if err != nil { return nil, err } diff --git a/deployment/common/changeset/set_config_mcms_test.go b/deployment/common/changeset/set_config_mcms_test.go index 2042baa3d9c..ea2243cbc42 100644 --- a/deployment/common/changeset/set_config_mcms_test.go +++ b/deployment/common/changeset/set_config_mcms_test.go @@ -10,6 +10,7 @@ import ( solanago "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" "github.com/smartcontractkit/mcms/sdk/evm" "github.com/smartcontractkit/mcms/sdk/solana" mcmstypes "github.com/smartcontractkit/mcms/types" @@ -27,7 +28,6 @@ import ( commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" commonchangesetsolana "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" @@ -195,7 +195,7 @@ func TestSetConfigMCMSV2Solana(t *testing.T) { // Load the MCMS state addrs, err := rt.State().AddressBook.AddressesForChain(selector) require.NoError(t, err) - mcmsState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(chain, addrs) + mcmsState, err := solstate.MaybeLoadMCMSWithTimelockChainState(chain, addrs) require.NoError(t, err) // Fund the signer PDAs for the MCMS contracts @@ -496,7 +496,7 @@ func TestValidateV2(t *testing.T) { } func assertSolConfigEquals( - t *testing.T, inspector *solana.Inspector, programID solanago.PublicKey, seed state.PDASeed, want mcmstypes.Config, + t *testing.T, inspector *solana.Inspector, programID solanago.PublicKey, seed solstate.PDASeed, want mcmstypes.Config, ) { t.Helper() diff --git a/deployment/common/changeset/solana/fund_mcm_pdas.go b/deployment/common/changeset/solana/fund_mcm_pdas.go index 9b8e653e43d..ee6aa9f604d 100644 --- a/deployment/common/changeset/solana/fund_mcm_pdas.go +++ b/deployment/common/changeset/solana/fund_mcm_pdas.go @@ -6,12 +6,10 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - - cldchangesetssolana "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" - - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" ) var _ cldf.ChangeSetV2[FundMCMSignerConfig] = FundMCMSignersChangeset{} @@ -44,7 +42,7 @@ func (f FundMCMSignersChangeset) VerifyPreconditions(e cldf.Environment, config if err != nil { return fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addreses) if err != nil { return fmt.Errorf("failed to load MCMS state: %w", err) } @@ -77,35 +75,35 @@ func (f FundMCMSignersChangeset) Apply(e cldf.Environment, config FundMCMSignerC if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to get existing addresses: %w", err) } - mcmState, err := state.MaybeLoadMCMSWithTimelockChainStateSolana(solChain, addreses) + mcmState, err := solstate.MaybeLoadMCMSWithTimelockChainState(solChain, addreses) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to load MCMS state: %w", err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed)}, + []solana.PublicKey{pdasol.GetTimelockSignerPDA(mcmState.TimelockProgram, mcmState.TimelockSeed)}, cfgAmounts.Timelock) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund timelock signer on chain %d: %w", chainSelector, err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, + []solana.PublicKey{pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.ProposerMcmSeed)}, cfgAmounts.ProposeMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund MCMS proposer on chain %d: %w", chainSelector, err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, + []solana.PublicKey{pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.CancellerMcmSeed)}, cfgAmounts.CancellerMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund MCMS canceller on chain %d: %w", chainSelector, err) } - err = cldchangesetssolana.FundFromDeployerKey( + err = solstate.FundFromDeployerKey( solChain, - []solana.PublicKey{state.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, + []solana.PublicKey{pdasol.GetMCMSignerPDA(mcmState.McmProgram, mcmState.BypasserMcmSeed)}, cfgAmounts.BypasserMCM) if err != nil { return cldf.ChangesetOutput{}, fmt.Errorf("failed to fund mcm bypasser on chain %d: %w", chainSelector, err) diff --git a/deployment/common/proposalutils/propose.go b/deployment/common/proposalutils/propose.go index 16058f440cc..632c82f7aa8 100644 --- a/deployment/common/proposalutils/propose.go +++ b/deployment/common/proposalutils/propose.go @@ -27,7 +27,8 @@ import ( cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" tonstate "github.com/smartcontractkit/chainlink-ton/deployment/state" - "github.com/smartcontractkit/chainlink/deployment/common/changeset/state" + solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + ccipTypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) @@ -43,7 +44,7 @@ type TimelockConfig struct { ValidDuration *commonconfig.Duration `json:"validDuration" yaml:"validDuration"` } -func (tc *TimelockConfig) MCMBasedOnActionSolana(s state.MCMSWithTimelockStateSolana) (string, error) { +func (tc *TimelockConfig) MCMBasedOnActionSolana(s solstate.MCMSWithTimelockState) (string, error) { // if MCMSAction is not set, default to timelock.Schedule, this is to ensure no breaking changes for existing code if tc.MCMSAction == "" { tc.MCMSAction = types.TimelockActionSchedule @@ -413,16 +414,16 @@ func buildProposalMetadataV2( return proposalChainMetadata, nil } -func getSolanaState(env cldf.Environment, selector uint64) (*state.MCMSWithTimelockStateSolana, error) { +func getSolanaState(env cldf.Environment, selector uint64) (*solstate.MCMSWithTimelockState, error) { solanaChains := env.BlockChains.SolanaChains() addresses, err := env.ExistingAddresses.AddressesForChain(selector) - solanaState, err1 := state.MaybeLoadMCMSWithTimelockChainStateSolana(solanaChains[selector], addresses) + solanaState, err1 := solstate.MaybeLoadMCMSWithTimelockChainState(solanaChains[selector], addresses) if err == nil { return solanaState, nil } env.Logger.Info("failed to load MCMSState from address book") - solanaState, err2 := state.MaybeLoadMCMSWithTimelockChainStateSolanaV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(selector))) + solanaState, err2 := solstate.MaybeLoadMCMSWithTimelockChainStateV2(env.DataStore.Addresses().Filter(datastore.AddressRefByChainSelector(selector))) if err2 != nil { return nil, fmt.Errorf("failed to load solana state: %w", errors.Join(err1, err2)) } @@ -438,7 +439,7 @@ func getSolanaState(env cldf.Environment, selector uint64) (*state.MCMSWithTimel func AggregateProposals( env cldf.Environment, mcmsEVMState map[uint64]evmstate.MCMSWithTimelockState, - mcmsSolanaState map[uint64]state.MCMSWithTimelockStateSolana, + mcmsSolanaState map[uint64]solstate.MCMSWithTimelockState, proposals []mcmslib.TimelockProposal, description string, mcmsConfig *TimelockConfig, @@ -457,7 +458,7 @@ func AggregateProposals( type MCMSStates struct { MCMSEVMState map[uint64]evmstate.MCMSWithTimelockState - MCMSSolanaState map[uint64]state.MCMSWithTimelockStateSolana + MCMSSolanaState map[uint64]solstate.MCMSWithTimelockState MCMSAptosState map[uint64]aptos.AccountAddress MCMSTONState map[uint64]tonstate.MCMSChainState } From 7b6bc0646cb3741b72673938ace2783636ec23b9 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 10:39:05 -0600 Subject: [PATCH 16/25] fix: bump cld-changesets --- core/scripts/go.mod | 2 +- core/scripts/go.sum | 4 ++-- deployment/go.mod | 2 +- deployment/go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 4 ++-- system-tests/lib/go.mod | 2 +- system-tests/lib/go.sum | 4 ++-- system-tests/tests/go.mod | 2 +- system-tests/tests/go.sum | 4 ++-- 12 files changed, 18 insertions(+), 18 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 5504df55288..57aa6a0b7f9 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -518,7 +518,7 @@ 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.20260508202457-b23510269842 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 // 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 diff --git a/core/scripts/go.sum b/core/scripts/go.sum index d1f7975d2d4..9023deccd59 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1731,8 +1731,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/deployment/go.mod b/deployment/go.mod index 845c4bfb064..a3ad01608d1 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -59,7 +59,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.5 github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 - github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 diff --git a/deployment/go.sum b/deployment/go.sum index 4570d143e91..beaabbd1d41 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1468,8 +1468,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 10e52ee252c..c2d0ba6db5b 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -44,7 +44,7 @@ require ( github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 github.com/smartcontractkit/chainlink/v2 v2.29.0 - github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 450cd6ea5c9..614cf47341d 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1451,8 +1451,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 43ff26223f6..938c1a60dd5 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -512,7 +512,7 @@ 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.20260508202457-b23510269842 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 // 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/libocr v0.0.0-20260403184524-b6409238958d // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 54a923b7492..eeafdb4a4d0 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1727,8 +1727,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 02c32263e04..27bf36526ed 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -481,7 +481,7 @@ 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.20260508202457-b23510269842 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 // 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 diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 23b6479b83b..b4f27e66ae4 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -1698,8 +1698,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 95c3110dd36..f1f5ca3bc70 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -160,7 +160,7 @@ require ( github.com/smartcontractkit/chainlink-protos/node-platform v0.0.0-20260430172634-acccf17ece83 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260421131224-c46cbfe7bc6c // indirect github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260427132612-76b9f754a556 // indirect - github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 // indirect github.com/stellar/go-stellar-sdk v0.1.0 // indirect github.com/stellar/go-xdr v0.0.0-20231122183749-b53fb00bcac2 // indirect go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index b2868723a34..0f9d1f76f65 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -1921,8 +1921,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202602181 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8 h1:ZhpUCMDFATsyS1B+6YaAxWYfh/WsVx9WWtYSOkl5V0g= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8/go.mod h1:96T5PZe9IRPcuMTnS2I2VGAtyDdkL5U9aWUykLtAYb8= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 h1:swEi/UNF62eoQaw0GkhcTWSxbKQ/EErs9keeFTTMzjA= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= From f172545f5c2e85b0d3551971157d8576d93631e1 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 11:52:36 -0600 Subject: [PATCH 17/25] fix: bump cld-changesets --- deployment/go.mod | 2 +- deployment/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/go.mod b/deployment/go.mod index a3ad01608d1..c262122ad66 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -59,7 +59,7 @@ require ( github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.5 github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 - github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 diff --git a/deployment/go.sum b/deployment/go.sum index beaabbd1d41..87dc170bb70 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1468,8 +1468,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 h1:FitDxi3A3eft25jdpzZ902l7WHzgWy3kRsSKsuwDrFg= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= From 676dd97a00737005edaff297fdcf98b7795d7484 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 12:28:05 -0600 Subject: [PATCH 18/25] fix: bump cld-changesets --- core/scripts/go.mod | 2 +- core/scripts/go.sum | 4 ++-- integration-tests/go.mod | 2 +- integration-tests/go.sum | 12 ++++++------ integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 12 ++++++------ system-tests/lib/go.mod | 2 +- system-tests/lib/go.sum | 12 ++++++------ system-tests/tests/go.mod | 2 +- system-tests/tests/go.sum | 4 ++-- 10 files changed, 27 insertions(+), 27 deletions(-) diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 510e973c5ae..d06d46a6a6f 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -518,7 +518,7 @@ 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.20260511163054-1004bb853cf5 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 // 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 diff --git a/core/scripts/go.sum b/core/scripts/go.sum index ea071af358a..160cc941f54 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1732,8 +1732,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 h1:FitDxi3A3eft25jdpzZ902l7WHzgWy3kRsSKsuwDrFg= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 1b543905393..3f9342f4fe8 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -44,7 +44,7 @@ require ( github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260430134932-681b7a7fe426 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 github.com/smartcontractkit/chainlink/v2 v2.29.0 - github.com/smartcontractkit/cld-changesets v0.3.1-0.20260508202457-b23510269842 + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d github.com/smartcontractkit/mcms v0.41.1 github.com/smartcontractkit/quarantine v0.0.0-20251203215908-fd0551c6adf9 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 69c56cdf02b..d53675e0973 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1360,10 +1360,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1452,8 +1452,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 h1:FitDxi3A3eft25jdpzZ902l7WHzgWy3kRsSKsuwDrFg= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index f4ddd1328ac..9a87b324d40 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -515,7 +515,7 @@ 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.20260508202457-b23510269842 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 // 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/libocr v0.0.0-20260403184524-b6409238958d // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 0072ee0e1ba..9089444c9b6 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1628,10 +1628,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1726,8 +1726,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 h1:FitDxi3A3eft25jdpzZ902l7WHzgWy3kRsSKsuwDrFg= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index f0b6d70131c..0549154c2bf 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -481,7 +481,7 @@ 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.20260508202457-b23510269842 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 // 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 diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 44730a0d93d..88796f9a197 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -1599,10 +1599,10 @@ github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530- github.com/smartcontractkit/chainlink-ccip/ccv/chains/evm v0.0.0-20260408145530-22e2d05695cd/go.mod h1:zLqdD2kBX7NsntBneclb2yrHhjFaJdoyA8dK5eimlrE= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74 h1:uRvSogvgIi3JhQGNYGmRr3GqTSbD0yG1jSgO7lHL5z4= github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260506144252-c100eabfda74/go.mod h1:LDCeKlQ6Ne0DYjI2RiqY2ZIO449FzjSHGc04TLszh68= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74 h1:D03Y3PxaeMgK34N7zCOhc+86mw6FPalESR2Cl6x9728= -github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260506144252-c100eabfda74/go.mod h1:xu0Jum/nGRkjBwT/Vq7WCElWOTBBkFRwG0ZIaw9tF2I= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74 h1:8etwBkRHwfWG54+1JldkPiYihu1bRwImvoqpGDrsXBU= -github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260506144252-c100eabfda74/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc h1:mvobZx5JV5PhG/9IXPReV+8mAGnupl0HIWQZ43zxzd4= +github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:gzCVLUlNov/zFXSC7G6zcGkZU1IfNOHaakbAPDe5Woc= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc h1:War93neyFmv7pzuElZeZC3qc/OfGtLvEXvqL3qeBfM0= +github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72 h1:WJ+KO7/UgwoQoVVj1Hl+4MuzTW4/3I+wYxqgABLQyC0= github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260504204047-af9826978b72/go.mod h1:Ls0oszLvhzV3/D0ivG85sh8qmmcsVhKplmepQdFq98E= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260428133800-3b1484e8b1fd h1:IMopuENFVS63AerRELdfWo6o60UNUidcldJOxJLmk24= @@ -1699,8 +1699,8 @@ github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c63 github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a/go.mod h1:1eaXR+Fe6TlpP+CKXozfYlFM8QgN/N5C7OMvTRWNT8I= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b h1:RarA5fTnBzQY9wHhl6g7Ac7Nv0d/izr2/zuSWhveB4c= github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 h1:FitDxi3A3eft25jdpzZ902l7WHzgWy3kRsSKsuwDrFg= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index cc1471ecc1b..afad8aec9f5 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -162,7 +162,7 @@ require ( github.com/smartcontractkit/chainlink-protos/node-platform v0.0.0-20260430172634-acccf17ece83 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260421131224-c46cbfe7bc6c // indirect github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260427132612-76b9f754a556 // indirect - github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 // indirect + github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 // indirect github.com/stellar/go-stellar-sdk v0.1.0 // indirect github.com/stellar/go-xdr v0.0.0-20231122183749-b53fb00bcac2 // indirect go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index c4534feddcc..f4573a10809 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -1922,8 +1922,8 @@ github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.202602181 github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.5-0.20260218133534-cbd44da2856b/go.mod h1:ea1LESxlSSOgc2zZBqf1RTkXTMthHaspdqUHd7W4lF0= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8 h1:ZhpUCMDFATsyS1B+6YaAxWYfh/WsVx9WWtYSOkl5V0g= github.com/smartcontractkit/chainlink/system-tests/tests/smoke/cre/evmread v0.0.0-20250917232237-c4ecf802c6f8/go.mod h1:96T5PZe9IRPcuMTnS2I2VGAtyDdkL5U9aWUykLtAYb8= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5 h1:VU5T5iNP/zZJDoqjLe7fWVAK37c9Ix5AQc5WlourwJs= -github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511163054-1004bb853cf5/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849 h1:FitDxi3A3eft25jdpzZ902l7WHzgWy3kRsSKsuwDrFg= +github.com/smartcontractkit/cld-changesets v0.3.1-0.20260511171704-b04f4d990849/go.mod h1:MHVK1rkaNxvNgrTH1QjdP0Kk8Iq7o8AgnxIv2VBOfQw= github.com/smartcontractkit/cre-sdk-go v1.5.0 h1:kepW3QDKARrOOHjXwWAZ9j5KLk6bxLzvi6OMrLsFwVo= github.com/smartcontractkit/cre-sdk-go v1.5.0/go.mod h1:yYrQFz1UH7hhRbPO0q4fgo1tfsJNd4yXnI3oCZE0RzM= github.com/smartcontractkit/freeport v0.1.3-0.20250828155247-add56fa28aad h1:lgHxTHuzJIF3Vj6LSMOnjhqKgRqYW+0MV2SExtCYL1Q= From b7c342086d4b9c84735f9ed5dc153b5fd3718274 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 17:38:24 -0600 Subject: [PATCH 19/25] fix: unit tests --- .../solana/mcms/sequence/sequence.go | 30 +++++++++++++++++++ .../forwarder/solana/deploy_forwarder_test.go | 14 +++++---- .../changeset/solana/deploy_forwarder_test.go | 13 ++++---- 3 files changed, 47 insertions(+), 10 deletions(-) diff --git a/deployment/common/changeset/solana/mcms/sequence/sequence.go b/deployment/common/changeset/solana/mcms/sequence/sequence.go index 446c2b7e75a..f63ec84a883 100644 --- a/deployment/common/changeset/solana/mcms/sequence/sequence.go +++ b/deployment/common/changeset/solana/mcms/sequence/sequence.go @@ -1,11 +1,14 @@ package sequence import ( + "context" "errors" "fmt" "math/big" + "time" "github.com/gagliardetto/solana-go" + "github.com/gagliardetto/solana-go/rpc" mcmsTypes "github.com/smartcontractkit/mcms/types" "github.com/smartcontractkit/wsrpc/logger" @@ -233,6 +236,9 @@ func deployTimelock(b operations.Bundle, deps operation.Deps) error { if !programID.IsZero() { log.Infow("using existing Timelock program", "programId", programID.String()) + if err := waitForProgramExecutable(b.GetContext(), deps.Chain.Client, programID, 30*time.Second); err != nil { + return fmt.Errorf("timelock program not ready: %w", err) + } return nil } @@ -285,6 +291,30 @@ func initTimelock(b operations.Bundle, deps operation.Deps, minDelay *big.Int) e return err } +// waitForProgramExecutable polls until the program account is executable (validator may still be loading BPF). +func waitForProgramExecutable(ctx context.Context, client *rpc.Client, programID solana.PublicKey, maxWait time.Duration) error { + timeout := time.After(maxWait) + ticker := time.NewTicker(500 * time.Millisecond) + defer ticker.Stop() + + for { + select { + case <-timeout: + return fmt.Errorf("timed out waiting for program %s to be deployed", programID.String()) + case <-ctx.Done(): + return ctx.Err() + case <-ticker.C: + resp, err := client.GetAccountInfo(ctx, programID) + if err != nil { + continue + } + if resp != nil && resp.Value != nil && resp.Value.Executable { + return nil + } + } + } +} + func setupRoles(b operations.Bundle, deps operation.Deps) error { proposerPDA := pdasol.GetMCMSignerPDA(deps.State.McmProgram, deps.State.ProposerMcmSeed) cancellerPDA := pdasol.GetMCMSignerPDA(deps.State.McmProgram, deps.State.CancellerMcmSeed) diff --git a/deployment/cre/forwarder/solana/deploy_forwarder_test.go b/deployment/cre/forwarder/solana/deploy_forwarder_test.go index c6d1d74fa32..d4c6cd70d3c 100644 --- a/deployment/cre/forwarder/solana/deploy_forwarder_test.go +++ b/deployment/cre/forwarder/solana/deploy_forwarder_test.go @@ -179,12 +179,17 @@ func TestConfigureForwarder(t *testing.T) { NumChains: 1, }) - // Inject the solana chain into the environment + solChainsBySel := cldfchain.NewBlockChainsFromSlice(solChains).SolanaChains() + solChain, ok := solChainsBySel[solSel] + require.True(t, ok, "solana loader must return a solana chain for selector %d", solSel) + require.NotEmpty(t, solChain.ProgramsPath, "programs dir required for solana program deploy CLI") + + // Inject the solana chain into the environment (merge EVM first, then sol so sol is never overwritten). blockchains := make(map[uint64]cldfchain.BlockChain) - blockchains[solSel] = solChains[0] for _, ch := range te.Env.BlockChains.All() { blockchains[ch.ChainSelector()] = ch } + blockchains[solSel] = solChain te.Env.BlockChains = cldfchain.NewBlockChains(blockchains) ds := datastore.NewMemoryDataStore() @@ -207,7 +212,7 @@ func TestConfigureForwarder(t *testing.T) { mcmsState, err := solanaMCMS.DeployMCMSWithTimelockProgramsSolanaV2( rt.Environment(), ds, - rt.Environment().BlockChains.SolanaChains()[solSel], + solChain, commontypes.MCMSWithTimelockConfigV2{ Canceller: cldftesthelpers.SingleGroupMCMS(t), Proposer: cldftesthelpers.SingleGroupMCMS(t), @@ -217,8 +222,7 @@ func TestConfigureForwarder(t *testing.T) { ) require.NoError(t, err) - chain := te.Env.BlockChains.SolanaChains()[solSel] - soltestutils.FundSignerPDAs(t, chain, mcmsState) + soltestutils.FundSignerPDAs(t, solChain, mcmsState) var wfNodes []string for _, id := range te.GetP2PIDs("wfDon") { diff --git a/deployment/keystone/changeset/solana/deploy_forwarder_test.go b/deployment/keystone/changeset/solana/deploy_forwarder_test.go index 9cb76c28757..f042ad59a8d 100644 --- a/deployment/keystone/changeset/solana/deploy_forwarder_test.go +++ b/deployment/keystone/changeset/solana/deploy_forwarder_test.go @@ -173,12 +173,16 @@ func TestConfigureForwarder(t *testing.T) { NumChains: 1, }) - // Inject the solana chain into the environment + solChainsBySel := cldfchain.NewBlockChainsFromSlice(solChains).SolanaChains() + solChain, ok := solChainsBySel[solSel] + require.True(t, ok, "solana loader must return a solana chain for selector %d", solSel) + require.NotEmpty(t, solChain.ProgramsPath, "programs dir required for solana program deploy CLI") + blockchains := make(map[uint64]cldfchain.BlockChain) - blockchains[solSel] = solChains[0] for _, ch := range te.Env.BlockChains.All() { blockchains[ch.ChainSelector()] = ch } + blockchains[solSel] = solChain te.Env.BlockChains = cldfchain.NewBlockChains(blockchains) ds := datastore.NewMemoryDataStore() @@ -201,7 +205,7 @@ func TestConfigureForwarder(t *testing.T) { mcmsState, err := solanaMCMS.DeployMCMSWithTimelockProgramsSolanaV2( rt.Environment(), ds, - rt.Environment().BlockChains.SolanaChains()[solSel], + solChain, commontypes.MCMSWithTimelockConfigV2{ Canceller: cldftesthelpers.SingleGroupMCMS(t), Proposer: cldftesthelpers.SingleGroupMCMS(t), @@ -211,8 +215,7 @@ func TestConfigureForwarder(t *testing.T) { ) require.NoError(t, err) - chain := te.Env.BlockChains.SolanaChains()[solSel] - soltestutils.FundSignerPDAs(t, chain, mcmsState) + soltestutils.FundSignerPDAs(t, solChain, mcmsState) var wfNodes []string for _, id := range te.GetP2PIDs("wfDon") { From 072709d32b18a87172aa204cda662dd819602362 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 18:34:21 -0600 Subject: [PATCH 20/25] chore: update GasBoostConfig and MCMSWithTimelockConfig to import from cldf --- .../changeset/solana_v0_1_0/cs_deploy_chain.go | 3 ++- .../changeset/solana_v0_1_1/cs_deploy_chain.go | 3 ++- .../changeset/testhelpers/test_environment.go | 15 +++++++++------ .../testhelpers/test_helpers_solana_v0_1_0.go | 3 ++- .../testhelpers/test_helpers_solana_v0_1_1.go | 4 ++-- .../changeset/testhelpers/test_token_helpers.go | 7 ++++--- .../ccip/changeset/v1_6/cs_add_new_chain_e2e.go | 12 ++++++------ .../ccip/sequence/evm/v1_6/seq_deploy_chain.go | 6 +++--- .../changeset/deploy_mcms_with_timelock.go | 8 ++++---- deployment/common/changeset/evm/mcms/mcms.go | 4 ++-- .../mcms/seqs/seq_grant_roles_for_timelock.go | 16 +++++++++------- .../evm/mcms/seqs/seq_mcm_with_config.go | 12 +++++++----- deployment/common/changeset/solana/mcms/mcms.go | 3 ++- deployment/common/opsutils/evm.go | 11 +++++------ deployment/common/opsutils/evm_test.go | 11 ++++++----- deployment/common/types/types.go | 16 +++++++++------- deployment/cre/mcms/changeset/configure.go | 4 ++-- deployment/cre/mcms/changeset/deploy.go | 7 ++++--- deployment/cre/test/env_setup.go | 8 ++++---- deployment/environment/crib/ccip_deployer.go | 7 ++++--- deployment/keystone/changeset/test/env_setup.go | 8 ++++---- 21 files changed, 92 insertions(+), 76 deletions(-) diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go index 3b6b2dff732..1bf1e0eeb8e 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go @@ -10,6 +10,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" chainsel "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" @@ -76,7 +77,7 @@ type DeployChainContractsConfig struct { BurnMintTokenPoolMetadata string LockReleaseTokenPoolMetadata string // if specified, the mcms contracts will be deployed and initialized if they are not already deployed - MCMSWithTimelockConfig *types.MCMSWithTimelockConfigV2 + MCMSWithTimelockConfig *cldfproposalutils.MCMSWithTimelockConfig } type ChainContractParams struct { diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go index e0e7622f0f1..460212ba16a 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go @@ -9,6 +9,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" @@ -78,7 +79,7 @@ type DeployChainContractsConfig struct { BurnMintTokenPoolMetadata []string LockReleaseTokenPoolMetadata []string // if specified, the mcms contracts will be deployed and initialized if they are not already deployed - MCMSWithTimelockConfig *types.MCMSWithTimelockConfigV2 + MCMSWithTimelockConfig *cldfproposalutils.MCMSWithTimelockConfig } type ChainContractParams struct { diff --git a/deployment/ccip/changeset/testhelpers/test_environment.go b/deployment/ccip/changeset/testhelpers/test_environment.go index 4d479f6d6fd..90fc6923195 100644 --- a/deployment/ccip/changeset/testhelpers/test_environment.go +++ b/deployment/ccip/changeset/testhelpers/test_environment.go @@ -20,6 +20,8 @@ import ( solBinary "github.com/gagliardetto/binary" solanago "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" "github.com/xssnick/tonutils-go/address" @@ -73,6 +75,7 @@ import ( "github.com/smartcontractkit/chainlink-ccip/pluginconfig" "github.com/smartcontractkit/chainlink-common/keystore/corekeys/p2pkey" + "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/globals" ccipChangeSetSolana "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/solana_v0_1_0" @@ -725,9 +728,9 @@ func NewEnvironmentWithPrerequisitesContracts(t *testing.T, tEnv TestEnvironment e := NewEnvironment(t, tEnv) evmChains := e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilyEVM)) solChains := e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilySolana)) - mcmsCfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + mcmsCfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, c := range e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilyEVM)) { - mcmsCfg[c] = proposalutils.SingleGroupTimelockConfigV2(t) + mcmsCfg[c] = cldftesthelpers.SingleGroupTimelockConfig(t) } prereqCfg := make([]changeset.DeployPrerequisiteConfigPerChain, 0) for _, chain := range evmChains { @@ -855,7 +858,7 @@ func NewEnvironmentWithJobsAndContracts(t *testing.T, tEnv TestEnvironment) Depl } func DeployChainContractsToSolChainCSV0_1_1(e DeployedEnv, solChainSelector uint64, preload bool, buildSolConfig *ccipChangeSetSolanaV0_1_1.BuildSolanaConfig) ([]commonchangeset.ConfiguredChangeSet, error) { - var mcmsCfg *commontypes.MCMSWithTimelockConfigV2 + var mcmsCfg *cldfproposalutils.MCMSWithTimelockConfig if preload { // Pre load default programs err := SavePreloadedSolAddresses(e.Env, solChainSelector) @@ -863,7 +866,7 @@ func DeployChainContractsToSolChainCSV0_1_1(e DeployedEnv, solChainSelector uint return nil, err } } else { - mcmsCfg = &commontypes.MCMSWithTimelockConfigV2{ + mcmsCfg = &cldfproposalutils.MCMSWithTimelockConfig{ Proposer: mcmstypes.Config{ Quorum: 1, Signers: []common.Address{common.HexToAddress("0x0000000000000000000000000000000000000001")}, @@ -927,7 +930,7 @@ func DeployChainContractsToSolChainCSV0_1_1(e DeployedEnv, solChainSelector uint } func DeployChainContractsToSolChainCS(e DeployedEnv, solChainSelector uint64, preload bool, buildSolConfig *ccipChangeSetSolanaV0_1_1.BuildSolanaConfig) ([]commonchangeset.ConfiguredChangeSet, error) { - var mcmsCfg *commontypes.MCMSWithTimelockConfigV2 + var mcmsCfg *cldfproposalutils.MCMSWithTimelockConfig if preload { // Pre load default programs err := SavePreloadedSolAddresses(e.Env, solChainSelector) @@ -935,7 +938,7 @@ func DeployChainContractsToSolChainCS(e DeployedEnv, solChainSelector uint64, pr return nil, err } } else { - mcmsCfg = &commontypes.MCMSWithTimelockConfigV2{ + mcmsCfg = &cldfproposalutils.MCMSWithTimelockConfig{ Proposer: mcmstypes.Config{ Quorum: 1, Signers: []common.Address{common.HexToAddress("0x0000000000000000000000000000000000000001")}, diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go index 70e2f7b1f06..1675bbb4eeb 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go @@ -24,6 +24,7 @@ import ( "github.com/gagliardetto/solana-go/programs/token" "github.com/gagliardetto/solana-go/rpc" chainsel "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" @@ -2448,7 +2449,7 @@ func TransferOwnershipSolanaV0_1_0( *e, _, err = commoncs.ApplyChangesets(t, *e, []commoncs.ConfiguredChangeSet{ commoncs.Configure( cldf.CreateLegacyChangeSet(commoncs.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ solSelector: { Canceller: cldftesthelpers.SingleGroupMCMS(t), Proposer: cldftesthelpers.SingleGroupMCMS(t), diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go index 94e7aa26902..e142ecd1770 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go @@ -15,6 +15,7 @@ import ( "github.com/gagliardetto/solana-go" addresslookuptable "github.com/gagliardetto/solana-go/programs/address-lookup-table" "github.com/gagliardetto/solana-go/rpc" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/stretchr/testify/require" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" @@ -50,7 +51,6 @@ import ( solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" commoncs "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/deployment/utils/solutils" ) @@ -66,7 +66,7 @@ func TransferOwnershipSolanaV0_1_1( *e, _, err = commoncs.ApplyChangesets(t, *e, []commoncs.ConfiguredChangeSet{ commoncs.Configure( cldf.CreateLegacyChangeSet(commoncs.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ solSelector: { Canceller: cldftesthelpers.SingleGroupMCMS(t), Proposer: cldftesthelpers.SingleGroupMCMS(t), diff --git a/deployment/ccip/changeset/testhelpers/test_token_helpers.go b/deployment/ccip/changeset/testhelpers/test_token_helpers.go index b7548b7f6d0..55a2fbdfd8d 100644 --- a/deployment/ccip/changeset/testhelpers/test_token_helpers.go +++ b/deployment/ccip/changeset/testhelpers/test_token_helpers.go @@ -9,6 +9,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" chain_selectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_1/token_pool" @@ -22,6 +23,7 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/v1_5_1" @@ -30,7 +32,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commoncs "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) const ( @@ -83,9 +84,9 @@ func SetupTwoChainEnvironmentWithTokens( } } - mcmsCfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + mcmsCfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, selector := range selectors { - mcmsCfg[selector] = proposalutils.SingleGroupTimelockConfigV2(t) + mcmsCfg[selector] = cldftesthelpers.SingleGroupTimelockConfig(t) } // Deploy one burn-mint token per chain to use in the tests diff --git a/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go b/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go index 68a3bb8c498..1da21c0ba35 100644 --- a/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go +++ b/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go @@ -8,6 +8,7 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" mcmslib "github.com/smartcontractkit/mcms" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -20,13 +21,12 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" - commoncs "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-ccip/chains/evm/gobindings/generated/v1_6_0/don_id_claimer" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_3/fee_quoter" + commoncs "github.com/smartcontractkit/chainlink/deployment/common/changeset" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" + "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/types" ) @@ -102,7 +102,7 @@ type AddCandidatesForNewChainConfig struct { // RemoteChains defines the remote chains to be connected to the new chain. RemoteChains []ChainDefinition `json:"remoteChains"` // MCMSDeploymentConfig configures the MCMS deployment to the new chain. - MCMSDeploymentConfig *commontypes.MCMSWithTimelockConfigV2 `json:"mcmsDeploymentConfig,omitempty"` + MCMSDeploymentConfig *cldfproposalutils.MCMSWithTimelockConfig `json:"mcmsDeploymentConfig,omitempty"` // MCMSConfig defines the MCMS configuration for the changeset. MCMSConfig *proposalutils.TimelockConfig `json:"mcmsConfig,omitempty"` // The offset to adjust the donID in DonIDClaimer (useful when certain DON IDs are dropped) @@ -285,7 +285,7 @@ func addCandidatesForNewChainLogic(e cldf.Environment, c AddCandidatesForNewChai // Deploy MCMS contracts if c.MCMSDeploymentConfig != nil { err = runAndSaveAddresses(func() (cldf.ChangesetOutput, error) { - return commoncs.DeployMCMSWithTimelockV2(e, map[uint64]commontypes.MCMSWithTimelockConfigV2{ + return commoncs.DeployMCMSWithTimelockV2(e, map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ c.NewChain.Selector: *c.MCMSDeploymentConfig, }) }, newAddresses, e.ExistingAddresses) diff --git a/deployment/ccip/sequence/evm/v1_6/seq_deploy_chain.go b/deployment/ccip/sequence/evm/v1_6/seq_deploy_chain.go index 96c2db1c824..77c82a4a203 100644 --- a/deployment/ccip/sequence/evm/v1_6/seq_deploy_chain.go +++ b/deployment/ccip/sequence/evm/v1_6/seq_deploy_chain.go @@ -7,6 +7,7 @@ import ( "sync" "github.com/Masterminds/semver/v3" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" @@ -24,7 +25,6 @@ import ( ccipopsv1_2 "github.com/smartcontractkit/chainlink/deployment/ccip/operation/evm/v1_2" ccipopsv1_6 "github.com/smartcontractkit/chainlink/deployment/ccip/operation/evm/v1_6" opsutil "github.com/smartcontractkit/chainlink/deployment/common/opsutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) type ChainContractParams struct { @@ -47,7 +47,7 @@ func (c ChainContractParams) Validate(selector uint64) error { type DeployChainContractsConfig struct { HomeChainSelector uint64 ContractParamsPerChain map[uint64]ChainContractParams - GasBoostConfigPerChain map[uint64]commontypes.GasBoostConfig + GasBoostConfigPerChain map[uint64]cldfproposalutils.GasBoostConfig } func (c DeployChainContractsConfig) Validate() error { @@ -107,7 +107,7 @@ type DeployChainContractsSeqConfig struct { DeployChainContractsConfig RMNHomeAddress common.Address AddressesPerChain map[uint64]CCIPAddresses - GasBoostConfigPerChain map[uint64]commontypes.GasBoostConfig + GasBoostConfigPerChain map[uint64]cldfproposalutils.GasBoostConfig } func (c DeployChainContractsSeqConfig) Validate() error { diff --git a/deployment/common/changeset/deploy_mcms_with_timelock.go b/deployment/common/changeset/deploy_mcms_with_timelock.go index 719ca75dc06..6f03e72061c 100644 --- a/deployment/common/changeset/deploy_mcms_with_timelock.go +++ b/deployment/common/changeset/deploy_mcms_with_timelock.go @@ -31,7 +31,7 @@ import ( // migrateAddressBookWithQualifiers migrates an address book to a data store, // applying custom qualifiers from MCMS configs when available -func migrateAddressBookWithQualifiers(ab cldf.AddressBook, cfgByChain map[uint64]types.MCMSWithTimelockConfigV2) (datastore.MutableDataStore, error) { +func migrateAddressBookWithQualifiers(ab cldf.AddressBook, cfgByChain map[uint64]cldfproposalutils.MCMSWithTimelockConfig) (datastore.MutableDataStore, error) { addrs, err := ab.Addresses() if err != nil { return nil, err @@ -87,7 +87,7 @@ func isMCMSContract(contractType string) bool { } var ( - _ cldf.ChangeSet[map[uint64]types.MCMSWithTimelockConfigV2] = DeployMCMSWithTimelockV2 + _ cldf.ChangeSet[map[uint64]cldfproposalutils.MCMSWithTimelockConfig] = DeployMCMSWithTimelockV2 // GrantRoleInTimeLock grants proposer, canceller, bypasser, executor, admin roles to the timelock contract with corresponding addresses if the // roles are not already set with the same addresses. @@ -99,7 +99,7 @@ var ( // DeployMCMSWithTimelockV2 deploys and initializes the MCM and Timelock contracts func DeployMCMSWithTimelockV2( - env cldf.Environment, cfgByChain map[uint64]types.MCMSWithTimelockConfigV2, + env cldf.Environment, cfgByChain map[uint64]cldfproposalutils.MCMSWithTimelockConfig, ) (cldf.ChangesetOutput, error) { newAddresses := cldf.NewMemoryAddressBook() @@ -170,7 +170,7 @@ func DeployMCMSWithTimelockV2( type GrantRoleInput struct { ExistingProposerByChain map[uint64]common.Address // if needed in the future, need to add bypasser and canceller here MCMS *proposalutils.TimelockConfig - GasBoostConfigPerChain map[uint64]types.GasBoostConfig + GasBoostConfigPerChain map[uint64]cldfproposalutils.GasBoostConfig } func grantRolePreconditions(e cldf.Environment, cfg GrantRoleInput) error { diff --git a/deployment/common/changeset/evm/mcms/mcms.go b/deployment/common/changeset/evm/mcms/mcms.go index 4b311216023..f900fb2e457 100644 --- a/deployment/common/changeset/evm/mcms/mcms.go +++ b/deployment/common/changeset/evm/mcms/mcms.go @@ -126,7 +126,7 @@ func DeployMCMSWithTimelockContractsEVM( env cldf.Environment, chain cldf_evm.Chain, ab cldf.AddressBook, - config commontypes.MCMSWithTimelockConfigV2, + config cldfproposalutils.MCMSWithTimelockConfig, state *evmstate.MCMSWithTimelockState, ) ([]operations.Report[any, any], error) { execReports := make([]operations.Report[any, any], 0) @@ -403,7 +403,7 @@ func GrantRolesForTimelock( chain cldf_evm.Chain, timelockContracts *cldfproposalutils.MCMSWithTimelockContracts, skipIfDeployerKeyNotAdmin bool, // If true, skip role grants if the deployer key is not an admin. - gasBoostConfig *commontypes.GasBoostConfig, + gasBoostConfig *cldfproposalutils.GasBoostConfig, ) (operations.SequenceReport[seqs.SeqGrantRolesTimelockInput, map[uint64][]opsutils.EVMCallOutput], error) { lggr := env.Logger ctx := env.GetContext() diff --git a/deployment/common/changeset/evm/mcms/seqs/seq_grant_roles_for_timelock.go b/deployment/common/changeset/evm/mcms/seqs/seq_grant_roles_for_timelock.go index 2dc38c08a06..03dfd85987c 100644 --- a/deployment/common/changeset/evm/mcms/seqs/seq_grant_roles_for_timelock.go +++ b/deployment/common/changeset/evm/mcms/seqs/seq_grant_roles_for_timelock.go @@ -8,12 +8,14 @@ import ( evmMcms "github.com/smartcontractkit/mcms/sdk/evm" mcmsTypes "github.com/smartcontractkit/mcms/types" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf_evm "github.com/smartcontractkit/chainlink-deployments-framework/chain/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" + "github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms/ops" "github.com/smartcontractkit/chainlink/deployment/common/opsutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/common/view/v1_0" ) @@ -28,12 +30,12 @@ type RolesAndAddresses struct { } type SeqGrantRolesTimelockInput struct { - ContractType cldf.ContractType `json:"contractType"` - ChainSelector uint64 `json:"chainSelector"` - Timelock common.Address `json:"timelock"` - RolesAndAddresses []RolesAndAddresses `json:"rolesAndAddresses"` - IsDeployerKeyAdmin bool `json:"isDeployerKeyAdmin"` - GasBoostConfig *commontypes.GasBoostConfig `json:"gasBoostConfig"` + ContractType cldf.ContractType `json:"contractType"` + ChainSelector uint64 `json:"chainSelector"` + Timelock common.Address `json:"timelock"` + RolesAndAddresses []RolesAndAddresses `json:"rolesAndAddresses"` + IsDeployerKeyAdmin bool `json:"isDeployerKeyAdmin"` + GasBoostConfig *cldfproposalutils.GasBoostConfig `json:"gasBoostConfig"` } type SeqGrantRolesTimelockOutput struct { diff --git a/deployment/common/changeset/evm/mcms/seqs/seq_mcm_with_config.go b/deployment/common/changeset/evm/mcms/seqs/seq_mcm_with_config.go index 3d3529cd63a..1f9738fbd96 100644 --- a/deployment/common/changeset/evm/mcms/seqs/seq_mcm_with_config.go +++ b/deployment/common/changeset/evm/mcms/seqs/seq_mcm_with_config.go @@ -5,6 +5,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/smartcontractkit/mcms/sdk" mcmsTypes "github.com/smartcontractkit/mcms/types" @@ -12,17 +13,18 @@ import ( cldf_evm "github.com/smartcontractkit/chainlink-deployments-framework/chain/evm" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/operations" + "github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms/ops" "github.com/smartcontractkit/chainlink/deployment/common/opsutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) type SeqDeployMCMWithConfigInput struct { - ContractType cldf.ContractType `json:"contractType"` - MCMConfig mcmsTypes.Config `json:"mcmConfig"` - ChainSelector uint64 `json:"chainSelector"` - GasBoostConfig *commontypes.GasBoostConfig `json:"gasBoostConfig"` - Qualifier *string `json:"qualifier"` + ContractType cldf.ContractType `json:"contractType"` + MCMConfig mcmsTypes.Config `json:"mcmConfig"` + ChainSelector uint64 `json:"chainSelector"` + GasBoostConfig *cldfproposalutils.GasBoostConfig `json:"gasBoostConfig"` + Qualifier *string `json:"qualifier"` } type SeqDeployMCMWithConfigOutput struct { diff --git a/deployment/common/changeset/solana/mcms/mcms.go b/deployment/common/changeset/solana/mcms/mcms.go index c870aab842c..6259e1c12df 100644 --- a/deployment/common/changeset/solana/mcms/mcms.go +++ b/deployment/common/changeset/solana/mcms/mcms.go @@ -8,6 +8,7 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" @@ -28,7 +29,7 @@ func DeployMCMSWithTimelockProgramsSolana( e cldf.Environment, chain cldf_solana.Chain, addressBook cldf.AddressBook, - config commontypes.MCMSWithTimelockConfigV2, + config cldfproposalutils.MCMSWithTimelockConfig, ) (*solstate.MCMSWithTimelockState, error) { addresses, err := e.ExistingAddresses.AddressesForChain(chain.Selector) if err != nil && !errors.Is(err, cldf.ErrChainNotFound) { diff --git a/deployment/common/opsutils/evm.go b/deployment/common/opsutils/evm.go index d20f1d3e622..5c8fdc18ed0 100644 --- a/deployment/common/opsutils/evm.go +++ b/deployment/common/opsutils/evm.go @@ -27,7 +27,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/operations" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) // EVMCallInput is the input structure for an EVM call operation. @@ -359,8 +358,8 @@ func CloneTransactOptsWithGas(opts *bind.TransactOpts, gasLimit uint64, gasPrice // GasBoostConfigsForChainMap creates a map of GasBoostConfig pointers for each chain in the provided chainMap. // If a chain selector exists in gasBoostConfigs, it uses that config; otherwise, it sets nil. -func GasBoostConfigsForChainMap[T any](chainMap map[uint64]T, gasBoostConfigs map[uint64]commontypes.GasBoostConfig) map[uint64]*commontypes.GasBoostConfig { - cfgs := make(map[uint64]*commontypes.GasBoostConfig, len(chainMap)) +func GasBoostConfigsForChainMap[T any](chainMap map[uint64]T, gasBoostConfigs map[uint64]cldfproposalutils.GasBoostConfig) map[uint64]*cldfproposalutils.GasBoostConfig { + cfgs := make(map[uint64]*cldfproposalutils.GasBoostConfig, len(chainMap)) if gasBoostConfigs == nil || chainMap == nil { // in either case, gas boosting should be empty return cfgs } @@ -379,7 +378,7 @@ func GasBoostConfigsForChainMap[T any](chainMap map[uint64]T, gasBoostConfigs ma // RetryDeploymentWithGasBoost is an ExecuteOption that retries EVM deployments with gas boosting. // It uses the provided GasBoostConfig to adjust the gas limit and gas price on each retry attempt. -func RetryDeploymentWithGasBoost[IN any](cfg *commontypes.GasBoostConfig) operations.ExecuteOption[EVMDeployInput[IN], cldf_evm.Chain] { +func RetryDeploymentWithGasBoost[IN any](cfg *cldfproposalutils.GasBoostConfig) operations.ExecuteOption[EVMDeployInput[IN], cldf_evm.Chain] { if cfg == nil { return withoutRetry[EVMDeployInput[IN], cldf_evm.Chain]() } @@ -402,7 +401,7 @@ func withoutRetry[IN, DEP any]() operations.ExecuteOption[IN, DEP] { // RetryCallWithGasBoost is an ExecuteOption that retries EVM calls with gas boosting. // It uses the provided GasBoostConfig to adjust the gas limit and gas price on each retry attempt. // If NoSend is true, it will not apply gas boosting since the transaction is never sent. -func RetryCallWithGasBoost[IN any](cfg *commontypes.GasBoostConfig) operations.ExecuteOption[EVMCallInput[IN], cldf_evm.Chain] { +func RetryCallWithGasBoost[IN any](cfg *cldfproposalutils.GasBoostConfig) operations.ExecuteOption[EVMCallInput[IN], cldf_evm.Chain] { // Use default retry option if no gas boost config is provided if cfg == nil { return operations.WithRetry[EVMCallInput[IN], cldf_evm.Chain]() @@ -422,7 +421,7 @@ func RetryCallWithGasBoost[IN any](cfg *commontypes.GasBoostConfig) operations.E }) } -func GetBoostedGasForAttempt(cfg commontypes.GasBoostConfig, attempt uint) (gasLimit uint64, gasPrice uint64) { +func GetBoostedGasForAttempt(cfg cldfproposalutils.GasBoostConfig, attempt uint) (gasLimit uint64, gasPrice uint64) { initialGasLimit := uint64(200_000) // 200k gasLimitIncrement := uint64(50_000) // 50k initialGasPrice := uint64(20_000_000_000) // 20 Gwei diff --git a/deployment/common/opsutils/evm_test.go b/deployment/common/opsutils/evm_test.go index 4edfaad4a72..75be18caff4 100644 --- a/deployment/common/opsutils/evm_test.go +++ b/deployment/common/opsutils/evm_test.go @@ -15,6 +15,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + chain_selectors "github.com/smartcontractkit/chain-selectors" mcmslib "github.com/smartcontractkit/mcms" mcmstypes "github.com/smartcontractkit/mcms/types" @@ -31,7 +33,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" "github.com/smartcontractkit/chainlink/deployment/common/opsutils" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) func TestCloneTransactOptsWithGas(t *testing.T) { @@ -56,7 +57,7 @@ func TestCloneTransactOptsWithGas(t *testing.T) { func TestGasBoostConfigsForChainMap(t *testing.T) { t.Parallel() chainMap := map[uint64]string{1: "a", 2: "b"} - gasBoostConfigs := map[uint64]commontypes.GasBoostConfig{ + gasBoostConfigs := map[uint64]cldfproposalutils.GasBoostConfig{ 1: {InitialGasLimit: 10}, } cfgs := opsutils.GasBoostConfigsForChainMap(chainMap, gasBoostConfigs) @@ -70,7 +71,7 @@ func TestGasBoostConfigsForChainMap(t *testing.T) { func TestGetBoostedGasForAttempt_DefaultsAndOverrides(t *testing.T) { t.Parallel() - cfg := commontypes.GasBoostConfig{} + cfg := cldfproposalutils.GasBoostConfig{} limit, price := opsutils.GetBoostedGasForAttempt(cfg, 0) assert.Equal(t, uint64(200_000), limit) assert.Equal(t, uint64(20_000_000_000), price) @@ -78,7 +79,7 @@ func TestGetBoostedGasForAttempt_DefaultsAndOverrides(t *testing.T) { assert.Equal(t, uint64(200_000+2*50_000), limit) assert.Equal(t, uint64(20_000_000_000+2*10_000_000_000), price) - cfg = commontypes.GasBoostConfig{ + cfg = cldfproposalutils.GasBoostConfig{ InitialGasLimit: 1000, GasLimitIncrement: 100, InitialGasPrice: 2000, @@ -91,7 +92,7 @@ func TestGetBoostedGasForAttempt_DefaultsAndOverrides(t *testing.T) { func TestRetryDeploymentWithGasBoost(t *testing.T) { t.Parallel() - cfg := &commontypes.GasBoostConfig{ + cfg := &cldfproposalutils.GasBoostConfig{ InitialGasLimit: 1000, GasLimitIncrement: 100, InitialGasPrice: 2000, diff --git a/deployment/common/types/types.go b/deployment/common/types/types.go index 9c1c71bc9d5..c46334d6c65 100644 --- a/deployment/common/types/types.go +++ b/deployment/common/types/types.go @@ -8,6 +8,8 @@ import ( "github.com/smartcontractkit/ccip-owner-contracts/pkg/config" mcmstypes "github.com/smartcontractkit/mcms/types" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" ) @@ -61,13 +63,13 @@ type MCMSWithTimelockConfig struct { // MCMSWithTimelockConfigV2 holds the configuration for an MCMS with timelock. // Note that this type already exists in types.go, but this one is using the new lib version. type MCMSWithTimelockConfigV2 struct { - Canceller mcmstypes.Config `json:"canceller"` - Bypasser mcmstypes.Config `json:"bypasser"` - Proposer mcmstypes.Config `json:"proposer"` - TimelockMinDelay *big.Int `json:"timelockMinDelay"` - Label *string `json:"label"` - GasBoostConfig *GasBoostConfig `json:"gasBoostConfig"` - Qualifier *string `json:"qualifier"` + Canceller mcmstypes.Config `json:"canceller"` + Bypasser mcmstypes.Config `json:"bypasser"` + Proposer mcmstypes.Config `json:"proposer"` + TimelockMinDelay *big.Int `json:"timelockMinDelay"` + Label *string `json:"label"` + GasBoostConfig *cldfproposalutils.GasBoostConfig `json:"gasBoostConfig"` + Qualifier *string `json:"qualifier"` } type OCRParameters struct { diff --git a/deployment/cre/mcms/changeset/configure.go b/deployment/cre/mcms/changeset/configure.go index a579b885153..7af607cad3e 100644 --- a/deployment/cre/mcms/changeset/configure.go +++ b/deployment/cre/mcms/changeset/configure.go @@ -4,9 +4,9 @@ import ( "errors" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/cre/contracts" ) @@ -15,7 +15,7 @@ type CsMCMSConfigure struct{} var _ cldf.ChangeSetV2[ConfigureChangesetInput] = CsMCMSConfigure{} type ContractConfiguration struct { - Config types.MCMSWithTimelockConfigV2 `json:"config,omitempty" yaml:"config,omitempty"` + Config cldfproposalutils.MCMSWithTimelockConfig `json:"config,omitempty" yaml:"config,omitempty"` } // MCMSConfigureChangesetInput is the input for the set MCMS configuration changeset. diff --git a/deployment/cre/mcms/changeset/deploy.go b/deployment/cre/mcms/changeset/deploy.go index 6f1270853b6..06d0c1664a2 100644 --- a/deployment/cre/mcms/changeset/deploy.go +++ b/deployment/cre/mcms/changeset/deploy.go @@ -6,10 +6,11 @@ import ( "net/url" "strconv" - commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + + commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" ) type CsMCMSDeploy struct{} @@ -55,7 +56,7 @@ func (CsMCMSDeploy) VerifyPreconditions(env cldf.Environment, input DeployChange } func (CsMCMSDeploy) Apply(env cldf.Environment, input DeployChangesetInput) (cldf.ChangesetOutput, error) { - mcmsConfigPerChain := make(map[uint64]commontypes.MCMSWithTimelockConfigV2, len(input.ChainSelectors)) + mcmsConfigPerChain := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig, len(input.ChainSelectors)) // we set the qualifier per chain selector for _, s := range input.ChainSelectors { q := input.Qualifier(s) diff --git a/deployment/cre/test/env_setup.go b/deployment/cre/test/env_setup.go index 7b0802a90d5..cfebe57b1ae 100644 --- a/deployment/cre/test/env_setup.go +++ b/deployment/cre/test/env_setup.go @@ -9,6 +9,8 @@ import ( "testing" "github.com/ethereum/go-ethereum/common" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" chain_selectors "github.com/smartcontractkit/chain-selectors" @@ -27,8 +29,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" changeset2 "github.com/smartcontractkit/chainlink/deployment/cre/capabilities_registry/v2/changeset" envtest "github.com/smartcontractkit/chainlink/deployment/environment/test" changeset3 "github.com/smartcontractkit/chainlink/deployment/keystone/changeset" @@ -231,8 +231,8 @@ func SetupEnvV2(t *testing.T, useMCMS bool) *EnvWrapperV2 { if useMCMS { t.Log("Setting up MCMS infrastructure...") - timelockCfgs := map[uint64]commontypes.MCMSWithTimelockConfigV2{ - registryChainSel: proposalutils.SingleGroupTimelockConfigV2(t), + timelockCfgs := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + registryChainSel: cldftesthelpers.SingleGroupTimelockConfig(t), } updatedEnv, mcmsErr := changeset.Apply(t, env, changeset.Configure( diff --git a/deployment/environment/crib/ccip_deployer.go b/deployment/environment/crib/ccip_deployer.go index 9e2a30b5dd9..cf81212bdb1 100644 --- a/deployment/environment/crib/ccip_deployer.go +++ b/deployment/environment/crib/ccip_deployer.go @@ -13,6 +13,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" "github.com/rs/zerolog" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" xerrgroup "golang.org/x/sync/errgroup" chainselectors "github.com/smartcontractkit/chain-selectors" @@ -28,6 +29,7 @@ import ( "github.com/smartcontractkit/chainlink-common/pkg/logger" cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + "github.com/smartcontractkit/chainlink/v2/core/services/relay" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset" @@ -55,7 +57,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/environment/devenv" ) @@ -97,13 +98,13 @@ func DeployHomeChainContracts(ctx context.Context, lggr logger.Logger, envConfig } p2pIDs := nodes.NonBootstraps().PeerIDs() - cfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + cfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, chain := range e.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chainselectors.FamilyEVM)) { mcmsConfig, err := mcmstypes.NewConfig(1, []common.Address{evmChains[chain].DeployerKey.From}, []mcmstypes.Config{}) if err != nil { return deployment.CapabilityRegistryConfig{}, e.ExistingAddresses, fmt.Errorf("failed to create mcms config: %w", err) } - cfg[chain] = commontypes.MCMSWithTimelockConfigV2{ + cfg[chain] = cldfproposalutils.MCMSWithTimelockConfig{ Canceller: mcmsConfig, Bypasser: mcmsConfig, Proposer: mcmsConfig, diff --git a/deployment/keystone/changeset/test/env_setup.go b/deployment/keystone/changeset/test/env_setup.go index 1c489dc3ec3..f4b6369cb0b 100644 --- a/deployment/keystone/changeset/test/env_setup.go +++ b/deployment/keystone/changeset/test/env_setup.go @@ -7,6 +7,8 @@ import ( "math" "testing" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "go.uber.org/zap/zapcore" @@ -24,8 +26,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment" 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/deployment/cre/contracts" "github.com/smartcontractkit/chainlink/deployment/cre/ocr3" envtest "github.com/smartcontractkit/chainlink/deployment/environment/test" @@ -374,10 +374,10 @@ func setupTestEnv(t *testing.T, c EnvWrapperConfig) EnvWrapper { if c.UseMCMS { // deploy, configure and xfer ownership of MCMS on all chains - timelockCfgs := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + timelockCfgs := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for sel := range evmChains { t.Logf("Enabling MCMS on chain %d", sel) - timelockCfgs[sel] = proposalutils.SingleGroupTimelockConfigV2(t) + timelockCfgs[sel] = cldftesthelpers.SingleGroupTimelockConfig(t) } env, err = commonchangeset.Apply(t, env, commonchangeset.Configure( From 4968721f11277291f36facefbbc2b07abd8b6dc5 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 22:31:14 -0600 Subject: [PATCH 21/25] chore: update MCMSWithTimelockConfig to import from cldf --- .../aptos/config/deploy_curse_mcms.go | 6 ++--- .../aptos/sequence/deploy_curse_mcms.go | 6 +++-- .../cs_orchestrate_changesets_test.go | 8 +++--- .../solana_v0_1_0/cs_deploy_chain.go | 3 ++- .../solana_v0_1_1/cs_deploy_chain.go | 3 ++- .../solana_v0_1_1/cs_deploy_chain_test.go | 4 ++- ...ransfer_ccip_to_mcms_with_timelock_test.go | 5 ++-- .../changeset/testhelpers/test_environment.go | 5 ++-- .../testhelpers/test_helpers_solana_v0_1_0.go | 3 ++- .../testhelpers/test_helpers_solana_v0_1_1.go | 3 ++- .../testhelpers/test_token_helpers.go | 3 ++- .../changeset/v1_6/cs_add_new_chain_e2e.go | 3 ++- .../v1_6/cs_add_new_chain_e2e_test.go | 5 ++-- .../v1_6/cs_add_registry_module_test.go | 19 ++++++------- .../changeset/v1_6/cs_deploy_chain_test.go | 8 +++--- .../v1_6/cs_deploy_registry_module_test.go | 12 ++++----- .../cs_translate_onramp_to_feequoter_test.go | 9 ++++--- .../deployergroup/deployer_group_test.go | 8 +++--- .../stateview/evm/validate_feequoter_test.go | 9 ++++--- .../ccip/shared/stateview/state_test.go | 7 +++-- .../deploy_mcms_with_timelock_test.go | 13 +++++---- .../common/changeset/evm/mcms/mcms_test.go | 3 +-- .../changeset/example/link_transfer_test.go | 4 +-- .../example/solana_transfer_mcm_test.go | 7 +++-- .../common/changeset/mcms_firedrill_test.go | 8 +++--- .../common/changeset/set_config_mcms_test.go | 27 ++++++++++--------- .../common/changeset/solana/mcms/mcms.go | 3 ++- .../common/changeset/solana/setup_test.go | 8 +++--- .../common/changeset/state/solana_test.go | 5 ++-- .../transfer_to_mcms_with_timelock_test.go | 18 +++++++------ .../common/proposalutils/propose_test.go | 3 +-- .../configure_capabilities_registry_test.go | 10 ++++--- .../v2/changeset/multiple_mcms_test.go | 12 ++++----- .../v2/changeset/update_don_test.go | 9 ++++--- deployment/cre/contracts/contracts_test.go | 5 ++-- .../cre/mcms/changeset/configure_test.go | 5 ++-- deployment/cre/mcms/changeset/deploy_test.go | 6 +++-- .../v2/changeset/fixture_test.go | 8 +++--- .../changeset/accept_ownership_test.go | 9 ++++--- .../changeset/confirm_aggregator_test.go | 8 +++--- .../changeset/new_feed_with_proxy_test.go | 8 +++--- .../changeset/propose_aggregator_test.go | 8 +++--- .../remove_dataid_proxy_mapping_test.go | 8 +++--- .../changeset/remove_feed_config_test.go | 8 +++--- .../data-feeds/changeset/remove_feed_test.go | 8 +++--- .../changeset/set_bundle_feed_config_test.go | 8 +++--- .../changeset/set_feed_admin_test.go | 8 +++--- .../changeset/set_feed_config_test.go | 8 +++--- .../changeset/update_data_id_proxy_test.go | 8 +++--- deployment/environment/crib/ccip_deployer.go | 3 ++- .../changeset/accept_ownership_test.go | 9 ++++--- .../keystone/changeset/test/env_setup.go | 5 ++-- .../changeset/batch_native_transfer_test.go | 7 +++-- deployment/vault/view/view_test.go | 8 +++--- 54 files changed, 237 insertions(+), 167 deletions(-) diff --git a/deployment/ccip/changeset/aptos/config/deploy_curse_mcms.go b/deployment/ccip/changeset/aptos/config/deploy_curse_mcms.go index 2136654fda0..37b9511c894 100644 --- a/deployment/ccip/changeset/aptos/config/deploy_curse_mcms.go +++ b/deployment/ccip/changeset/aptos/config/deploy_curse_mcms.go @@ -3,17 +3,17 @@ package config import ( "fmt" + cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" mcmstypes "github.com/smartcontractkit/mcms/types" - cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - "github.com/smartcontractkit/chainlink/deployment/common/types" ) // DeployCurseMCMSConfig holds per-chain configuration for deploying and // configuring a CurseMCMS contract on Aptos chains. type DeployCurseMCMSConfig struct { - CurseMCMSConfigPerChain map[uint64]types.MCMSWithTimelockConfigV2 + CurseMCMSConfigPerChain map[uint64]cldfproposalutils.MCMSWithTimelockConfig MCMSTimelockConfigPerChain map[uint64]proposalutils.TimelockConfig } diff --git a/deployment/ccip/changeset/aptos/sequence/deploy_curse_mcms.go b/deployment/ccip/changeset/aptos/sequence/deploy_curse_mcms.go index ad18d645427..40a0fd7b467 100644 --- a/deployment/ccip/changeset/aptos/sequence/deploy_curse_mcms.go +++ b/deployment/ccip/changeset/aptos/sequence/deploy_curse_mcms.go @@ -5,17 +5,19 @@ import ( aptosmcms "github.com/smartcontractkit/mcms/sdk/aptos" mcmstypes "github.com/smartcontractkit/mcms/types" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-deployments-framework/operations" + "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/aptos/dependency" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/aptos/operation" - "github.com/smartcontractkit/chainlink/deployment/common/types" ) // DeployCurseMCMSSeqInput holds the configuration for deploying CurseMCMS. type DeployCurseMCMSSeqInput struct { MCMSAddress aptos.AccountAddress CCIPAddress aptos.AccountAddress - CurseMCMS types.MCMSWithTimelockConfigV2 + CurseMCMS cldfproposalutils.MCMSWithTimelockConfig } // DeployCurseMCMSSeqOutput holds the deployed address and a CurseMCMS diff --git a/deployment/ccip/changeset/cs_orchestrate_changesets_test.go b/deployment/ccip/changeset/cs_orchestrate_changesets_test.go index 2673f0c4680..dc78fd25503 100644 --- a/deployment/ccip/changeset/cs_orchestrate_changesets_test.go +++ b/deployment/ccip/changeset/cs_orchestrate_changesets_test.go @@ -13,6 +13,9 @@ import ( "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -27,7 +30,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) var multiplyBy2 = operations.NewOperation( @@ -102,8 +104,8 @@ func newRuntimeWithMCMS(t *testing.T) *runtime.Runtime { require.NoError(t, err) err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) diff --git a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go index 1bf1e0eeb8e..37020ff2a7f 100644 --- a/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_0/cs_deploy_chain.go @@ -10,12 +10,13 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" chainsel "github.com/smartcontractkit/chain-selectors" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go index 460212ba16a..cd1b30e2baf 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain.go @@ -9,12 +9,13 @@ import ( "github.com/Masterminds/semver/v3" "github.com/gagliardetto/solana-go" chainsel "github.com/smartcontractkit/chain-selectors" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" "github.com/smartcontractkit/mcms" mcmsTypes "github.com/smartcontractkit/mcms/types" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go index 1205c38f356..955b5cc5c7b 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go +++ b/deployment/ccip/changeset/solana_v0_1_1/cs_deploy_chain_test.go @@ -12,6 +12,8 @@ import ( "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" @@ -39,7 +41,7 @@ func initialDeployCS(t *testing.T, e cldf.Environment, buildConfig *ccipChangese require.NoError(t, err) feeAggregatorPrivKey, _ := solana.NewRandomPrivateKey() feeAggregatorPubKey := feeAggregatorPrivKey.PublicKey() - mcmsConfig := proposalutils.SingleGroupTimelockConfigV2(t) + mcmsConfig := cldftesthelpers.SingleGroupTimelockConfig(t) solLinkTokenPrivKey, _ := solana.NewRandomPrivateKey() return []commonchangeset.ConfiguredChangeSet{ commonchangeset.Configure( diff --git a/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock_test.go b/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock_test.go index fdb4a791279..d13aaa9d894 100644 --- a/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock_test.go +++ b/deployment/ccip/changeset/solana_v0_1_1/transfer_ccip_to_mcms_with_timelock_test.go @@ -11,6 +11,8 @@ import ( chainselectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/smartcontractkit/chainlink-ccip/chains/solana/contracts/tests/testutils" @@ -38,7 +40,6 @@ import ( solanastateview "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview/solana" 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/deployment/internal/soltestutils" ) @@ -275,7 +276,7 @@ func prepareEnvironmentForOwnershipTransfer(t *testing.T) (cldf.Environment, sta ), commonchangeset.Configure( cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ solChainSel: { Canceller: cldftesthelpers.SingleGroupMCMS(t), Proposer: cldftesthelpers.SingleGroupMCMS(t), diff --git a/deployment/ccip/changeset/testhelpers/test_environment.go b/deployment/ccip/changeset/testhelpers/test_environment.go index 90fc6923195..d287af93662 100644 --- a/deployment/ccip/changeset/testhelpers/test_environment.go +++ b/deployment/ccip/changeset/testhelpers/test_environment.go @@ -20,14 +20,15 @@ import ( solBinary "github.com/gagliardetto/binary" solanago "github.com/gagliardetto/solana-go" chain_selectors "github.com/smartcontractkit/chain-selectors" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" - cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" "github.com/xssnick/tonutils-go/address" "github.com/xssnick/tonutils-go/tlb" "go.uber.org/zap/zapcore" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + ops "github.com/smartcontractkit/chainlink-ton/deployment/ccip" tonOperation "github.com/smartcontractkit/chainlink-ton/deployment/ccip/operation" "github.com/smartcontractkit/chainlink-ton/deployment/utils" diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go index 1675bbb4eeb..d4b8a8c0d69 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go @@ -24,11 +24,12 @@ import ( "github.com/gagliardetto/solana-go/programs/token" "github.com/gagliardetto/solana-go/rpc" chainsel "github.com/smartcontractkit/chain-selectors" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" cldlegacysolmcms "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" diff --git a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go index e142ecd1770..921475345a4 100644 --- a/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go +++ b/deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_1.go @@ -15,9 +15,10 @@ import ( "github.com/gagliardetto/solana-go" addresslookuptable "github.com/gagliardetto/solana-go/programs/address-lookup-table" "github.com/gagliardetto/solana-go/rpc" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" tonOps "github.com/smartcontractkit/chainlink-ton/deployment/ccip" diff --git a/deployment/ccip/changeset/testhelpers/test_token_helpers.go b/deployment/ccip/changeset/testhelpers/test_token_helpers.go index 55a2fbdfd8d..e04f1104078 100644 --- a/deployment/ccip/changeset/testhelpers/test_token_helpers.go +++ b/deployment/ccip/changeset/testhelpers/test_token_helpers.go @@ -9,9 +9,10 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" chain_selectors "github.com/smartcontractkit/chain-selectors" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_1/token_pool" "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-evm/gethwrappers/shared/generated/initial/burn_mint_erc677" diff --git a/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go b/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go index 1da21c0ba35..ae4f845361b 100644 --- a/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go +++ b/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e.go @@ -8,9 +8,10 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" mcmslib "github.com/smartcontractkit/mcms" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink/deployment" diff --git a/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e_test.go b/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e_test.go index 8b5bbc3d426..b460c919510 100644 --- a/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e_test.go +++ b/deployment/ccip/changeset/v1_6/cs_add_new_chain_e2e_test.go @@ -7,6 +7,7 @@ import ( "github.com/ethereum/go-ethereum/common" chain_selectors "github.com/smartcontractkit/chain-selectors" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/smartcontractkit/chainlink-ccip/chainconfig" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_2_0/router" @@ -398,7 +399,7 @@ func TestAddAndPromoteCandidatesForNewChain(t *testing.T) { // Build new chain configuration nodeInfo, err := deployment.NodeInfo(e.NodeIDs, e.Offchain) require.NoError(t, err, "must get node info") - mcmsDeploymentCfg := proposalutils.SingleGroupTimelockConfigV2(t) + mcmsDeploymentCfg := cldftesthelpers.SingleGroupTimelockConfig(t) newChain := newChainConfigHelper(newChainSelector, deployedEnvironment.FeedChainSel, linkAddress, &nodeInfo, len(nodeInfo.NonBootstraps().PeerIDs())) if test.ErrStr != "" { @@ -643,7 +644,7 @@ func TestValidateTransmitterAddresses(t *testing.T) { FeeQuoterDestChainConfig: v1_6.DefaultFeeQuoterDestChainConfig(true), } - mcmsDeploymentCfg := proposalutils.SingleGroupTimelockConfigV2(t) + mcmsDeploymentCfg := cldftesthelpers.SingleGroupTimelockConfig(t) donIDOffSet := uint32(0) state, err := stateview.LoadOnchainState(e) require.NoError(t, err, "must load onchain state") diff --git a/deployment/ccip/changeset/v1_6/cs_add_registry_module_test.go b/deployment/ccip/changeset/v1_6/cs_add_registry_module_test.go index 5a4e6ba4884..9c692c2193c 100644 --- a/deployment/ccip/changeset/v1_6/cs_add_registry_module_test.go +++ b/deployment/ccip/changeset/v1_6/cs_add_registry_module_test.go @@ -5,6 +5,8 @@ import ( "github.com/ethereum/go-ethereum/common" chain_selectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -16,7 +18,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) func TestAddRegistryModuleChangeset(t *testing.T) { @@ -49,8 +50,8 @@ func TestAddRegistryModuleChangeset(t *testing.T) { ), commonchangeset.Configure( cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ - chain1: proposalutils.SingleGroupTimelockConfigV2(t), + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + chain1: cldftesthelpers.SingleGroupTimelockConfig(t), }, ), commonchangeset.Configure( @@ -127,9 +128,9 @@ func TestAddRegistryModuleChangeset(t *testing.T) { }) } - mcmsConfigs := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + mcmsConfigs := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, chain := range chainSelectors { - mcmsConfigs[chain] = proposalutils.SingleGroupTimelockConfigV2(t) + mcmsConfigs[chain] = cldftesthelpers.SingleGroupTimelockConfig(t) } *env, err = commonchangeset.Apply(t, *env, @@ -230,8 +231,8 @@ func TestAddRegistryModuleChangeset(t *testing.T) { ), commonchangeset.Configure( cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ - chain1: proposalutils.SingleGroupTimelockConfigV2(t), + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + chain1: cldftesthelpers.SingleGroupTimelockConfig(t), }, ), commonchangeset.Configure( @@ -316,8 +317,8 @@ func TestAddRegistryModuleChangeset(t *testing.T) { ), commonchangeset.Configure( cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ - chain1: proposalutils.SingleGroupTimelockConfigV2(t), + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + chain1: cldftesthelpers.SingleGroupTimelockConfig(t), }, ), commonchangeset.Configure( diff --git a/deployment/ccip/changeset/v1_6/cs_deploy_chain_test.go b/deployment/ccip/changeset/v1_6/cs_deploy_chain_test.go index 429a0744f61..7374beeec79 100644 --- a/deployment/ccip/changeset/v1_6/cs_deploy_chain_test.go +++ b/deployment/ccip/changeset/v1_6/cs_deploy_chain_test.go @@ -5,6 +5,8 @@ import ( "github.com/Masterminds/semver/v3" "github.com/ethereum/go-ethereum/common" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" chain_selectors "github.com/smartcontractkit/chain-selectors" @@ -26,8 +28,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/opsutils" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) func TestDeployChainContractsChangeset(t *testing.T) { @@ -70,10 +70,10 @@ func testDeployChainContractsChangesetWithEnv(t *testing.T, e cldf.Environment, nodes, err := deployment.NodeInfo(e.NodeIDs, e.Offchain) require.NoError(t, err) p2pIds := nodes.NonBootstraps().PeerIDs() - cfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + cfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) contractParams := make(map[uint64]ccipseq.ChainContractParams) for _, chain := range e.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilyEVM)) { - cfg[chain] = proposalutils.SingleGroupTimelockConfigV2(t) + cfg[chain] = cldftesthelpers.SingleGroupTimelockConfig(t) contractParams[chain] = ccipseq.ChainContractParams{ FeeQuoterParams: ccipops.DefaultFeeQuoterParams(), OffRampParams: ccipops.DefaultOffRampParams(), diff --git a/deployment/ccip/changeset/v1_6/cs_deploy_registry_module_test.go b/deployment/ccip/changeset/v1_6/cs_deploy_registry_module_test.go index 06d3a1dd6be..7df78ca1e75 100644 --- a/deployment/ccip/changeset/v1_6/cs_deploy_registry_module_test.go +++ b/deployment/ccip/changeset/v1_6/cs_deploy_registry_module_test.go @@ -4,6 +4,8 @@ import ( "testing" chain_selectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -14,8 +16,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/v1_6" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) func TestDeployRegistryModuleChangeset(t *testing.T) { @@ -254,8 +254,8 @@ func TestDeployRegistryModuleChangeset(t *testing.T) { ), commonchangeset.Configure( cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ - chain1: proposalutils.SingleGroupTimelockConfigV2(t), + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + chain1: cldftesthelpers.SingleGroupTimelockConfig(t), }, ), ) @@ -302,9 +302,9 @@ func TestDeployRegistryModuleChangeset(t *testing.T) { }) } - mcmsConfigs := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + mcmsConfigs := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, chain := range chainSelectors { - mcmsConfigs[chain] = proposalutils.SingleGroupTimelockConfigV2(t) + mcmsConfigs[chain] = cldftesthelpers.SingleGroupTimelockConfig(t) } *env, err = commonchangeset.Apply(t, *env, diff --git a/deployment/ccip/changeset/v1_6/cs_translate_onramp_to_feequoter_test.go b/deployment/ccip/changeset/v1_6/cs_translate_onramp_to_feequoter_test.go index d0c8fee9783..56d17f88bbd 100644 --- a/deployment/ccip/changeset/v1_6/cs_translate_onramp_to_feequoter_test.go +++ b/deployment/ccip/changeset/v1_6/cs_translate_onramp_to_feequoter_test.go @@ -11,6 +11,9 @@ import ( "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink-evm/pkg/utils" cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" @@ -24,6 +27,7 @@ import ( "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_3/fee_quoter" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_0/token_admin_registry" + "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/testhelpers" @@ -37,7 +41,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" 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/ccipevm" ) @@ -433,10 +436,10 @@ func DeployUtil(t *testing.T, e *cldf.Environment, homeChainSel uint64) { nodes, err := deployment.NodeInfo(e.NodeIDs, e.Offchain) require.NoError(t, err) p2pIDs := nodes.NonBootstraps().PeerIDs() - cfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + cfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) contractParams := make(map[uint64]ccipseq.ChainContractParams) for _, chain := range e.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilyEVM)) { - cfg[chain] = proposalutils.SingleGroupTimelockConfigV2(t) + cfg[chain] = cldftesthelpers.SingleGroupTimelockConfig(t) contractParams[chain] = ccipseq.ChainContractParams{ FeeQuoterParams: ccipops.DefaultFeeQuoterParams(), OffRampParams: ccipops.DefaultOffRampParams(), diff --git a/deployment/ccip/shared/deployergroup/deployer_group_test.go b/deployment/ccip/shared/deployergroup/deployer_group_test.go index 5aade525c97..30089ef4ce0 100644 --- a/deployment/ccip/shared/deployergroup/deployer_group_test.go +++ b/deployment/ccip/shared/deployergroup/deployer_group_test.go @@ -12,6 +12,9 @@ import ( "github.com/stretchr/testify/require" "k8s.io/utils/ptr" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" mcmstypes "github.com/smartcontractkit/mcms/types" @@ -25,7 +28,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) type mintConfig struct { @@ -315,7 +317,7 @@ func TestDeployerGroupWithTimelockAddressQualifier(t *testing.T) { } e, _ := testhelpers.NewMemoryEnvironment(t, testhelpers.WithNumOfChains(2), testhelpers.WithPrerequisiteDeploymentOnly(nil)) - mcmsCfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + mcmsCfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) chain := e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chain_selectors.FamilyEVM))[selectorIndex] // update the test config to include the qualifier for the selected chain @@ -323,7 +325,7 @@ func TestDeployerGroupWithTimelockAddressQualifier(t *testing.T) { chain: linktokenOwnerQualifier, } // Create a MCMS config for deployment with qualifier for the selected chain - cfg := proposalutils.SingleGroupTimelockConfigV2(t) + cfg := cldftesthelpers.SingleGroupTimelockConfig(t) cfg.Qualifier = ptr.To(linktokenOwnerQualifier) mcmsCfg[chain] = cfg diff --git a/deployment/ccip/shared/stateview/evm/validate_feequoter_test.go b/deployment/ccip/shared/stateview/evm/validate_feequoter_test.go index ccad50577ed..5f7a72bef4d 100644 --- a/deployment/ccip/shared/stateview/evm/validate_feequoter_test.go +++ b/deployment/ccip/shared/stateview/evm/validate_feequoter_test.go @@ -12,6 +12,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/smartcontractkit/chainlink-evm/pkg/utils" @@ -37,8 +40,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" 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/ccipevm" ) @@ -333,11 +334,11 @@ func deployV16Contracts(t *testing.T, tenv *cldf.Environment, homeChainSel uint6 require.NoError(t, err) p2pIDs := nodes.NonBootstraps().PeerIDs() - cfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + cfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) contractParams := make(map[uint64]ccipseq.ChainContractParams) prereqCfg := make([]changeset.DeployPrerequisiteConfigPerChain, 0) for _, sel := range evmSelectors { - cfg[sel] = proposalutils.SingleGroupTimelockConfigV2(t) + cfg[sel] = cldftesthelpers.SingleGroupTimelockConfig(t) contractParams[sel] = ccipseq.ChainContractParams{ FeeQuoterParams: ccipops.DefaultFeeQuoterParams(), OffRampParams: ccipops.DefaultOffRampParams(), diff --git a/deployment/ccip/shared/stateview/state_test.go b/deployment/ccip/shared/stateview/state_test.go index 358ad70c088..991ec362a78 100644 --- a/deployment/ccip/shared/stateview/state_test.go +++ b/deployment/ccip/shared/stateview/state_test.go @@ -10,6 +10,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_0/commit_store" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_0/evm_2_evm_offramp" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_5_0/evm_2_evm_onramp" @@ -26,6 +28,7 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/testhelpers" "github.com/smartcontractkit/chainlink/deployment/ccip/shared" @@ -463,8 +466,8 @@ func TestEnforceMCMSUsageIfProd(t *testing.T) { } if test.DeployMCMS { - err = rt.Exec(runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - homeChainSelector: proposalutils.SingleGroupTimelockConfigV2(t), + err = rt.Exec(runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + homeChainSelector: cldftesthelpers.SingleGroupTimelockConfig(t), })) require.NoError(t, err, "failed to deploy MCMS") diff --git a/deployment/common/changeset/deploy_mcms_with_timelock_test.go b/deployment/common/changeset/deploy_mcms_with_timelock_test.go index a2538449680..f6c0ca93958 100644 --- a/deployment/common/changeset/deploy_mcms_with_timelock_test.go +++ b/deployment/common/changeset/deploy_mcms_with_timelock_test.go @@ -17,6 +17,9 @@ import ( "github.com/smartcontractkit/quarantine" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + timelockBindings "github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/v0_1_1/timelock" "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" @@ -52,8 +55,8 @@ func TestGrantRoleInTimeLock(t *testing.T) { // deploy the MCMS with timelock contracts configuredChangeset := commonchangeset.Configure( cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), - map[uint64]commontypes.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }, ) updatedEnv, err := commonchangeset.Apply(t, *env, configuredChangeset) @@ -170,7 +173,7 @@ func TestDeployMCMSWithTimelockV2WithFewExistingContracts(t *testing.T) { chain1 := rt.Environment().BlockChains.EVMChains()[selector1] - changesetConfig := map[uint64]commontypes.MCMSWithTimelockConfigV2{ + changesetConfig := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector1: { Proposer: mcmstypes.Config{ Quorum: 1, @@ -276,7 +279,7 @@ func TestDeployMCMSWithTimelockV2(t *testing.T) { evmChain := rt.Environment().BlockChains.EVMChains()[evmSelector] solChain := rt.Environment().BlockChains.SolanaChains()[solSelector] - changesetConfig := map[uint64]commontypes.MCMSWithTimelockConfigV2{ + changesetConfig := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ evmSelector: { Proposer: mcmstypes.Config{ Quorum: 1, @@ -461,7 +464,7 @@ func TestDeployMCMSWithTimelockV2SkipInitSolana(t *testing.T) { )) require.NoError(t, err) - changesetConfig := map[uint64]commontypes.MCMSWithTimelockConfigV2{ + changesetConfig := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: { Proposer: mcmstypes.Config{ Quorum: 1, diff --git a/deployment/common/changeset/evm/mcms/mcms_test.go b/deployment/common/changeset/evm/mcms/mcms_test.go index 9c69a95467e..2ec6b3a9791 100644 --- a/deployment/common/changeset/evm/mcms/mcms_test.go +++ b/deployment/common/changeset/evm/mcms/mcms_test.go @@ -16,7 +16,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/onchain" evminternal "github.com/smartcontractkit/chainlink/deployment/common/changeset/evm/mcms" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/v2/core/logger" ) @@ -75,7 +74,7 @@ func TestDeployMCMSWithTimelockContracts(t *testing.T) { _, err = evminternal.DeployMCMSWithTimelockContractsEVM(*env, chain, ab, - proposalutils.SingleGroupTimelockConfigV2(t), + cldftesthelpers.SingleGroupTimelockConfig(t), nil, ) require.NoError(t, err) diff --git a/deployment/common/changeset/example/link_transfer_test.go b/deployment/common/changeset/example/link_transfer_test.go index 0a492ee61c8..fd89e697e81 100644 --- a/deployment/common/changeset/example/link_transfer_test.go +++ b/deployment/common/changeset/example/link_transfer_test.go @@ -9,6 +9,7 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" chain_selectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" @@ -22,7 +23,6 @@ import ( "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/types" ) // setupLinkTransferRuntime deploys all required contracts on a simulated chain to run tests which @@ -42,7 +42,7 @@ func setupLinkTransferRuntime(t *testing.T) (*runtime.Runtime, uint64) { config := cldftesthelpers.SingleGroupMCMS(t) err = rt.Exec( runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployLinkToken), []uint64{selector}), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: { Canceller: config, Bypasser: config, diff --git a/deployment/common/changeset/example/solana_transfer_mcm_test.go b/deployment/common/changeset/example/solana_transfer_mcm_test.go index 8abfd92d907..054c6e4324f 100644 --- a/deployment/common/changeset/example/solana_transfer_mcm_test.go +++ b/deployment/common/changeset/example/solana_transfer_mcm_test.go @@ -12,6 +12,8 @@ import ( mcmsSolana "github.com/smartcontractkit/mcms/sdk/solana" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cldf_chain "github.com/smartcontractkit/chainlink-deployments-framework/chain" @@ -23,6 +25,7 @@ import ( pdasol "github.com/smartcontractkit/cld-changesets/pkg/family/solana" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink/deployment" "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/changeset/example" @@ -210,8 +213,8 @@ func TestTransferFromTimelockConfig_Apply(t *testing.T) { // Deploy MCMS and Timelock err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) diff --git a/deployment/common/changeset/mcms_firedrill_test.go b/deployment/common/changeset/mcms_firedrill_test.go index 6c629bbc051..9f73f359d51 100644 --- a/deployment/common/changeset/mcms_firedrill_test.go +++ b/deployment/common/changeset/mcms_firedrill_test.go @@ -7,6 +7,9 @@ import ( mcmsTypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -19,7 +22,6 @@ import ( 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/deployment/internal/soltestutils" "github.com/smartcontractkit/chainlink/deployment/utils/solutils" ) @@ -43,10 +45,10 @@ func TestMCMSSignFireDrillChangeset(t *testing.T) { solChain := rt.Environment().BlockChains.SolanaChains()[solSelector] // Deploy MCMS and Timelock - config := proposalutils.SingleGroupTimelockConfigV2(t) + config := cldftesthelpers.SingleGroupTimelockConfig(t) err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ evmSelector1: config, evmSelector2: config, solSelector: config, diff --git a/deployment/common/changeset/set_config_mcms_test.go b/deployment/common/changeset/set_config_mcms_test.go index ea2243cbc42..c59e1143bf3 100644 --- a/deployment/common/changeset/set_config_mcms_test.go +++ b/deployment/common/changeset/set_config_mcms_test.go @@ -16,6 +16,8 @@ import ( mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -29,7 +31,6 @@ import ( commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" commonchangesetsolana "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" ) @@ -48,11 +49,11 @@ func TestSetConfigMCMSV2EVM(t *testing.T) { chain1 := rt.Environment().BlockChains.EVMChains()[selector1] chain2 := rt.Environment().BlockChains.EVMChains()[selector2] - config := proposalutils.SingleGroupTimelockConfigV2(t) + config := cldftesthelpers.SingleGroupTimelockConfig(t) // Deploy MCMS and Timelock for selector1 & selector2 err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector1: config, selector2: config, }), @@ -186,8 +187,8 @@ func TestSetConfigMCMSV2Solana(t *testing.T) { // Deploy MCMS and Timelock err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) @@ -294,12 +295,12 @@ func TestValidateV2(t *testing.T) { )) require.NoError(t, err) - config := proposalutils.SingleGroupTimelockConfigV2(t) + config := cldftesthelpers.SingleGroupTimelockConfig(t) // Deploy MCMS and Timelock err = rt.Exec( runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployLinkToken), []uint64{evmSelector}), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ evmSelector: config, solSelector: config, }), @@ -532,21 +533,21 @@ func TestSetConfigMCMSV2WithTimelockQualifier(t *testing.T) { // Deploy two MCMS instances on the same chain with different qualifiers, // mirroring the production setup where each chain has CLLCCIP and RMNMCMS deployments - cllccipConfig := proposalutils.SingleGroupTimelockConfigV2(t) + cllccipConfig := cldftesthelpers.SingleGroupTimelockConfig(t) cllccipConfig.Qualifier = &cllccipQualifier - rmnmcmsConfig := proposalutils.SingleGroupTimelockConfigV2(t) + rmnmcmsConfig := cldftesthelpers.SingleGroupTimelockConfig(t) rmnmcmsConfig.Qualifier = &rmnmcmsQualifier err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: cllccipConfig, }), ) require.NoError(t, err) err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: rmnmcmsConfig, }), ) @@ -622,11 +623,11 @@ func TestSetConfigMCMSV2Partial(t *testing.T) { require.NoError(t, err) chain := rt.Environment().BlockChains.EVMChains()[selector] - config := proposalutils.SingleGroupTimelockConfigV2(t) + config := cldftesthelpers.SingleGroupTimelockConfig(t) // Deploy MCMS and Timelock err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: config, }), ) diff --git a/deployment/common/changeset/solana/mcms/mcms.go b/deployment/common/changeset/solana/mcms/mcms.go index 6259e1c12df..69366da4e20 100644 --- a/deployment/common/changeset/solana/mcms/mcms.go +++ b/deployment/common/changeset/solana/mcms/mcms.go @@ -8,9 +8,10 @@ import ( "github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go/rpc" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" solstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/solana" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf_solana "github.com/smartcontractkit/chainlink-deployments-framework/chain/solana" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" diff --git a/deployment/common/changeset/solana/setup_test.go b/deployment/common/changeset/solana/setup_test.go index 758b765160c..8980198e87e 100644 --- a/deployment/common/changeset/solana/setup_test.go +++ b/deployment/common/changeset/solana/setup_test.go @@ -4,6 +4,8 @@ import ( "testing" chainselectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -13,8 +15,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" "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/deployment/internal/soltestutils" ) @@ -33,8 +33,8 @@ func setupTest(t *testing.T) (*runtime.Runtime, uint64) { // Deploy MCMS and Timelock err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) diff --git a/deployment/common/changeset/state/solana_test.go b/deployment/common/changeset/state/solana_test.go index be8d589bcbd..5dc132fd861 100644 --- a/deployment/common/changeset/state/solana_test.go +++ b/deployment/common/changeset/state/solana_test.go @@ -15,13 +15,14 @@ import ( mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" solanaMCMS "github.com/smartcontractkit/chainlink/deployment/common/changeset/solana/mcms" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/internal/soltestutils" ) @@ -42,7 +43,7 @@ func TestMCMSWithTimelockState_GenerateMCMSWithTimelockViewSolana(t *testing.T) defaultState := func() *solstate.MCMSWithTimelockState { addressBook := cldf.NewMemoryAddressBook() mcmsState, err := solanaMCMS.DeployMCMSWithTimelockProgramsSolana(*env, chain, addressBook, - commontypes.MCMSWithTimelockConfigV2{ + cldfproposalutils.MCMSWithTimelockConfig{ Proposer: mcmstypes.Config{ Quorum: 1, Signers: []common.Address{common.HexToAddress("0x0000000000000000000000000000000000000001")}, diff --git a/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go b/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go index c9c9e9df549..b8281b62c56 100644 --- a/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go +++ b/deployment/common/changeset/transfer_to_mcms_with_timelock_test.go @@ -12,6 +12,8 @@ import ( evmstate "github.com/smartcontractkit/cld-changesets/legacy/pkg/family/evm" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-deployments-framework/datastore" "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" @@ -40,8 +42,8 @@ func TestTransferToMCMSWithTimelockV2(t *testing.T) { // Setup contracts err = rt.Exec( runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployLinkToken), []uint64{selector}), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) @@ -104,8 +106,8 @@ func TestTransferToMCMSWithTimelockV2DataStore(t *testing.T) { // Setup contracts err = rt.Exec( runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployLinkToken), []uint64{selector}), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) @@ -200,8 +202,8 @@ func TestRenounceTimelockDeployerConfigValidate(t *testing.T) { // Deploy MCMS to selector 1 only, so we have a chain without MCMS err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - selector1: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector1: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) @@ -267,8 +269,8 @@ func TestRenounceTimelockDeployer(t *testing.T) { chain := rt.Environment().BlockChains.EVMChains()[selector] err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) diff --git a/deployment/common/proposalutils/propose_test.go b/deployment/common/proposalutils/propose_test.go index 4eaa01142b6..d98523251c4 100644 --- a/deployment/common/proposalutils/propose_test.go +++ b/deployment/common/proposalutils/propose_test.go @@ -30,7 +30,6 @@ import ( "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/deployment/internal/soltestutils" ) @@ -55,7 +54,7 @@ func TestBuildProposalFromBatchesV2(t *testing.T) { config := cldftesthelpers.SingleGroupMCMS(t) err = rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ evmSelector: { Canceller: config, Bypasser: config, diff --git a/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry_test.go b/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry_test.go index a261b8b90e9..fe7f2ad7990 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry_test.go +++ b/deployment/cre/capabilities_registry/v2/changeset/configure_capabilities_registry_test.go @@ -14,6 +14,9 @@ import ( "google.golang.org/protobuf/testing/protocmp" "gopkg.in/yaml.v3" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -23,9 +26,8 @@ import ( capabilities_registry_v2 "github.com/smartcontractkit/chainlink-evm/gethwrappers/workflow/generated/capabilities_registry_wrapper_v2" "github.com/smartcontractkit/chainlink-common/keystore/corekeys/p2pkey" + 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/deployment/cre/capabilities_registry/v2/changeset" "github.com/smartcontractkit/chainlink/deployment/cre/capabilities_registry/v2/changeset/operations/contracts" "github.com/smartcontractkit/chainlink/deployment/cre/capabilities_registry/v2/changeset/pkg" @@ -554,8 +556,8 @@ func setupCapabilitiesRegistryWithMCMS(t *testing.T) *testFixture { // Deploy MCMS infrastructure first t.Log("Setting up MCMS infrastructure...") - timelockCfgs := map[uint64]commontypes.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + timelockCfgs := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), } err = rt.Exec( diff --git a/deployment/cre/capabilities_registry/v2/changeset/multiple_mcms_test.go b/deployment/cre/capabilities_registry/v2/changeset/multiple_mcms_test.go index a9ad5313a30..994e377dabc 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/multiple_mcms_test.go +++ b/deployment/cre/capabilities_registry/v2/changeset/multiple_mcms_test.go @@ -5,6 +5,8 @@ import ( "time" chainselectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -14,8 +16,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" 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/deployment/cre/common/strategies" crecontracts "github.com/smartcontractkit/chainlink/deployment/cre/contracts" ) @@ -34,10 +34,10 @@ func TestMultipleMCMSDeploymentsConflict(t *testing.T) { // Create Team A's MCMS config with qualifier teamAQualifier := "team-a" - teamAConfig := proposalutils.SingleGroupTimelockConfigV2(t) + teamAConfig := cldftesthelpers.SingleGroupTimelockConfig(t) teamAConfig.Qualifier = &teamAQualifier - teamATimelockCfgs := map[uint64]commontypes.MCMSWithTimelockConfigV2{ + teamATimelockCfgs := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: teamAConfig, } @@ -65,10 +65,10 @@ func TestMultipleMCMSDeploymentsConflict(t *testing.T) { // Create Team B's MCMS config with different qualifier teamBQualifier := "team-b" - teamBConfig := proposalutils.SingleGroupTimelockConfigV2(t) + teamBConfig := cldftesthelpers.SingleGroupTimelockConfig(t) teamBConfig.Qualifier = &teamBQualifier - teamBTimelockCfgs := map[uint64]commontypes.MCMSWithTimelockConfigV2{ + teamBTimelockCfgs := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: teamBConfig, } diff --git a/deployment/cre/capabilities_registry/v2/changeset/update_don_test.go b/deployment/cre/capabilities_registry/v2/changeset/update_don_test.go index 50a3dc076b6..979a0154b88 100644 --- a/deployment/cre/capabilities_registry/v2/changeset/update_don_test.go +++ b/deployment/cre/capabilities_registry/v2/changeset/update_don_test.go @@ -9,6 +9,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + chainselectors "github.com/smartcontractkit/chain-selectors" "github.com/smartcontractkit/chainlink-common/pkg/logger" @@ -20,8 +23,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" 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/deployment/cre/capabilities_registry/v2/changeset" "github.com/smartcontractkit/chainlink/deployment/cre/capabilities_registry/v2/changeset/operations/contracts" "github.com/smartcontractkit/chainlink/deployment/cre/capabilities_registry/v2/changeset/pkg" @@ -182,8 +183,8 @@ func setupRegistryForUpdateDON(t *testing.T, isWorkflow, useMCMS bool) *updFixtu } } - timelockCfgs := map[uint64]commontypes.MCMSWithTimelockConfigV2{ - selector: proposalutils.SingleGroupTimelockConfigV2(t), + timelockCfgs := map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + selector: cldftesthelpers.SingleGroupTimelockConfig(t), } updatedEnv, mcmsErr := commonchangeset.Apply(t, rt.Environment(), commonchangeset.Configure( diff --git a/deployment/cre/contracts/contracts_test.go b/deployment/cre/contracts/contracts_test.go index 032054e68ff..a494d0c7372 100644 --- a/deployment/cre/contracts/contracts_test.go +++ b/deployment/cre/contracts/contracts_test.go @@ -21,6 +21,7 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/smartcontractkit/chainlink/deployment" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" @@ -236,9 +237,9 @@ func TestNewOwnableV2(t *testing.T) { require.NoError(t, err) // Deploy the capability registry - mcmsCfg := make(map[uint64]types.MCMSWithTimelockConfigV2) + mcmsCfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, c := range rt.Environment().BlockChains.ListChainSelectors() { - mcmsCfg[c] = proposalutils.SingleGroupTimelockConfigV2(t) + mcmsCfg[c] = cldftesthelpers.SingleGroupTimelockConfig(t) } err = rt.Exec( runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), mcmsCfg), diff --git a/deployment/cre/mcms/changeset/configure_test.go b/deployment/cre/mcms/changeset/configure_test.go index 593089b03cd..1ae765c527c 100644 --- a/deployment/cre/mcms/changeset/configure_test.go +++ b/deployment/cre/mcms/changeset/configure_test.go @@ -9,13 +9,14 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + mcmsbindings "github.com/smartcontractkit/ccip-owner-contracts/pkg/gethwrappers" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" testenv "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" - "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/cre/mcms/changeset" "github.com/smartcontractkit/chainlink/deployment/cre/mcms/pkg" ) @@ -97,7 +98,7 @@ func TestMCMSConfiguration(t *testing.T) { } var updatedEOA = common.HexToAddress("0xA01E9eD15b18D3688D0B84D88a98ed750D56999C") -var testMCMSCfg2 = types.MCMSWithTimelockConfigV2{ +var testMCMSCfg2 = cldfproposalutils.MCMSWithTimelockConfig{ Proposer: pkg.MustGetMCMSConfig(1, []common.Address{updatedEOA}, nil), Bypasser: pkg.MustGetMCMSConfig(1, []common.Address{updatedEOA}, nil), Canceller: pkg.MustGetMCMSConfig(1, []common.Address{updatedEOA}, nil), diff --git a/deployment/cre/mcms/changeset/deploy_test.go b/deployment/cre/mcms/changeset/deploy_test.go index a3225cd72c1..6ff99e81db8 100644 --- a/deployment/cre/mcms/changeset/deploy_test.go +++ b/deployment/cre/mcms/changeset/deploy_test.go @@ -9,10 +9,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-deployments-framework/datastore" testenv "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" - "github.com/smartcontractkit/chainlink/deployment/common/types" + "github.com/smartcontractkit/chainlink/deployment/cre/mcms/changeset" "github.com/smartcontractkit/chainlink/deployment/cre/mcms/pkg" ) @@ -57,7 +59,7 @@ func TestMCMSDeployment(t *testing.T) { var d = 5 * time.Second var eoa = common.HexToAddress("0xA01E9eD15b18D3688D0B84D88a98ed750D56999B") -var testMCMSCfg = types.MCMSWithTimelockConfigV2{ +var testMCMSCfg = cldfproposalutils.MCMSWithTimelockConfig{ Proposer: pkg.MustGetMCMSConfig(1, []common.Address{ eoa, }, nil), diff --git a/deployment/cre/workflow_registry/v2/changeset/fixture_test.go b/deployment/cre/workflow_registry/v2/changeset/fixture_test.go index aeb8a7ccc88..4c2df5d92f3 100644 --- a/deployment/cre/workflow_registry/v2/changeset/fixture_test.go +++ b/deployment/cre/workflow_registry/v2/changeset/fixture_test.go @@ -4,6 +4,8 @@ import ( "testing" "github.com/ethereum/go-ethereum/common" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" chainselectors "github.com/smartcontractkit/chain-selectors" @@ -15,8 +17,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) type testFixture struct { @@ -92,8 +92,8 @@ func setupTestWithMCMS(t *testing.T) *testFixture { fixture := setupTest(t) err := fixture.rt.Exec( - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]commontypes.MCMSWithTimelockConfigV2{ - fixture.selector: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + fixture.selector: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err, "failed to deploy MCMS") diff --git a/deployment/data-feeds/changeset/accept_ownership_test.go b/deployment/data-feeds/changeset/accept_ownership_test.go index 7068ece6935..e399acebe54 100644 --- a/deployment/data-feeds/changeset/accept_ownership_test.go +++ b/deployment/data-feeds/changeset/accept_ownership_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,9 +18,8 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset/types" ) @@ -34,13 +35,13 @@ func TestAcceptOwnership(t *testing.T) { chain := rt.Environment().BlockChains.EVMChains()[selector] - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier err = rt.Exec( runtime.ChangesetTask(cldf.CreateLegacyChangeSet( - commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/confirm_aggregator_test.go b/deployment/data-feeds/changeset/confirm_aggregator_test.go index 8a9dcbb943c..c0b3f27e714 100644 --- a/deployment/data-feeds/changeset/confirm_aggregator_test.go +++ b/deployment/data-feeds/changeset/confirm_aggregator_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,9 +18,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -51,7 +53,7 @@ func TestConfirmAggregator(t *testing.T) { require.Len(t, records, 1) proxyAddress := records[0].Address - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -66,7 +68,7 @@ func TestConfirmAggregator(t *testing.T) { ProxyAddress: common.HexToAddress(proxyAddress), NewAggregatorAddress: common.HexToAddress("0x123"), }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/new_feed_with_proxy_test.go b/deployment/data-feeds/changeset/new_feed_with_proxy_test.go index feaaecfaae5..a9bfc7c1e1e 100644 --- a/deployment/data-feeds/changeset/new_feed_with_proxy_test.go +++ b/deployment/data-feeds/changeset/new_feed_with_proxy_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cache "github.com/smartcontractkit/chainlink-evm/gethwrappers/data-feeds/generated/data_feeds_cache" @@ -18,9 +20,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -35,7 +37,7 @@ func TestNewFeedWithProxy(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -44,7 +46,7 @@ func TestNewFeedWithProxy(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/propose_aggregator_test.go b/deployment/data-feeds/changeset/propose_aggregator_test.go index 0bd1a9a8517..714f8bf8a80 100644 --- a/deployment/data-feeds/changeset/propose_aggregator_test.go +++ b/deployment/data-feeds/changeset/propose_aggregator_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,9 +18,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -50,7 +52,7 @@ func TestProposeAggregator(t *testing.T) { require.Len(t, records, 1) proxyAddress := records[0].Address - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -60,7 +62,7 @@ func TestProposeAggregator(t *testing.T) { ProxyAddress: common.HexToAddress(proxyAddress), NewAggregatorAddress: common.HexToAddress("0x123"), }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/remove_dataid_proxy_mapping_test.go b/deployment/data-feeds/changeset/remove_dataid_proxy_mapping_test.go index b33bb2c41e3..88ee9c7e1bd 100644 --- a/deployment/data-feeds/changeset/remove_dataid_proxy_mapping_test.go +++ b/deployment/data-feeds/changeset/remove_dataid_proxy_mapping_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,9 +18,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -33,7 +35,7 @@ func TestRemoveFeedProxyMapping(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -42,7 +44,7 @@ func TestRemoveFeedProxyMapping(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/remove_feed_config_test.go b/deployment/data-feeds/changeset/remove_feed_config_test.go index 50adef13add..a9ca9abd41b 100644 --- a/deployment/data-feeds/changeset/remove_feed_config_test.go +++ b/deployment/data-feeds/changeset/remove_feed_config_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cache "github.com/smartcontractkit/chainlink-evm/gethwrappers/data-feeds/generated/data_feeds_cache" @@ -18,9 +20,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -35,7 +37,7 @@ func TestRemoveFeedConfig(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -44,7 +46,7 @@ func TestRemoveFeedConfig(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/remove_feed_test.go b/deployment/data-feeds/changeset/remove_feed_test.go index f09fe0c4207..b92d0b2029a 100644 --- a/deployment/data-feeds/changeset/remove_feed_test.go +++ b/deployment/data-feeds/changeset/remove_feed_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cache "github.com/smartcontractkit/chainlink-evm/gethwrappers/data-feeds/generated/data_feeds_cache" @@ -18,9 +20,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -35,7 +37,7 @@ func TestRemoveFeed(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -44,7 +46,7 @@ func TestRemoveFeed(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/set_bundle_feed_config_test.go b/deployment/data-feeds/changeset/set_bundle_feed_config_test.go index cbdff273f7d..53e9066decd 100644 --- a/deployment/data-feeds/changeset/set_bundle_feed_config_test.go +++ b/deployment/data-feeds/changeset/set_bundle_feed_config_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cache "github.com/smartcontractkit/chainlink-evm/gethwrappers/data-feeds/generated/data_feeds_cache" @@ -18,9 +20,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -35,7 +37,7 @@ func TestSetBundleFeedConfig(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -44,7 +46,7 @@ func TestSetBundleFeedConfig(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/set_feed_admin_test.go b/deployment/data-feeds/changeset/set_feed_admin_test.go index c0016d0f974..ff6d136f063 100644 --- a/deployment/data-feeds/changeset/set_feed_admin_test.go +++ b/deployment/data-feeds/changeset/set_feed_admin_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,9 +18,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -33,7 +35,7 @@ func TestSetCacheAdmin(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -42,7 +44,7 @@ func TestSetCacheAdmin(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/set_feed_config_test.go b/deployment/data-feeds/changeset/set_feed_config_test.go index 1e627dfba75..7c6cebfe025 100644 --- a/deployment/data-feeds/changeset/set_feed_config_test.go +++ b/deployment/data-feeds/changeset/set_feed_config_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" cache "github.com/smartcontractkit/chainlink-evm/gethwrappers/data-feeds/generated/data_feeds_cache" @@ -18,9 +20,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -35,7 +37,7 @@ func TestSetFeedConfig(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -44,7 +46,7 @@ func TestSetFeedConfig(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/data-feeds/changeset/update_data_id_proxy_test.go b/deployment/data-feeds/changeset/update_data_id_proxy_test.go index e5026d74133..1fa95f71a7e 100644 --- a/deployment/data-feeds/changeset/update_data_id_proxy_test.go +++ b/deployment/data-feeds/changeset/update_data_id_proxy_test.go @@ -8,6 +8,8 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-deployments-framework/datastore" @@ -16,9 +18,9 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonChangesets "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/deployment/data-feeds/changeset" "github.com/smartcontractkit/chainlink/deployment/data-feeds/changeset/types" ) @@ -33,7 +35,7 @@ func TestUpdateDataIDProxyMap(t *testing.T) { )) require.NoError(t, err) - MCMScfg := proposalutils.SingleGroupTimelockConfigV2(t) + MCMScfg := cldftesthelpers.SingleGroupTimelockConfig(t) MCMSQualifier := "MCMS_EVM_1" MCMScfg.Qualifier = &MCMSQualifier @@ -42,7 +44,7 @@ func TestUpdateDataIDProxyMap(t *testing.T) { ChainsToDeploy: []uint64{selector}, Labels: []string{"data-feeds"}, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]commonTypes.MCMSWithTimelockConfigV2{ + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonChangesets.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ selector: MCMScfg, }), ) diff --git a/deployment/environment/crib/ccip_deployer.go b/deployment/environment/crib/ccip_deployer.go index cf81212bdb1..b023c8ecca7 100644 --- a/deployment/environment/crib/ccip_deployer.go +++ b/deployment/environment/crib/ccip_deployer.go @@ -13,9 +13,10 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/gagliardetto/solana-go" "github.com/rs/zerolog" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" xerrgroup "golang.org/x/sync/errgroup" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + chainselectors "github.com/smartcontractkit/chain-selectors" "github.com/smartcontractkit/chainlink-ccip/chainconfig" diff --git a/deployment/keystone/changeset/accept_ownership_test.go b/deployment/keystone/changeset/accept_ownership_test.go index 18ed87d3fe1..1ec4b1a18a2 100644 --- a/deployment/keystone/changeset/accept_ownership_test.go +++ b/deployment/keystone/changeset/accept_ownership_test.go @@ -7,14 +7,15 @@ import ( chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - "github.com/smartcontractkit/chainlink/deployment/common/types" "github.com/smartcontractkit/chainlink/deployment/keystone/changeset" ) @@ -38,8 +39,8 @@ func TestAcceptAllOwnership(t *testing.T) { runtime.ChangesetTask(cldf.CreateLegacyChangeSet(changeset.DeployFeedsConsumer), &changeset.DeployFeedsConsumerRequest{ ChainSelector: registrySel, }), - runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]types.MCMSWithTimelockConfigV2{ - registrySel: proposalutils.SingleGroupTimelockConfigV2(t), + runtime.ChangesetTask(cldf.CreateLegacyChangeSet(commonchangeset.DeployMCMSWithTimelockV2), map[uint64]cldfproposalutils.MCMSWithTimelockConfig{ + registrySel: cldftesthelpers.SingleGroupTimelockConfig(t), }), ) require.NoError(t, err) diff --git a/deployment/keystone/changeset/test/env_setup.go b/deployment/keystone/changeset/test/env_setup.go index f4b6369cb0b..82bab6e89ed 100644 --- a/deployment/keystone/changeset/test/env_setup.go +++ b/deployment/keystone/changeset/test/env_setup.go @@ -7,11 +7,12 @@ import ( "math" "testing" - cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" - cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "go.uber.org/zap/zapcore" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink-common/pkg/capabilities/pb" "github.com/smartcontractkit/chainlink-common/pkg/logger" diff --git a/deployment/vault/changeset/batch_native_transfer_test.go b/deployment/vault/changeset/batch_native_transfer_test.go index 9059fd84bff..62b63c3d548 100644 --- a/deployment/vault/changeset/batch_native_transfer_test.go +++ b/deployment/vault/changeset/batch_native_transfer_test.go @@ -9,12 +9,15 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/stretchr/testify/require" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/environment" "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/smartcontractkit/chainlink-evm/pkg/testutils" + commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" @@ -232,10 +235,10 @@ func TestBatchNativeTransferIntegration(t *testing.T) { func setupMCMSInfrastructure(t *testing.T, rt *runtime.Runtime, chainSelectors []uint64) { t.Log("Setting up MCMS infrastructure with real deployment") - timelockCfgs := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + timelockCfgs := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, sel := range chainSelectors { t.Logf("Enabling MCMS on chain %d", sel) - timelockCfgs[sel] = proposalutils.SingleGroupTimelockConfigV2(t) + timelockCfgs[sel] = cldftesthelpers.SingleGroupTimelockConfig(t) } err := rt.Exec( diff --git a/deployment/vault/view/view_test.go b/deployment/vault/view/view_test.go index 51410e9488a..cfc1e0d4733 100644 --- a/deployment/vault/view/view_test.go +++ b/deployment/vault/view/view_test.go @@ -5,6 +5,8 @@ import ( "github.com/ethereum/go-ethereum/common" chainselectors "github.com/smartcontractkit/chain-selectors" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" @@ -12,8 +14,6 @@ import ( "github.com/smartcontractkit/chainlink-deployments-framework/engine/test/runtime" 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/deployment/vault/changeset" "github.com/smartcontractkit/chainlink/deployment/vault/changeset/types" ) @@ -106,9 +106,9 @@ func TestGenerateVaultView_WithMCMSAndWhitelist(t *testing.T) { func setupMCMS(t *testing.T, rt *runtime.Runtime, chainSelectors []uint64) { t.Helper() - timelockCfgs := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + timelockCfgs := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) for _, sel := range chainSelectors { - timelockCfgs[sel] = proposalutils.SingleGroupTimelockConfigV2(t) + timelockCfgs[sel] = cldftesthelpers.SingleGroupTimelockConfig(t) } err := rt.Exec( From f53509ca9e0cd0c135c2e7c1ae3b6e770534f5c9 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 22:45:03 -0600 Subject: [PATCH 22/25] fix: unit tests --- integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go b/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go index ea6e7b23981..9783e8e2e11 100644 --- a/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go +++ b/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go @@ -7,6 +7,7 @@ import ( "github.com/AlekSi/pointer" "github.com/ethereum/go-ethereum/common" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" @@ -159,7 +160,7 @@ func SetupNewChain( ) cldf.Environment { nodeInfo, err := deployment.NodeInfo(env.NodeIDs, env.Offchain) require.NoError(t, err, "must get node info") - mcmsDeploymentCfg := proposalutils.SingleGroupTimelockConfigV2(t) + mcmsDeploymentCfg := cldftesthelpers.SingleGroupTimelockConfig(t) tokenConfig := shared.NewTestTokenConfig(state.MustGetEVMChainState(feedChain).USDFeeds) // Build remote chain configurations From d1f6ab3864940a0fce512815972c7982038f03e0 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 22:56:08 -0600 Subject: [PATCH 23/25] fix: unit tests --- .../smoke/ccip/ccip_cs_update_rmn_config_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/integration-tests/smoke/ccip/ccip_cs_update_rmn_config_test.go b/integration-tests/smoke/ccip/ccip_cs_update_rmn_config_test.go index 4e2e89bf622..3e83524f384 100644 --- a/integration-tests/smoke/ccip/ccip_cs_update_rmn_config_test.go +++ b/integration-tests/smoke/ccip/ccip_cs_update_rmn_config_test.go @@ -6,6 +6,8 @@ import ( "time" "github.com/ethereum/go-ethereum/common" + cldfproposalutils "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_0/rmn_home" @@ -25,7 +27,6 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" - commontypes "github.com/smartcontractkit/chainlink/deployment/common/types" ) var ( @@ -345,11 +346,11 @@ func TestSetRMNRemoteOnRMNProxy(t *testing.T) { t.Parallel() e, _ := testhelpers.NewMemoryEnvironment(t, testhelpers.WithNoJobsAndContracts()) allChains := e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chainselectors.FamilyEVM)) - mcmsCfg := make(map[uint64]commontypes.MCMSWithTimelockConfigV2) + mcmsCfg := make(map[uint64]cldfproposalutils.MCMSWithTimelockConfig) var err error prereqCfgs := make([]changeset.DeployPrerequisiteConfigPerChain, 0) for _, c := range e.Env.BlockChains.ListChainSelectors(cldf_chain.WithFamily(chainselectors.FamilyEVM)) { - mcmsCfg[c] = proposalutils.SingleGroupTimelockConfigV2(t) + mcmsCfg[c] = cldftesthelpers.SingleGroupTimelockConfig(t) prereqCfgs = append(prereqCfgs, changeset.DeployPrerequisiteConfigPerChain{ ChainSelector: c, }) From 4c5d1c95ce857bb439f28db24f07a070f40e80b4 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 23:07:05 -0600 Subject: [PATCH 24/25] fix: goimports --- integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go b/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go index 9783e8e2e11..4ff824e3d83 100644 --- a/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go +++ b/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go @@ -11,6 +11,8 @@ import ( mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" + chain_selectors "github.com/smartcontractkit/chain-selectors" "github.com/smartcontractkit/chainlink-ccip/chainconfig" @@ -29,7 +31,7 @@ import ( "github.com/smartcontractkit/chainlink/deployment/ccip/shared" "github.com/smartcontractkit/chainlink/deployment/ccip/shared/stateview" commonchangeset "github.com/smartcontractkit/chainlink/deployment/common/changeset" - "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" + testsetups "github.com/smartcontractkit/chainlink/integration-tests/testsetups/ccip" ) From d3883fb041064eec7ad5f43314489dc143cb3b55 Mon Sep 17 00:00:00 2001 From: Pablo Date: Mon, 11 May 2026 23:18:10 -0600 Subject: [PATCH 25/25] fix: goimports --- integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go b/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go index 4ff824e3d83..7df04387b11 100644 --- a/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go +++ b/integration-tests/smoke/ccip/ccip_add_chain_e2e_test.go @@ -7,10 +7,11 @@ import ( "github.com/AlekSi/pointer" "github.com/ethereum/go-ethereum/common" - cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/stretchr/testify/require" + cldftesthelpers "github.com/smartcontractkit/chainlink-deployments-framework/engine/cld/mcms/proposalutils/testhelpers" + "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" chain_selectors "github.com/smartcontractkit/chain-selectors"