From a56bd8a8e6705399eeeee33091acb7947dd0c068 Mon Sep 17 00:00:00 2001 From: Sameh Abouel-saad Date: Wed, 22 Jan 2025 12:59:52 +0200 Subject: [PATCH] support multiple substrate URLs --- bridge/docs/observability.md | 2 +- bridge/tfchain_bridge/main.go | 2 +- bridge/tfchain_bridge/pkg/config.go | 2 +- bridge/tfchain_bridge/pkg/logger/logger.go | 2 +- bridge/tfchain_bridge/pkg/substrate/client.go | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bridge/docs/observability.md b/bridge/docs/observability.md index 0288a8205..0f29ef468 100644 --- a/bridge/docs/observability.md +++ b/bridge/docs/observability.md @@ -134,7 +134,7 @@ the source field set contains all fields which are included in the source object | Instance_public_key | string | yes | Instance public key which you can use to filter logs by instance | | Bridge_wallet_address | string | yes | The bridge account address which you can use to filter logs by bridge | | Stellar_network | string | yes | Stellar network name which you can use to filter logs by environment | -| Tfchain_url | string | yes | The url of the substrate rpc node which you can use to filter logs by environment | +| Tfchain_url | []string | yes | The urls of the substrate rpc node which you can use to filter logs by environment | #### Event-specific fields: diff --git a/bridge/tfchain_bridge/main.go b/bridge/tfchain_bridge/main.go index f8f677567..baf7251eb 100644 --- a/bridge/tfchain_bridge/main.go +++ b/bridge/tfchain_bridge/main.go @@ -18,7 +18,7 @@ func main() { var bridgeCfg pkg.BridgeConfig var debug bool - flag.StringVar(&bridgeCfg.TfchainURL, "tfchainurl", "", "Tfchain websocket url") + flag.StringArrayVar(&bridgeCfg.TfchainURL, "tfchainurl", []string{}, "Tfchain websocket url") flag.StringVar(&bridgeCfg.TfchainSeed, "tfchainseed", "", "Tfchain secret seed") flag.StringVar(&bridgeCfg.StellarBridgeAccount, "bridgewallet", "", "stellar bridge wallet") flag.StringVar(&bridgeCfg.StellarSeed, "secret", "", "stellar secret") diff --git a/bridge/tfchain_bridge/pkg/config.go b/bridge/tfchain_bridge/pkg/config.go index 76d869d73..87fba7276 100644 --- a/bridge/tfchain_bridge/pkg/config.go +++ b/bridge/tfchain_bridge/pkg/config.go @@ -3,7 +3,7 @@ package pkg import "errors" type BridgeConfig struct { - TfchainURL string + TfchainURL []string TfchainSeed string RescanBridgeAccount bool PersistencyFile string diff --git a/bridge/tfchain_bridge/pkg/logger/logger.go b/bridge/tfchain_bridge/pkg/logger/logger.go index e4b371818..6ca3f0072 100644 --- a/bridge/tfchain_bridge/pkg/logger/logger.go +++ b/bridge/tfchain_bridge/pkg/logger/logger.go @@ -25,7 +25,7 @@ type SourceCommonLogEntry struct { Instance_public_key string Bridge_wallet_address string Stellar_network string - Tfchain_url string + Tfchain_url []string } type refundReasonKey struct{} diff --git a/bridge/tfchain_bridge/pkg/substrate/client.go b/bridge/tfchain_bridge/pkg/substrate/client.go index d3461b458..a47fffaa2 100644 --- a/bridge/tfchain_bridge/pkg/substrate/client.go +++ b/bridge/tfchain_bridge/pkg/substrate/client.go @@ -32,8 +32,8 @@ type SubstrateClient struct { } // NewSubstrate creates a substrate client -func NewSubstrateClient(url string, seed string) (*SubstrateClient, error) { - mngr := substrate.NewManager(url) +func NewSubstrateClient(url []string, seed string) (*SubstrateClient, error) { + mngr := substrate.NewManager(url...) cl, err := mngr.Substrate() if err != nil { return nil, err