From 80089391aebb9a964bf4ee2bbf2655ebc884c086 Mon Sep 17 00:00:00 2001 From: Jordan Krage Date: Wed, 10 Sep 2025 15:25:23 -0500 Subject: [PATCH] pkg/solana: misc fixes --- pkg/solana/config/config.go | 4 +++- pkg/solana/config/config_test.go | 8 +++++++- pkg/solana/relay.go | 3 +-- pkg/solana/write_target/write_target.go | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/pkg/solana/config/config.go b/pkg/solana/config/config.go index ab7440c5c..e9fcda468 100644 --- a/pkg/solana/config/config.go +++ b/pkg/solana/config/config.go @@ -72,7 +72,9 @@ type WorkflowConfig struct { } func (w *WorkflowConfig) IsEnabled() bool { - return w.ForwarderAddress != nil || w.ForwarderState != nil || w.FromAddress != nil + return (w.ForwarderAddress != nil && !w.ForwarderAddress.IsZero()) || + (w.ForwarderState != nil && !w.ForwarderState.IsZero()) || + (w.FromAddress != nil && !w.FromAddress.IsZero()) } func (w *WorkflowConfig) SetFrom(f *WorkflowConfig) { diff --git a/pkg/solana/config/config_test.go b/pkg/solana/config/config_test.go index c1c152187..799622576 100644 --- a/pkg/solana/config/config_test.go +++ b/pkg/solana/config/config_test.go @@ -3,8 +3,9 @@ package config import ( "testing" - "github.com/smartcontractkit/chainlink-common/pkg/config" "github.com/stretchr/testify/require" + + "github.com/smartcontractkit/chainlink-common/pkg/config" ) func TestValidateConfig(t *testing.T) { @@ -59,3 +60,8 @@ func TestValidateConfig(t *testing.T) { require.NoError(t, node.ValidateConfig()) }) } + +func TestWorkflowConfigSetEnabled(t *testing.T) { + var cfg WorkflowConfig + require.False(t, cfg.IsEnabled()) +} diff --git a/pkg/solana/relay.go b/pkg/solana/relay.go index 9a7b77d21..b7bd70733 100644 --- a/pkg/solana/relay.go +++ b/pkg/solana/relay.go @@ -79,7 +79,6 @@ func (r *Relayer) Start(ctx context.Context) error { if err != nil { return err } - //TODO only "enabled" check if wfCfg := r.chain.Config().WF(); wfCfg.IsEnabled() { if r.capabilitiesRegistry == nil { r.lggr.Errorw("workflow config is provided but capabilities registry is not set") @@ -102,7 +101,7 @@ func (r *Relayer) Start(ctx context.Context) error { } } - wt, err := writetarget.New(ctx, r.chain, r.chain.MultiClient(), r.chain.TxManager(), info, r.lggr) + wt, err := writetarget.New(r.chain, r.chain.MultiClient(), r.chain.TxManager(), info, r.lggr) if err != nil { return fmt.Errorf("failed to initialise write target capability: %w", err) } diff --git a/pkg/solana/write_target/write_target.go b/pkg/solana/write_target/write_target.go index fb8f4e935..ad0718b1a 100644 --- a/pkg/solana/write_target/write_target.go +++ b/pkg/solana/write_target/write_target.go @@ -29,7 +29,7 @@ type Chain interface { Config() config.Config } -func New(ctx context.Context, chain Chain, reader client.Reader, txm Txm, chainInfo commontypes.ChainInfo, lggr logger.Logger) (capabilities.ExecutableCapability, error) { +func New(chain Chain, reader client.Reader, txm Txm, chainInfo commontypes.ChainInfo, lggr logger.Logger) (capabilities.ExecutableCapability, error) { chainID := chain.ID() id := GenerateWriteTargetName(chainID)