From fa556db0481bb8eb66c8dcf3a07e4b60128a180b Mon Sep 17 00:00:00 2001 From: Ales Verbic Date: Sun, 17 Aug 2025 18:57:19 -0400 Subject: [PATCH] refactor(chainsync): always initialize kupoUrl from global config Signed-off-by: Ales Verbic --- input/chainsync/chainsync.go | 3 +++ input/chainsync/options.go | 7 ------- input/chainsync/plugin.go | 9 --------- internal/config/config.go | 6 ++++-- 4 files changed, 7 insertions(+), 18 deletions(-) diff --git a/input/chainsync/chainsync.go b/input/chainsync/chainsync.go index fe5ceae..3bd82d2 100644 --- a/input/chainsync/chainsync.go +++ b/input/chainsync/chainsync.go @@ -30,6 +30,7 @@ import ( "github.com/SundaeSwap-finance/kugo" "github.com/SundaeSwap-finance/ogmigo/v6/ouroboros/chainsync" "github.com/blinklabs-io/adder/event" + "github.com/blinklabs-io/adder/internal/config" "github.com/blinklabs-io/adder/internal/logging" "github.com/blinklabs-io/adder/plugin" ouroboros "github.com/blinklabs-io/gouroboros" @@ -97,6 +98,8 @@ func New(options ...ChainSyncOptionFunc) *ChainSync { intersectPoints: []ocommon.Point{}, status: &ChainSyncStatus{}, } + // Use Kupo URL from global config + c.kupoUrl = config.GetConfig().KupoUrl for _, option := range options { option(c) } diff --git a/input/chainsync/options.go b/input/chainsync/options.go index 2b26e9a..b527f2b 100644 --- a/input/chainsync/options.go +++ b/input/chainsync/options.go @@ -108,13 +108,6 @@ func WithBulkMode(bulkMode bool) ChainSyncOptionFunc { return func(c *ChainSync) {} } -// WithKupoUrl specifies the URL for a Kupo instance that will be queried for additional information -func WithKupoUrl(kupoUrl string) ChainSyncOptionFunc { - return func(c *ChainSync) { - c.kupoUrl = kupoUrl - } -} - // WithDelayConfirmationCount specifies the number of confirmations (subsequent blocks) are required before an event will be emitted func WithDelayConfirmations(count uint) ChainSyncOptionFunc { return func(c *ChainSync) { diff --git a/input/chainsync/plugin.go b/input/chainsync/plugin.go index b009097..b385391 100644 --- a/input/chainsync/plugin.go +++ b/input/chainsync/plugin.go @@ -35,7 +35,6 @@ var cmdlineOptions struct { intersectPoint string includeCbor bool autoReconnect bool - kupoUrl string delayConfirmations uint } @@ -112,13 +111,6 @@ func init() { DefaultValue: true, Dest: &(cmdlineOptions.autoReconnect), }, - { - Name: "kupo-url", - Type: plugin.PluginOptionTypeString, - Description: "kupo-url address", - DefaultValue: "", - Dest: &(cmdlineOptions.kupoUrl), - }, { Name: "delay-confirmations", Type: plugin.PluginOptionTypeUint, @@ -149,7 +141,6 @@ func NewFromCmdlineOptions() plugin.Plugin { WithNtcTcp(cmdlineOptions.ntcTcp), WithIncludeCbor(cmdlineOptions.includeCbor), WithAutoReconnect(cmdlineOptions.autoReconnect), - WithKupoUrl(cmdlineOptions.kupoUrl), WithDelayConfirmations(cmdlineOptions.delayConfirmations), } if cmdlineOptions.intersectPoint != "" { diff --git a/internal/config/config.go b/internal/config/config.go index 6ff910d..8e34376 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -38,6 +38,7 @@ type Config struct { Input string `yaml:"input" envconfig:"INPUT"` Output string `yaml:"output" envconfig:"OUTPUT"` Plugin map[string]map[string]map[any]any `yaml:"plugins"` + KupoUrl string `yaml:"kupo_url" envconfig:"KUPO_URL"` } type ApiConfig struct { @@ -67,8 +68,9 @@ var globalConfig = &Config{ ListenAddress: "localhost", ListenPort: 0, }, - Input: DefaultInputPlugin, - Output: DefaultOutputPlugin, + Input: DefaultInputPlugin, + Output: DefaultOutputPlugin, + KupoUrl: "", } func (c *Config) Load(configFile string) error {