Skip to content

Commit 1ecae6e

Browse files
committed
address PR feedback part 1
1 parent d4927e9 commit 1ecae6e

8 files changed

+45
-66
lines changed

params/config.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ type NodeConfig struct {
481481
// (persistent storage of user's mailserver records).
482482
MailserversConfig MailserversConfig
483483

484-
// Web3ProviderConfig extra configuration for provider.Service
484+
// Web3ProviderConfig extra configuration for provider.Service.
485485
// (desktop provider API)
486486
Web3ProviderConfig Web3ProviderConfig
487487

params/network_config.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type Network struct {
4747
RpcProviders []RpcProvider `json:"rpcProviders" validate:"dive,required"` // List of RPC providers, in the order in which they are accessed
4848

4949
// Deprecated fields (kept for backward compatibility)
50-
// FIXME: remove deprecated fields (keeping until client integrate this). TODO: add ticket URL
50+
// FIXME: Removal of deprecated fields in integration PR https://github.com/status-im/status-go/pull/6178
5151
DefaultRPCURL string `json:"defaultRpcUrl" validate:"omitempty,url"` // Deprecated: proxy rpc url
5252
DefaultFallbackURL string `json:"defaultFallbackURL" validate:"omitempty,url"` // Deprecated: proxy fallback url
5353
DefaultFallbackURL2 string `json:"defaultFallbackURL2" validate:"omitempty,url"` // Deprecated: second proxy fallback url

params/networkhelper/provider_utils.go

+33-40
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
// preserving user-defined providers and maintaining the Enabled state.
1212
func MergeProvidersPreservingUsersAndEnabledState(currentProviders, newProviders []params.RpcProvider) []params.RpcProvider {
1313
// Create a map for quick lookup of the Enabled state by Name
14-
enabledState := make(map[string]bool)
14+
enabledState := make(map[string]bool, len(currentProviders))
1515
for _, provider := range currentProviders {
1616
enabledState[provider.Name] = provider.Enabled
1717
}
@@ -24,7 +24,7 @@ func MergeProvidersPreservingUsersAndEnabledState(currentProviders, newProviders
2424
}
2525

2626
// Retain current providers of type UserProviderType and add them to the beginning of the list
27-
var mergedProviders []params.RpcProvider
27+
mergedProviders := make([]params.RpcProvider, 0, len(currentProviders)+len(newProviders))
2828
for _, provider := range currentProviders {
2929
if provider.Type == params.UserProviderType {
3030
mergedProviders = append(mergedProviders, provider)
@@ -119,58 +119,51 @@ func OverrideEmbeddedProxyProviders(networks []params.Network, enabled bool, use
119119

120120
func OverrideDirectProvidersAuth(networks []params.Network, authTokens map[string]string) []params.Network {
121121
updatedNetworks := make([]params.Network, len(networks))
122-
for i, network := range networks {
123-
updatedNetwork := network
124-
updatedProviders := make([]params.RpcProvider, len(network.RpcProviders))
122+
copy(updatedNetworks, networks)
125123

126-
for j, provider := range network.RpcProviders {
127-
updatedProvider := provider
128-
129-
if provider.Type == params.EmbeddedDirectProviderType {
130-
host, err := extractHost(provider.URL)
131-
if err == nil {
132-
for suffix, token := range authTokens {
133-
if strings.HasSuffix(host, suffix) && token != "" {
134-
updatedProvider.AuthType = params.TokenAuth
135-
updatedProvider.AuthToken = token
136-
break
137-
}
138-
}
139-
}
124+
for i := range updatedNetworks {
125+
network := &updatedNetworks[i]
126+
127+
for j := range network.RpcProviders {
128+
provider := &network.RpcProviders[j]
129+
130+
if provider.Type != params.EmbeddedDirectProviderType {
131+
continue
140132
}
141133

142-
updatedProviders[j] = updatedProvider
143-
}
134+
host, err := extractHost(provider.URL)
135+
if err != nil {
136+
continue
137+
}
144138

145-
updatedNetwork.RpcProviders = updatedProviders
146-
updatedNetworks[i] = updatedNetwork
139+
for suffix, token := range authTokens {
140+
if strings.HasSuffix(host, suffix) && token != "" {
141+
provider.AuthType = params.TokenAuth
142+
provider.AuthToken = token
143+
break
144+
}
145+
}
146+
}
147147
}
148148
return updatedNetworks
149149
}
150150

151151
func OverrideGanacheToken(networks []params.Network, ganacheURL string, chainID uint64, tokenOverride params.TokenOverride) []params.Network {
152152
updatedNetworks := make([]params.Network, len(networks))
153-
for i, network := range networks {
154-
updatedNetwork := network
153+
copy(updatedNetworks, networks)
155154

156-
if network.ChainID == chainID {
157-
updatedProviders := make([]params.RpcProvider, len(network.RpcProviders))
155+
for i := range updatedNetworks {
156+
network := &updatedNetworks[i]
158157

159-
for j, provider := range network.RpcProviders {
160-
updatedProvider := provider
161-
if ganacheURL != "" {
162-
updatedProvider.URL = ganacheURL
163-
}
164-
updatedProviders[j] = updatedProvider
165-
}
166-
167-
updatedNetwork.RpcProviders = updatedProviders
168-
updatedNetwork.TokenOverrides = []params.TokenOverride{
169-
tokenOverride,
158+
if network.ChainID != chainID {
159+
continue
160+
}
161+
for j := range network.RpcProviders {
162+
if ganacheURL != "" {
163+
network.RpcProviders[j].URL = ganacheURL
170164
}
171165
}
172-
173-
updatedNetworks[i] = updatedNetwork
166+
network.TokenOverrides = []params.TokenOverride{tokenOverride}
174167
}
175168
return updatedNetworks
176169
}

params/networkhelper/provider_utils_test.go

+5-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package networkhelper_test
22

33
import (
4+
"reflect"
45
"strings"
56
"testing"
67

8+
"github.com/brianvoe/gofakeit/v6"
79
"github.com/stretchr/testify/assert"
810
"github.com/stretchr/testify/require"
911

@@ -48,13 +50,7 @@ func TestMergeProvidersPreserveEnabledAndOrder(t *testing.T) {
4850
}
4951

5052
// Assertions
51-
require.Len(t, mergedProviders, len(expectedProviders), "Expected %d providers after merging", len(expectedProviders))
52-
53-
// Compare providers
54-
for i, expectedProvider := range expectedProviders {
55-
actualProvider := mergedProviders[i]
56-
testutil.CompareProviders(t, expectedProvider, actualProvider)
57-
}
53+
require.True(t, reflect.DeepEqual(mergedProviders, expectedProviders), "Merged providers should match the expected providers")
5854
}
5955
func TestUpdateEmbeddedProxyProviders(t *testing.T) {
6056
// Arrange: Create a sample list of networks with various provider types
@@ -71,8 +67,8 @@ func TestUpdateEmbeddedProxyProviders(t *testing.T) {
7167
networks[0].RpcProviders[1].Enabled = false
7268
networks[1].RpcProviders[1].Enabled = false
7369

74-
user := "test_user"
75-
password := "test_password"
70+
user := gofakeit.Username()
71+
password := gofakeit.LetterN(5)
7672

7773
// Call the function to update embedded-proxy providers
7874
updatedNetworks := networkhelper.OverrideEmbeddedProxyProviders(networks, true, user, password)

rpc/network/db/network_db.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (n *NetworksPersistence) GetNetworks(onlyEnabled bool, chainID *uint64) ([]
8181
}
8282
defer rows.Close()
8383

84-
var result []*params.Network
84+
result := make([]*params.Network, 0, 10)
8585
for rows.Next() {
8686
network := &params.Network{}
8787
err := rows.Scan(

rpc/network/db/network_db_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func DefaultProviders(chainID uint64) []params.RpcProvider {
6666

6767
// Helper function to add and verify networks
6868
func (s *NetworksPersistenceTestSuite) addAndVerifyNetworks(networks []*params.Network) {
69-
var networkValues []params.Network
69+
networkValues := make([]params.Network, 0, len(networks))
7070
for _, network := range networks {
7171
networkValues = append(networkValues, *network)
7272
}

rpc/network/db/rpc_provider_db.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func (p *RpcProvidersPersistence) GetRpcProvidersByType(chainID uint64, provider
101101
return nil, err
102102
}
103103

104-
var result []params.RpcProvider
104+
result := make([]params.RpcProvider, 0, len(allProviders))
105105
for _, provider := range allProviders {
106106
if provider.Type == providerType {
107107
result = append(result, provider)

rpc/network/testutil/testutil.go

+2-12
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func CompareNetworks(t require.TestingT, expected, actual *params.Network) {
8383
// Helper function to compare lists of providers
8484
func CompareProvidersList(t require.TestingT, expectedProviders, actualProviders []params.RpcProvider) {
8585
require.Len(t, actualProviders, len(expectedProviders))
86-
expectedMap := make(map[string]params.RpcProvider)
86+
expectedMap := make(map[string]params.RpcProvider, len(expectedProviders))
8787
for _, provider := range expectedProviders {
8888
expectedMap[provider.Name] = provider
8989
}
@@ -98,7 +98,7 @@ func CompareProvidersList(t require.TestingT, expectedProviders, actualProviders
9898
// Helper function to compare lists of networks
9999
func CompareNetworksList(t require.TestingT, expectedNetworks, actualNetworks []*params.Network) {
100100
require.Len(t, actualNetworks, len(expectedNetworks))
101-
expectedMap := make(map[uint64]*params.Network)
101+
expectedMap := make(map[uint64]*params.Network, len(expectedNetworks))
102102
for _, network := range expectedNetworks {
103103
expectedMap[network.ChainID] = network
104104
}
@@ -109,13 +109,3 @@ func CompareNetworksList(t require.TestingT, expectedNetworks, actualNetworks []
109109
CompareNetworks(t, expectedNetwork, network)
110110
}
111111
}
112-
func ConvertNetworksToPointers(networks []params.Network) []*params.Network {
113-
result := make([]*params.Network, len(networks))
114-
for i := range networks {
115-
// Create a copy of the current network
116-
network := networks[i]
117-
// Store a pointer to the copy
118-
result[i] = &network
119-
}
120-
return result
121-
}

0 commit comments

Comments
 (0)