Skip to content

Commit 7de2670

Browse files
committed
fix_: issue from the PR
1 parent 4113fea commit 7de2670

File tree

7 files changed

+94
-56
lines changed

7 files changed

+94
-56
lines changed

api/default_networks.go

+42-30
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ const (
1717
ArbitrumSepoliaChainID uint64 = 421614
1818
sntSymbol = "SNT"
1919
sttSymbol = "STT"
20+
proxyNodefleet = "proxy-nodefleet"
21+
proxyInfura = "proxy-infura"
22+
proxyGrove = "proxy-grove"
23+
nodefleet = "nodefleet"
24+
infura = "infura"
25+
grove = "grove"
26+
directInfura = "direct-infura"
27+
directGrove = "direct-grove"
2028
)
2129

2230
func proxyUrl(stageName, provider, chainName, networkName string) string {
@@ -30,12 +38,12 @@ func mainnet(stageName string) params.Network {
3038

3139
rpcProviders := []params.RpcProvider{
3240
// Proxy providers
33-
*params.NewProxyProvider(chainID, "proxy-nodefleet", proxyUrl(stageName, "nodefleet", chainName, networkName), false),
34-
*params.NewProxyProvider(chainID, "proxy-infura", proxyUrl(stageName, "infura", chainName, networkName), false),
35-
*params.NewProxyProvider(chainID, "proxy-grove", proxyUrl(stageName, "grove", chainName, networkName), false),
41+
*params.NewProxyProvider(chainID, proxyNodefleet, proxyUrl(stageName, nodefleet, chainName, networkName), false),
42+
*params.NewProxyProvider(chainID, proxyInfura, proxyUrl(stageName, infura, chainName, networkName), false),
43+
*params.NewProxyProvider(chainID, proxyGrove, proxyUrl(stageName, grove, chainName, networkName), false),
3644
// Direct providers
37-
*params.NewDirectProvider(chainID, "direct-infura", "https://mainnet.infura.io/v3/", true),
38-
*params.NewDirectProvider(chainID, "direct-grove", "https://eth-archival.rpc.grove.city/v1/", false),
45+
*params.NewDirectProvider(chainID, directInfura, "https://mainnet.infura.io/v3/", true),
46+
*params.NewDirectProvider(chainID, directGrove, "https://eth-archival.rpc.grove.city/v1/", false),
3947
}
4048

4149
return params.Network{
@@ -63,12 +71,12 @@ func sepolia(stageName string) params.Network {
6371

6472
rpcProviders := []params.RpcProvider{
6573
// Proxy providers
66-
*params.NewProxyProvider(chainID, "proxy-nodefleet", proxyUrl(stageName, "nodefleet", chainName, networkName), false),
67-
*params.NewProxyProvider(chainID, "proxy-infura", proxyUrl(stageName, "infura", chainName, networkName), false),
68-
*params.NewProxyProvider(chainID, "proxy-grove", proxyUrl(stageName, "grove", chainName, networkName), true),
74+
*params.NewProxyProvider(chainID, proxyNodefleet, proxyUrl(stageName, nodefleet, chainName, networkName), false),
75+
*params.NewProxyProvider(chainID, proxyInfura, proxyUrl(stageName, infura, chainName, networkName), false),
76+
*params.NewProxyProvider(chainID, proxyGrove, proxyUrl(stageName, grove, chainName, networkName), true),
6977
// Direct providers
70-
*params.NewDirectProvider(chainID, "direct-infura", "https://sepolia.infura.io/v3/", true),
71-
*params.NewDirectProvider(chainID, "direct-grove", "https://sepolia-archival.rpc.grove.city/v1/", false),
78+
*params.NewDirectProvider(chainID, directInfura, "https://sepolia.infura.io/v3/", true),
79+
*params.NewDirectProvider(chainID, directGrove, "https://sepolia-archival.rpc.grove.city/v1/", false),
7280
}
7381

7482
return params.Network{
@@ -88,19 +96,20 @@ func sepolia(stageName string) params.Network {
8896
RelatedChainID: MainnetChainID,
8997
}
9098
}
99+
91100
func optimism(stageName string) params.Network {
92101
chainID := OptimismChainID
93102
chainName := "optimism"
94103
networkName := "mainnet"
95104

96105
rpcProviders := []params.RpcProvider{
97106
// Proxy providers
98-
*params.NewProxyProvider(chainID, "proxy-nodefleet", proxyUrl(stageName, "nodefleet", chainName, networkName), false),
99-
*params.NewProxyProvider(chainID, "proxy-infura", proxyUrl(stageName, "infura", chainName, networkName), false),
100-
*params.NewProxyProvider(chainID, "proxy-grove", proxyUrl(stageName, "grove", chainName, networkName), true),
107+
*params.NewProxyProvider(chainID, proxyNodefleet, proxyUrl(stageName, nodefleet, chainName, networkName), false),
108+
*params.NewProxyProvider(chainID, proxyInfura, proxyUrl(stageName, infura, chainName, networkName), false),
109+
*params.NewProxyProvider(chainID, proxyGrove, proxyUrl(stageName, grove, chainName, networkName), true),
101110
// Direct providers
102-
*params.NewDirectProvider(chainID, "direct-infura", "https://optimism-mainnet.infura.io/v3/", true),
103-
*params.NewDirectProvider(chainID, "direct-grove", "https://optimism-archival.rpc.grove.city/v1/", false),
111+
*params.NewDirectProvider(chainID, directInfura, "https://optimism-mainnet.infura.io/v3/", true),
112+
*params.NewDirectProvider(chainID, directGrove, "https://optimism-archival.rpc.grove.city/v1/", false),
104113
}
105114

106115
return params.Network{
@@ -120,19 +129,20 @@ func optimism(stageName string) params.Network {
120129
RelatedChainID: OptimismSepoliaChainID,
121130
}
122131
}
132+
123133
func optimismSepolia(stageName string) params.Network {
124134
chainID := OptimismSepoliaChainID
125135
chainName := "optimism"
126136
networkName := "sepolia"
127137

128138
rpcProviders := []params.RpcProvider{
129139
// Proxy providers
130-
*params.NewProxyProvider(chainID, "proxy-nodefleet", proxyUrl(stageName, "nodefleet", chainName, networkName), false),
131-
*params.NewProxyProvider(chainID, "proxy-infura", proxyUrl(stageName, "infura", chainName, networkName), false),
132-
*params.NewProxyProvider(chainID, "proxy-grove", proxyUrl(stageName, "grove", chainName, networkName), true),
140+
*params.NewProxyProvider(chainID, proxyNodefleet, proxyUrl(stageName, nodefleet, chainName, networkName), false),
141+
*params.NewProxyProvider(chainID, proxyInfura, proxyUrl(stageName, infura, chainName, networkName), false),
142+
*params.NewProxyProvider(chainID, proxyGrove, proxyUrl(stageName, grove, chainName, networkName), true),
133143
// Direct providers
134-
*params.NewDirectProvider(chainID, "direct-infura", "https://optimism-sepolia.infura.io/v3/", true),
135-
*params.NewDirectProvider(chainID, "direct-grove", "https://optimism-sepolia-archival.rpc.grove.city/v1/", false),
144+
*params.NewDirectProvider(chainID, directInfura, "https://optimism-sepolia.infura.io/v3/", true),
145+
*params.NewDirectProvider(chainID, directGrove, "https://optimism-sepolia-archival.rpc.grove.city/v1/", false),
136146
}
137147

138148
return params.Network{
@@ -152,19 +162,20 @@ func optimismSepolia(stageName string) params.Network {
152162
RelatedChainID: OptimismChainID,
153163
}
154164
}
165+
155166
func arbitrum(stageName string) params.Network {
156167
chainID := ArbitrumChainID
157168
chainName := "arbitrum"
158169
networkName := "mainnet"
159170

160171
rpcProviders := []params.RpcProvider{
161172
// Proxy providers
162-
*params.NewProxyProvider(chainID, "proxy-nodefleet", proxyUrl(stageName, "nodefleet", chainName, networkName), false),
163-
*params.NewProxyProvider(chainID, "proxy-infura", proxyUrl(stageName, "infura", chainName, networkName), false),
164-
*params.NewProxyProvider(chainID, "proxy-grove", proxyUrl(stageName, "grove", chainName, networkName), true),
173+
*params.NewProxyProvider(chainID, proxyNodefleet, proxyUrl(stageName, nodefleet, chainName, networkName), false),
174+
*params.NewProxyProvider(chainID, proxyInfura, proxyUrl(stageName, infura, chainName, networkName), false),
175+
*params.NewProxyProvider(chainID, proxyGrove, proxyUrl(stageName, grove, chainName, networkName), true),
165176
// Direct providers
166-
*params.NewDirectProvider(chainID, "direct-infura", "https://arbitrum-mainnet.infura.io/v3/", true),
167-
*params.NewDirectProvider(chainID, "direct-grove", "https://arbitrum-one.rpc.grove.city/v1/", false),
177+
*params.NewDirectProvider(chainID, directInfura, "https://arbitrum-mainnet.infura.io/v3/", true),
178+
*params.NewDirectProvider(chainID, directGrove, "https://arbitrum-one.rpc.grove.city/v1/", false),
168179
}
169180

170181
return params.Network{
@@ -184,19 +195,20 @@ func arbitrum(stageName string) params.Network {
184195
RelatedChainID: ArbitrumSepoliaChainID,
185196
}
186197
}
198+
187199
func arbitrumSepolia(stageName string) params.Network {
188200
chainID := ArbitrumSepoliaChainID
189201
chainName := "arbitrum"
190202
networkName := "sepolia"
191203

192204
rpcProviders := []params.RpcProvider{
193205
// Proxy providers
194-
*params.NewProxyProvider(chainID, "proxy-nodefleet", proxyUrl(stageName, "nodefleet", chainName, networkName), false),
195-
*params.NewProxyProvider(chainID, "proxy-infura", proxyUrl(stageName, "infura", chainName, networkName), false),
196-
*params.NewProxyProvider(chainID, "proxy-grove", proxyUrl(stageName, "grove", chainName, networkName), true),
206+
*params.NewProxyProvider(chainID, proxyNodefleet, proxyUrl(stageName, nodefleet, chainName, networkName), false),
207+
*params.NewProxyProvider(chainID, proxyInfura, proxyUrl(stageName, infura, chainName, networkName), false),
208+
*params.NewProxyProvider(chainID, proxyGrove, proxyUrl(stageName, grove, chainName, networkName), true),
197209
// Direct providers
198-
*params.NewDirectProvider(chainID, "direct-infura", "https://arbitrum-sepolia.infura.io/v3/", true),
199-
*params.NewDirectProvider(chainID, "direct-grove", "https://arbitrum-sepolia-archival.rpc.grove.city/v1/", false),
210+
*params.NewDirectProvider(chainID, directInfura, "https://arbitrum-sepolia.infura.io/v3/", true),
211+
*params.NewDirectProvider(chainID, directGrove, "https://arbitrum-sepolia-archival.rpc.grove.city/v1/", false),
200212
}
201213

202214
return params.Network{

api/default_networks_test.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,13 @@ func TestBuildDefaultNetworks(t *testing.T) {
6363

6464
// Check direct providers for tokens
6565
for _, provider := range n.RpcProviders {
66-
if provider.Type == params.EmbeddedDirectProviderType {
67-
if strings.Contains(provider.URL, "infura.io") {
68-
require.Equal(t, provider.AuthToken, infuraToken, "Direct provider URL should have infuraToken")
69-
} else if strings.Contains(provider.URL, "grove.city") {
70-
require.Equal(t, provider.AuthToken, poktToken, "Direct provider URL should have poktToken")
71-
}
66+
if provider.Type != params.EmbeddedDirectProviderType {
67+
continue
68+
}
69+
if strings.Contains(provider.URL, "infura.io") {
70+
require.Equal(t, provider.AuthToken, infuraToken, "Direct provider URL should have infuraToken")
71+
} else if strings.Contains(provider.URL, "grove.city") {
72+
require.Equal(t, provider.AuthToken, poktToken, "Direct provider URL should have poktToken")
7273
}
7374
}
7475
}

params/network_config.go

+9
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,15 @@ type Network struct {
7070
RelatedChainID uint64 `json:"relatedChainId" validate:"omitempty"`
7171
}
7272

73+
func (n *Network) DeepCopy() Network {
74+
updatedNetwork := *n
75+
updatedNetwork.RpcProviders = make([]RpcProvider, len(n.RpcProviders))
76+
copy(updatedNetwork.RpcProviders, n.RpcProviders)
77+
updatedNetwork.TokenOverrides = make([]TokenOverride, len(n.TokenOverrides))
78+
copy(updatedNetwork.TokenOverrides, n.TokenOverrides)
79+
return updatedNetwork
80+
}
81+
7382
func newRpcProvider(chainID uint64, name, url string, enableRpsLimiter bool, providerType RpcProviderType) *RpcProvider {
7483
return &RpcProvider{
7584
ChainID: chainID,

params/networkhelper/provider_utils.go

+1-10
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,10 @@ func OverrideEmbeddedProxyProviders(networks []params.Network, enabled bool, use
118118
return updatedNetworks
119119
}
120120

121-
func DeepCopyNetwork(network params.Network) params.Network {
122-
updatedNetwork := network
123-
updatedNetwork.RpcProviders = make([]params.RpcProvider, len(network.RpcProviders))
124-
copy(updatedNetwork.RpcProviders, network.RpcProviders)
125-
updatedNetwork.TokenOverrides = make([]params.TokenOverride, len(network.TokenOverrides))
126-
copy(updatedNetwork.TokenOverrides, network.TokenOverrides)
127-
return updatedNetwork
128-
}
129-
130121
func DeepCopyNetworks(networks []params.Network) []params.Network {
131122
updatedNetworks := make([]params.Network, len(networks))
132123
for i, network := range networks {
133-
updatedNetworks[i] = DeepCopyNetwork(network)
124+
updatedNetworks[i] = network.DeepCopy()
134125
}
135126
return updatedNetworks
136127
}

params/networkhelper/provider_utils_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func TestDeepCopyNetwork(t *testing.T) {
154154
{Symbol: "token1", Address: common.HexToAddress("0x123")},
155155
}
156156

157-
copiedNetwork := networkhelper.DeepCopyNetwork(*originalNetwork)
157+
copiedNetwork := originalNetwork.DeepCopy()
158158

159159
assert.True(t, reflect.DeepEqual(originalNetwork, &copiedNetwork), "Copied network should be deeply equal to the original")
160160

rpc/client.go

+33-8
Original file line numberDiff line numberDiff line change
@@ -297,18 +297,43 @@ func (c *Client) getEthClients(network *params.Network) []ethclient.RPSLimitedEt
297297
headers.Set("User-Agent", rpcUserAgentName)
298298

299299
// Set up authentication if needed
300-
if provider.AuthType != params.NoAuth {
301-
switch provider.AuthType {
302-
case params.BasicAuth:
303-
authEncoded := base64.StdEncoding.EncodeToString([]byte(provider.AuthLogin + ":" + provider.AuthPassword))
304-
headers.Set("Authorization", "Basic "+authEncoded)
305-
case params.TokenAuth:
306-
provider.URL = provider.URL + provider.AuthToken
307-
}
300+
switch provider.AuthType {
301+
case params.BasicAuth:
302+
authEncoded := base64.StdEncoding.EncodeToString([]byte(provider.AuthLogin + ":" + provider.AuthPassword))
303+
headers.Set("Authorization", "Basic "+authEncoded)
304+
case params.TokenAuth:
305+
provider.URL = provider.URL + provider.AuthToken
306+
case params.NoAuth:
307+
// no-op
308+
default:
309+
c.logger.Error("unknown auth type", zap.String("auth_type", string(provider.AuthType)))
308310
}
309311

310312
opts = append(opts, gethrpc.WithHeaders(headers))
311313

314+
// print provider details:
315+
c.logger.Info("RPC provider",
316+
zap.String("name", provider.Name),
317+
zap.String("url", provider.URL),
318+
zap.Bool("enabled", provider.Enabled),
319+
zap.Bool("rps_limiter", provider.EnableRPSLimiter),
320+
// token
321+
zap.String("auth_login", provider.AuthLogin),
322+
zap.String("auth_password", provider.AuthPassword),
323+
zap.String("auth_token", provider.AuthToken),
324+
)
325+
// print the same with fmt.println
326+
fmt.Println("RPC provider",
327+
"name", provider.Name,
328+
"url", provider.URL,
329+
"enabled", provider.Enabled,
330+
"rps_limiter", provider.EnableRPSLimiter,
331+
// token
332+
"auth_login", provider.AuthLogin,
333+
"auth_password", provider.AuthPassword,
334+
"auth_token", provider.AuthToken,
335+
)
336+
312337
// Dial the RPC client
313338
rpcClient, err := gethrpc.DialOptions(context.Background(), provider.URL, opts...)
314339
if err != nil {

rpc/network/network.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func (nm *Manager) setEmbeddedProviders(networks []*params.Network) {
138138

139139
// networkWithoutEmbeddedProviders returns a copy of the given network without embedded RPC providers.
140140
func (nm *Manager) networkWithoutEmbeddedProviders(network *params.Network) *params.Network {
141-
networkCopy := networkhelper.DeepCopyNetwork(*network)
141+
networkCopy := network.DeepCopy()
142142
networkCopy.RpcProviders = networkhelper.GetUserProviders(network.RpcProviders)
143143
return &networkCopy
144144
}

0 commit comments

Comments
 (0)