diff --git a/GNUmakefile b/GNUmakefile index 678555b5f90..27fa4270497 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -71,6 +71,8 @@ install-plugins: ## Build & install LOOPP binaries for products and chains. go install ./cmd/chainlink-feeds cd $(shell go list -m -f "{{.Dir}}" github.com/smartcontractkit/chainlink-data-streams) && \ go install ./mercury/cmd/chainlink-mercury + cd $(shell go list -m -f "{{.Dir}}" github.com/smartcontractkit/chainlink-cosmos) && \ + go install ./pkg/cosmos/cmd/chainlink-cosmos cd $(shell go list -m -f "{{.Dir}}" github.com/smartcontractkit/chainlink-solana) && \ go install ./pkg/solana/cmd/chainlink-solana cd $(shell go list -m -f "{{.Dir}}" github.com/smartcontractkit/chainlink-starknet/relayer) && \ diff --git a/core/cmd/cosmos_transaction_commands_test.go b/core/cmd/cosmos_transaction_commands_test.go index e41aa83a25a..1009456eab7 100644 --- a/core/cmd/cosmos_transaction_commands_test.go +++ b/core/cmd/cosmos_transaction_commands_test.go @@ -60,11 +60,6 @@ func TestShell_SendCosmosCoins(t *testing.T) { from := accounts[0] to := accounts[1] require.NoError(t, app.GetKeyStore().Cosmos().Add(ctx, cosmoskey.Raw(from.PrivateKey.Bytes()).Key())) - chain, err := app.GetRelayers().LegacyCosmosChains().Get(chainID) - require.NoError(t, err) - - reader, err := chain.Reader("") - require.NoError(t, err) require.Eventually(t, func() bool { coin, err := reader.Balance(ctx, from.Address, *cosmosChain.GasToken) @@ -131,3 +126,5 @@ func TestShell_SendCosmosCoins(t *testing.T) { }) } } + +//TODO balance func through cli diff --git a/core/config/env/env.go b/core/config/env/env.go index 68b79c7575c..c2615fc4b3a 100644 --- a/core/config/env/env.go +++ b/core/config/env/env.go @@ -27,6 +27,7 @@ var ( var ( MedianPlugin = NewPlugin("median") MercuryPlugin = NewPlugin("mercury") + CosmosPlugin = NewPlugin("cosmos") SolanaPlugin = NewPlugin("solana") StarknetPlugin = NewPlugin("starknet") TronPlugin = NewPlugin("tron") diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 852ea730560..d3f2e006bb6 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -317,7 +317,7 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.36 // indirect github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8973fd0c912b // indirect - github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e // indirect + github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.1 // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250115203616-a2ea5e50b260 // indirect github.com/smartcontractkit/chainlink-protos/job-distributor v0.6.0 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 756f4deeb99..f581ca65cb1 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1174,8 +1174,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8973fd0c912b/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30 h1:cLqp7DciHn7MXX3Y2QAiBHjuNPUFfTRreXfjWbUcM6o= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30/go.mod h1:V3BHfvLnQNBUoZ4bGjD29ZPhyzPE++DkYkhvPb9tcRs= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e h1:PRoeby6ZlTuTkv2f+7tVU4+zboTfRzI+beECynF4JQ0= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e/go.mod h1:mUh5/woemsVaHgTorA080hrYmO3syBCmPdnWc/5dOqk= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 h1:w7w42ml8MOxdoyAZ9+og0342UkiH3deRM1V0Pj5JR5g= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4/go.mod h1:wtdAmAUMooLavbrTA7PgHg40lyDlKesxI/RR+5Xcz18= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 h1:GcPYNVFYjB065CNq0h8nK/VeU08nUkHgBX0cJIEpuHY= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3/go.mod h1:pDZagSGjs9U+l4YIFhveDznMHqxuuz+5vRxvVgpbdr8= github.com/smartcontractkit/chainlink-feeds v0.1.1 h1:JzvUOM/OgGQA1sOqTXXl52R6AnNt+Wg64sVG+XSA49c= diff --git a/core/services/chainlink/relayer_chain_interoperators.go b/core/services/chainlink/relayer_chain_interoperators.go index f8d6de99c8f..d017334a9d2 100644 --- a/core/services/chainlink/relayer_chain_interoperators.go +++ b/core/services/chainlink/relayer_chain_interoperators.go @@ -48,7 +48,6 @@ type LoopRelayerStorer interface { // on the relayer interface. type LegacyChainer interface { LegacyEVMChains() legacyevm.LegacyChainContainer - LegacyCosmosChains() LegacyCosmosContainer } // NetworkChainStatus is a ChainStatus from a particlar Network. @@ -142,17 +141,14 @@ func InitEVM(ctx context.Context, factory RelayerFactory, config EVMFactoryConfi // InitCosmos is a option for instantiating Cosmos relayers func InitCosmos(ctx context.Context, factory RelayerFactory, config CosmosFactoryConfig) CoreRelayerChainInitFunc { return func(op *CoreRelayerChainInteroperators) (err error) { - adapters, err2 := factory.NewCosmos(config) - if err2 != nil { - return fmt.Errorf("failed to setup Cosmos relayer: %w", err2) + relayers, err := factory.NewCosmos(config) + if err != nil { + return fmt.Errorf("failed to setup Cosmos relayer: %w", err) } - legacyMap := make(map[string]cosmos.Chain) - for id, a := range adapters { - op.srvs = append(op.srvs, a) - op.loopRelayers[id] = a - legacyMap[id.ChainID] = a.Chain() + for id, relayer := range relayers { + op.srvs = append(op.srvs, relayer) + op.loopRelayers[id] = relayer } - op.legacyChains.CosmosChains = NewLegacyCosmos(legacyMap) return nil } @@ -266,14 +262,6 @@ func (rs *CoreRelayerChainInteroperators) LegacyEVMChains() legacyevm.LegacyChai return rs.legacyChains.EVMChains } -// LegacyCosmosChains returns a container with all the cosmos chains -// TODO BCF-2511 -func (rs *CoreRelayerChainInteroperators) LegacyCosmosChains() LegacyCosmosContainer { - rs.mu.Lock() - defer rs.mu.Unlock() - return rs.legacyChains.CosmosChains -} - // ChainStatus gets [types.ChainStatus] func (rs *CoreRelayerChainInteroperators) ChainStatus(ctx context.Context, id types.RelayID) (types.ChainStatus, error) { lr, err := rs.Get(id) @@ -423,8 +411,7 @@ func (rs *CoreRelayerChainInteroperators) Services() (s []services.ServiceCtx) { // legacyChains encapsulates the chain-specific dependencies. Will be // deprecated when chain-specific logic is removed from products. type legacyChains struct { - EVMChains legacyevm.LegacyChainContainer - CosmosChains LegacyCosmosContainer + EVMChains legacyevm.LegacyChainContainer } // LegacyCosmosContainer is container interface for Cosmos chains diff --git a/core/services/chainlink/relayer_chain_interoperators_test.go b/core/services/chainlink/relayer_chain_interoperators_test.go index 4c7d1146ee0..55e748f484a 100644 --- a/core/services/chainlink/relayer_chain_interoperators_test.go +++ b/core/services/chainlink/relayer_chain_interoperators_test.go @@ -400,14 +400,6 @@ func TestCoreRelayerChainInteroperators(t *testing.T) { assert.Nil(t, cr.LegacyEVMChains()) } } - if relayNetwork == relay.NetworkCosmos { - _, wantCosmos := tt.expectedRelayerNetworks[relay.NetworkCosmos] - if wantCosmos { - assert.Len(t, cr.LegacyCosmosChains().Slice(), expectedChainCnt) - } else { - assert.Nil(t, cr.LegacyCosmosChains()) - } - } nodesStats, cnt, err := interops.NodeStatuses(testctx, 0, 0) assert.NoError(t, err) @@ -438,12 +430,6 @@ func TestCoreRelayerChainInteroperators(t *testing.T) { assert.NotNil(t, c) assert.Equal(t, wantId.ChainID, c.ID().String()) } - if wantId.Network == relay.NetworkCosmos { - c, err := cr.LegacyCosmosChains().Get(wantId.ChainID) - assert.NoError(t, err) - assert.NotNil(t, c) - assert.Equal(t, wantId.ChainID, c.ID()) - } } } diff --git a/core/services/chainlink/relayer_factory.go b/core/services/chainlink/relayer_factory.go index c173c7fecb7..c13045c22a0 100644 --- a/core/services/chainlink/relayer_factory.go +++ b/core/services/chainlink/relayer_factory.go @@ -141,7 +141,6 @@ func (r *RelayerFactory) NewSolana(config SolanaFactoryConfig) (map[types.RelayI cfgTOML, err := toml.Marshal(struct { Solana solcfg.TOMLConfig }{Solana: *chainCfg}) - if err != nil { return nil, fmt.Errorf("failed to marshal Solana configs: %w", err) } @@ -276,12 +275,12 @@ func (c CosmosFactoryConfig) Validate() error { return err } -func (r *RelayerFactory) NewCosmos(config CosmosFactoryConfig) (map[types.RelayID]LOOPRelayAdapter, error) { +func (r *RelayerFactory) NewCosmos(config CosmosFactoryConfig) (map[types.RelayID]loop.Relayer, error) { err := config.Validate() if err != nil { return nil, fmt.Errorf("cannot create Cosmos relayer: %w", err) } - relayers := make(map[types.RelayID]LOOPRelayAdapter) + relayers := make(map[types.RelayID]loop.Relayer) var ( cosmosLggr = r.Logger.Named("Cosmos") @@ -294,18 +293,43 @@ func (r *RelayerFactory) NewCosmos(config CosmosFactoryConfig) (map[types.RelayI lggr := cosmosLggr.Named(relayID.ChainID) - opts := cosmos.ChainOpts{ - Logger: lggr, - DS: config.DS, - KeyStore: loopKs, - } + if cmdName := env.CosmosPlugin.Cmd.Get(); cmdName != "" { + // setup LOOPP + cfgTOML, err := toml.Marshal(struct { + Cosmos coscfg.TOMLConfig + }{Cosmos: *chainCfg}) + if err != nil { + return nil, fmt.Errorf("failed to marshal Cosmos configs: %w", err) + } + envVars, err := plugins.ParseEnvFile(env.CosmosPlugin.Env.Get()) + if err != nil { + return nil, fmt.Errorf("failed to parse Cosmos env vars: %w", err) + } + cosCmdFn, err := plugins.NewCmdFactory(r.Register, plugins.CmdConfig{ + ID: relayID.Name(), + Cmd: cmdName, + Env: envVars, + }) + if err != nil { + return nil, fmt.Errorf("failed to create Cosmos LOOP command: %w", err) + } + relayers[relayID] = loop.NewRelayerService(lggr, r.GRPCOpts, cosCmdFn, string(cfgTOML), loopKs, r.CapabilitiesRegistry) + } else { + // fallback to embedded chain - chain, err := cosmos.NewChain(chainCfg, opts) - if err != nil { - return nil, fmt.Errorf("failed to load Cosmos chain %q: %w", relayID, err) - } + opts := cosmos.ChainOpts{ + Logger: lggr, + DS: config.DS, + KeyStore: loopKs, + } + + chain, err := cosmos.NewChain(chainCfg, opts) + if err != nil { + return nil, fmt.Errorf("failed to load Cosmos chain %q: %w", relayID, err) + } - relayers[relayID] = NewCosmosLOOPRelayerChain(cosmos.NewRelayer(lggr, chain)) + relayers[relayID] = NewCosmosLOOPRelayerChain(cosmos.NewRelayer(lggr, chain)) + } } return relayers, nil } diff --git a/core/services/pg/locked_db.go b/core/services/pg/locked_db.go index a3101f7385b..4bbca963770 100644 --- a/core/services/pg/locked_db.go +++ b/core/services/pg/locked_db.go @@ -71,7 +71,7 @@ func (l *lockedDb) Open(ctx context.Context) (err error) { } revert := func() { // Let Open() return the actual error, while l.Close() error is just logged. - if err2 := l.close(); err2 != nil { + if err2 := l.Close(); err2 != nil { l.lggr.Errorf("failed to cleanup LockedDB: %v", err2) } } diff --git a/deployment/go.mod b/deployment/go.mod index 21d3bc7e7ca..8a6c450d45a 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -418,7 +418,7 @@ require ( github.com/shopspring/decimal v1.4.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/smartcontractkit/chainlink-automation v0.8.1 // indirect - github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e // indirect + github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.1 // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250115203616-a2ea5e50b260 // indirect diff --git a/deployment/go.sum b/deployment/go.sum index 4f61dfb1efa..3a187f62b5f 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1400,8 +1400,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8973fd0c912b/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30 h1:cLqp7DciHn7MXX3Y2QAiBHjuNPUFfTRreXfjWbUcM6o= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30/go.mod h1:V3BHfvLnQNBUoZ4bGjD29ZPhyzPE++DkYkhvPb9tcRs= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e h1:PRoeby6ZlTuTkv2f+7tVU4+zboTfRzI+beECynF4JQ0= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e/go.mod h1:mUh5/woemsVaHgTorA080hrYmO3syBCmPdnWc/5dOqk= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 h1:w7w42ml8MOxdoyAZ9+og0342UkiH3deRM1V0Pj5JR5g= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4/go.mod h1:wtdAmAUMooLavbrTA7PgHg40lyDlKesxI/RR+5Xcz18= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 h1:GcPYNVFYjB065CNq0h8nK/VeU08nUkHgBX0cJIEpuHY= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3/go.mod h1:pDZagSGjs9U+l4YIFhveDznMHqxuuz+5vRxvVgpbdr8= github.com/smartcontractkit/chainlink-feeds v0.1.1 h1:JzvUOM/OgGQA1sOqTXXl52R6AnNt+Wg64sVG+XSA49c= diff --git a/go.mod b/go.mod index 193ed838186..c789277a060 100644 --- a/go.mod +++ b/go.mod @@ -80,7 +80,7 @@ require ( github.com/smartcontractkit/chainlink-automation v0.8.1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30 - github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e + github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 github.com/smartcontractkit/chainlink-feeds v0.1.1 github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250115203616-a2ea5e50b260 diff --git a/go.sum b/go.sum index 0dc3ff65b89..ac1633c9f54 100644 --- a/go.sum +++ b/go.sum @@ -1156,8 +1156,8 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff/go.mod h1:JJZMCB75aVSAiPNW032F9WUKTlLztTd8bbQB5MEaZa4= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30 h1:cLqp7DciHn7MXX3Y2QAiBHjuNPUFfTRreXfjWbUcM6o= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30/go.mod h1:V3BHfvLnQNBUoZ4bGjD29ZPhyzPE++DkYkhvPb9tcRs= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e h1:PRoeby6ZlTuTkv2f+7tVU4+zboTfRzI+beECynF4JQ0= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e/go.mod h1:mUh5/woemsVaHgTorA080hrYmO3syBCmPdnWc/5dOqk= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 h1:w7w42ml8MOxdoyAZ9+og0342UkiH3deRM1V0Pj5JR5g= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4/go.mod h1:wtdAmAUMooLavbrTA7PgHg40lyDlKesxI/RR+5Xcz18= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 h1:GcPYNVFYjB065CNq0h8nK/VeU08nUkHgBX0cJIEpuHY= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3/go.mod h1:pDZagSGjs9U+l4YIFhveDznMHqxuuz+5vRxvVgpbdr8= github.com/smartcontractkit/chainlink-feeds v0.1.1 h1:JzvUOM/OgGQA1sOqTXXl52R6AnNt+Wg64sVG+XSA49c= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 778f8a3398c..4036e39c9b0 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -433,7 +433,7 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/smartcontractkit/ccip-owner-contracts v0.0.0-salt-fix // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8973fd0c912b // indirect - github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e // indirect + github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.1 // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250115203616-a2ea5e50b260 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 084c878b8d9..7b7d620b8ac 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1424,8 +1424,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250103152858-8973fd0c912b/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30 h1:cLqp7DciHn7MXX3Y2QAiBHjuNPUFfTRreXfjWbUcM6o= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30/go.mod h1:V3BHfvLnQNBUoZ4bGjD29ZPhyzPE++DkYkhvPb9tcRs= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e h1:PRoeby6ZlTuTkv2f+7tVU4+zboTfRzI+beECynF4JQ0= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e/go.mod h1:mUh5/woemsVaHgTorA080hrYmO3syBCmPdnWc/5dOqk= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 h1:w7w42ml8MOxdoyAZ9+og0342UkiH3deRM1V0Pj5JR5g= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4/go.mod h1:wtdAmAUMooLavbrTA7PgHg40lyDlKesxI/RR+5Xcz18= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 h1:GcPYNVFYjB065CNq0h8nK/VeU08nUkHgBX0cJIEpuHY= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3/go.mod h1:pDZagSGjs9U+l4YIFhveDznMHqxuuz+5vRxvVgpbdr8= github.com/smartcontractkit/chainlink-feeds v0.1.1 h1:JzvUOM/OgGQA1sOqTXXl52R6AnNt+Wg64sVG+XSA49c= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index c12b40fac36..87816882533 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -416,7 +416,7 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.36 // indirect github.com/smartcontractkit/chainlink-automation v0.8.1 // indirect github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff // indirect - github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e // indirect + github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.1 // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250115203616-a2ea5e50b260 // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 6cb1f8f3524..6515a87e048 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1409,8 +1409,8 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250120130359-cc025272bbff/go.mod h1:JJZMCB75aVSAiPNW032F9WUKTlLztTd8bbQB5MEaZa4= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30 h1:cLqp7DciHn7MXX3Y2QAiBHjuNPUFfTRreXfjWbUcM6o= github.com/smartcontractkit/chainlink-common v0.4.2-0.20250121141917-62443f4b3c30/go.mod h1:V3BHfvLnQNBUoZ4bGjD29ZPhyzPE++DkYkhvPb9tcRs= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e h1:PRoeby6ZlTuTkv2f+7tVU4+zboTfRzI+beECynF4JQ0= -github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241202195413-82468150ac1e/go.mod h1:mUh5/woemsVaHgTorA080hrYmO3syBCmPdnWc/5dOqk= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4 h1:w7w42ml8MOxdoyAZ9+og0342UkiH3deRM1V0Pj5JR5g= +github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20250121210000-2a9675d7a1b4/go.mod h1:wtdAmAUMooLavbrTA7PgHg40lyDlKesxI/RR+5Xcz18= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3 h1:GcPYNVFYjB065CNq0h8nK/VeU08nUkHgBX0cJIEpuHY= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250115135646-ac859d85e7e3/go.mod h1:pDZagSGjs9U+l4YIFhveDznMHqxuuz+5vRxvVgpbdr8= github.com/smartcontractkit/chainlink-feeds v0.1.1 h1:JzvUOM/OgGQA1sOqTXXl52R6AnNt+Wg64sVG+XSA49c= diff --git a/plugins/loop_registry_test.go b/plugins/loop_registry_test.go index f78f2d8c9c2..e814b268ac1 100644 --- a/plugins/loop_registry_test.go +++ b/plugins/loop_registry_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/loop" + "github.com/smartcontractkit/chainlink/v2/core/config" "github.com/smartcontractkit/chainlink/v2/core/logger" ) diff --git a/testdata/scripts/health/multi-chain-loopp.txtar b/testdata/scripts/health/multi-chain-loopp.txtar index 9e360106348..2abf257b596 100644 --- a/testdata/scripts/health/multi-chain-loopp.txtar +++ b/testdata/scripts/health/multi-chain-loopp.txtar @@ -1,3 +1,4 @@ +env CL_COSMOS_CMD=chainlink-cosmos env CL_SOLANA_CMD=chainlink-solana env CL_STARKNET_CMD=chainlink-starknet @@ -71,9 +72,12 @@ Name = 'primary' URL = 'http://stark.node' -- out.txt -- -ok Cosmos.Foo.Chain -ok Cosmos.Foo.Relayer -ok Cosmos.Foo.Txm +ok Cosmos.Foo.RelayerService +ok Cosmos.Foo.RelayerService.PluginRelayerClient +ok Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos +ok Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Chain +ok Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Relayer +ok Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Txm ok EVM.1 ok EVM.1.BalanceMonitor ok EVM.1.HeadBroadcaster @@ -123,27 +127,54 @@ ok WorkflowDBStore "data": [ { "type": "checks", - "id": "Cosmos.Foo.Chain", + "id": "Cosmos.Foo.RelayerService", "attributes": { - "name": "Cosmos.Foo.Chain", + "name": "Cosmos.Foo.RelayerService", "status": "passing", "output": "" } }, { "type": "checks", - "id": "Cosmos.Foo.Relayer", + "id": "Cosmos.Foo.RelayerService.PluginRelayerClient", "attributes": { - "name": "Cosmos.Foo.Relayer", + "name": "Cosmos.Foo.RelayerService.PluginRelayerClient", "status": "passing", "output": "" } }, { "type": "checks", - "id": "Cosmos.Foo.Txm", + "id": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos", "attributes": { - "name": "Cosmos.Foo.Txm", + "name": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos", + "status": "passing", + "output": "" + } + }, + { + "type": "checks", + "id": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Chain", + "attributes": { + "name": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Chain", + "status": "passing", + "output": "" + } + }, + { + "type": "checks", + "id": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Relayer", + "attributes": { + "name": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Relayer", + "status": "passing", + "output": "" + } + }, + { + "type": "checks", + "id": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Txm", + "attributes": { + "name": "Cosmos.Foo.RelayerService.PluginRelayerClient.PluginCosmos.Txm", "status": "passing", "output": "" }