diff --git a/api/default_networks_test.go b/api/default_networks_test.go index 681fdc5ea4..5c29eb586e 100644 --- a/api/default_networks_test.go +++ b/api/default_networks_test.go @@ -27,7 +27,6 @@ func TestBuildDefaultNetworks(t *testing.T) { actualNetworks := BuildDefaultNetworks(&request.WalletSecretsConfig) require.Len(t, actualNetworks, 8) - for _, n := range actualNetworks { var err error switch n.ChainID { @@ -53,8 +52,8 @@ func TestBuildDefaultNetworks(t *testing.T) { } // check fallback options - require.True(t, strings.Contains(n.RPCURL, rpcToken)) - require.True(t, strings.Contains(n.FallbackURL, fallbackToken)) + require.True(t, strings.Contains(n.RPCURL, infuraToken)) + require.True(t, strings.Contains(n.FallbackURL, poktToken)) // Check proxy providers for stageName for _, provider := range n.RpcProviders { diff --git a/params/network_config.go b/params/network_config.go index d27d3a0dab..65bc155838 100644 --- a/params/network_config.go +++ b/params/network_config.go @@ -36,6 +36,14 @@ type RpcProvider struct { AuthToken string `json:"authToken" validate:"omitempty,min=1"` // Token for TokenAuth (empty string if not used) } +// GetFullURL returns the URL with auth token if TokenAuth is used +func (p RpcProvider) GetFullURL() string { + if p.AuthType == TokenAuth && p.AuthToken != "" { + return p.URL + "/" + p.AuthToken + } + return p.URL +} + type TokenOverride struct { Symbol string `json:"symbol"` Address common.Address `json:"address"` diff --git a/params/networkhelper/provider_utils.go b/params/networkhelper/provider_utils.go index 1463d25681..f1253d6f8e 100644 --- a/params/networkhelper/provider_utils.go +++ b/params/networkhelper/provider_utils.go @@ -4,6 +4,8 @@ import ( "net/url" "strings" + "github.com/status-im/status-go/rpc/network/db" + "github.com/status-im/status-go/params" ) @@ -152,6 +154,7 @@ func OverrideDirectProvidersAuth(networks []params.Network, authTokens map[strin } } } + db.FillDeprecatedURLs(network, network.RpcProviders) } return updatedNetworks } diff --git a/rpc/network/db/utils.go b/rpc/network/db/utils.go index 6a45987c57..5cbdb45a1b 100644 --- a/rpc/network/db/utils.go +++ b/rpc/network/db/utils.go @@ -30,17 +30,17 @@ func FillDeprecatedURLs(network *params.Network, providers []params.RpcProvider) // Set original_*_url fields based on EmbeddedDirectProviderType providers if len(embeddedDirect) > 0 { - network.OriginalRPCURL = embeddedDirect[0].URL + network.OriginalRPCURL = embeddedDirect[0].GetFullURL() if len(embeddedDirect) > 1 { - network.OriginalFallbackURL = embeddedDirect[1].URL + network.OriginalFallbackURL = embeddedDirect[1].GetFullURL() } } // Set rpc_url and fallback_url based on User providers or EmbeddedDirectProviderType if no User providers exist if len(userProviders) > 0 { - network.RPCURL = userProviders[0].URL + network.RPCURL = userProviders[0].GetFullURL() if len(userProviders) > 1 { - network.FallbackURL = userProviders[1].URL + network.FallbackURL = userProviders[1].GetFullURL() } } else { // Default to EmbeddedDirectProviderType providers if no User providers exist @@ -50,12 +50,12 @@ func FillDeprecatedURLs(network *params.Network, providers []params.RpcProvider) // Set default_*_url fields based on EmbeddedProxyProviderType providers if len(embeddedProxy) > 0 { - network.DefaultRPCURL = embeddedProxy[0].URL + network.DefaultRPCURL = embeddedProxy[0].GetFullURL() if len(embeddedProxy) > 1 { - network.DefaultFallbackURL = embeddedProxy[1].URL + network.DefaultFallbackURL = embeddedProxy[1].GetFullURL() } if len(embeddedProxy) > 2 { - network.DefaultFallbackURL2 = embeddedProxy[2].URL + network.DefaultFallbackURL2 = embeddedProxy[2].GetFullURL() } } }