Skip to content

Commit fe52f62

Browse files
committed
chore: remove legacy embedded proxy provider
Remove embedded-proxy provider generation and related auth/config plumbing, keeping smart proxy and direct providers as the supported RPC paths.
1 parent 9db1a9c commit fe52f62

20 files changed

Lines changed: 54 additions & 171 deletions

File tree

internal/logutils/callog/status_request_log.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ var sensitiveKeys = []string{
4040
"openSeaApiKey",
4141
"marketDataProxyUser",
4242
"marketDataProxyPassword",
43-
"statusProxyBlockchainUser",
44-
"statusProxyBlockchainPassword",
4543
"verifyENSURL",
4644
"verifyTransactionURL",
4745
"gifs/api-key",

internal/rpc/client_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ func TestGetClientsUsingCache(t *testing.T) {
4343

4444
// Define paths for providers
4545
paths := []string{
46-
"/api.status.im/nodefleet/foo",
47-
"/api.status.im/infura/bar",
48-
"/api.status.im/infura.io/baz",
46+
"/eth-rpc.status.im/nodefleet/foo",
47+
"/eth-rpc.status.im/infura/bar",
48+
"/eth-rpc.status.im/infura.io/baz",
4949
}
5050
user, password := gofakeit.Username(), gofakeit.LetterN(5)
5151

@@ -72,7 +72,7 @@ func TestGetClientsUsingCache(t *testing.T) {
7272
Name: fmt.Sprintf("Provider%d", i+1),
7373
ChainID: 1,
7474
URL: security.NewSensitiveString(baseURL).Append(path),
75-
Type: params.EmbeddedProxyProviderType,
75+
Type: params.EmbeddedEthRpcProxyProviderType,
7676
AuthType: params.BasicAuth,
7777
AuthLogin: security.NewSensitiveString("incorrectUser"),
7878
AuthPassword: security.NewSensitiveString("incorrectPwd"), // will be replaced by correct values by OverrideBasicAuth
@@ -92,7 +92,7 @@ func TestGetClientsUsingCache(t *testing.T) {
9292

9393
networks = networkhelper.OverrideBasicAuth(
9494
networks,
95-
params.EmbeddedProxyProviderType,
95+
params.EmbeddedEthRpcProxyProviderType,
9696
true,
9797
security.NewSensitiveString(user),
9898
security.NewSensitiveString(password))

internal/rpc/network/db/network_db_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func DefaultProviders(chainID uint64) []params.RpcProvider {
5757
Name: "Provider2",
5858
ChainID: chainID,
5959
URL: security.NewSensitiveString("https://rpc.provider2.io"),
60-
Type: params.EmbeddedProxyProviderType,
60+
Type: params.EmbeddedEthRpcProxyProviderType,
6161
Enabled: true,
6262
AuthType: params.BasicAuth,
6363
AuthLogin: security.NewSensitiveString("user1"),
@@ -101,7 +101,7 @@ func (s *NetworksPersistenceTestSuite) verifyNetworkDeletion(chainID uint64) {
101101
func (s *NetworksPersistenceTestSuite) TestAddAndGetNetworkWithProviders() {
102102
network := testutil.CreateNetwork(common.OptimismMainnet, "Optimism Mainnet", []params.RpcProvider{
103103
testutil.CreateProvider(common.OptimismMainnet, "Provider1", params.UserProviderType, true, security.NewSensitiveString("https://rpc.optimism.io")),
104-
testutil.CreateProvider(common.OptimismMainnet, "Provider2", params.EmbeddedProxyProviderType, false, security.NewSensitiveString("https://backup.optimism.io")),
104+
testutil.CreateProvider(common.OptimismMainnet, "Provider2", params.EmbeddedEthRpcProxyProviderType, false, security.NewSensitiveString("https://backup.optimism.io")),
105105
})
106106
s.addAndVerifyNetworks([]*params.Network{network})
107107
}

internal/rpc/network/db/rpc_provider_db_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (s *RpcProviderPersistenceTestSuite) TestGetRpcProvidersByType() {
5858
testutil.CreateProvider(common.EthereumMainnet, "UserProvider1", params.UserProviderType, true, security.NewSensitiveString("https://provider1.example.com")),
5959
testutil.CreateProvider(common.EthereumMainnet, "EmbeddedDirect1", params.EmbeddedDirectProviderType, false, security.NewSensitiveString("https://provider2.example.com")),
6060
testutil.CreateProvider(common.EthereumMainnet, "UserProvider2", params.UserProviderType, false, security.NewSensitiveString("https://provider3.example.com")),
61-
testutil.CreateProvider(common.EthereumMainnet, "EmbeddedProxy1", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://provider4.example.com")),
61+
testutil.CreateProvider(common.EthereumMainnet, "EmbeddedEthRpcProxy1", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://provider4.example.com")),
6262
}
6363

6464
for _, provider := range providers {
@@ -75,7 +75,7 @@ func (s *RpcProviderPersistenceTestSuite) TestGetRpcProvidersByType() {
7575
s.Require().NoError(err)
7676
testutil.CompareProvidersList(s.T(), []params.RpcProvider{providers[1]}, embeddedDirectProviders)
7777

78-
embeddedProxyProviders, err := s.rpcPersistence.GetRpcProvidersByType(common.EthereumMainnet, params.EmbeddedProxyProviderType)
78+
embeddedProxyProviders, err := s.rpcPersistence.GetRpcProvidersByType(common.EthereumMainnet, params.EmbeddedEthRpcProxyProviderType)
7979
s.Require().NoError(err)
8080
testutil.CompareProvidersList(s.T(), []params.RpcProvider{providers[3]}, embeddedProxyProviders)
8181
}
@@ -132,7 +132,7 @@ func (s *RpcProviderPersistenceTestSuite) TestSetRpcProviders() {
132132

133133
newProviders := []params.RpcProvider{
134134
testutil.CreateProvider(common.EthereumMainnet, "NewProvider1", params.UserProviderType, true, security.NewSensitiveString("https://newprovider1.example.com")),
135-
testutil.CreateProvider(common.EthereumMainnet, "NewProvider2", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://newprovider2.example.com")),
135+
testutil.CreateProvider(common.EthereumMainnet, "NewProvider2", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://newprovider2.example.com")),
136136
}
137137

138138
err := s.rpcPersistence.SetRpcProviders(common.EthereumMainnet, newProviders)

internal/rpc/network/db/utils.go

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,17 @@ import (
99
)
1010

1111
// Deprecated: fillDeprecatedURLs populates the `original_rpc_url`, `original_fallback_url`, `rpc_url`,
12-
// `fallback_url`, `defaultRpcUrl`, `defaultFallbackURL`, and `defaultFallbackURL2` fields.
12+
// and `fallback_url` fields.
1313
// Keep for backwrad compatibility until it's fully integrated
1414
func FillDeprecatedURLs(network *params.Network, providers []params.RpcProvider) {
1515
var embeddedDirect []params.RpcProvider
16-
var embeddedProxy []params.RpcProvider
1716
var userProviders []params.RpcProvider
1817

1918
// Categorize providers
2019
for _, provider := range providers {
2120
switch provider.Type {
2221
case params.EmbeddedDirectProviderType:
2322
embeddedDirect = append(embeddedDirect, provider)
24-
case params.EmbeddedProxyProviderType:
25-
embeddedProxy = append(embeddedProxy, provider)
2623
case params.UserProviderType:
2724
userProviders = append(userProviders, provider)
2825
}
@@ -47,17 +44,6 @@ func FillDeprecatedURLs(network *params.Network, providers []params.RpcProvider)
4744
network.RPCURL = network.OriginalRPCURL
4845
network.FallbackURL = network.OriginalFallbackURL
4946
}
50-
51-
// Set default_*_url fields based on EmbeddedProxyProviderType providers
52-
if len(embeddedProxy) > 0 {
53-
network.DefaultRPCURL = embeddedProxy[0].GetFullURL().Reveal()
54-
if len(embeddedProxy) > 1 {
55-
network.DefaultFallbackURL = embeddedProxy[1].GetFullURL().Reveal()
56-
}
57-
if len(embeddedProxy) > 2 {
58-
network.DefaultFallbackURL2 = embeddedProxy[2].GetFullURL().Reveal()
59-
}
60-
}
6147
}
6248

6349
func ExecuteWithinTransaction(db *sql.DB, fn func(tx *sql.Tx) error) (err error) {

internal/rpc/network/network_test.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func (s *NetworkManagerTestSuite) TestInitNetworksKeepsUserProviders() {
117117
// Re-initialize networks
118118
initNetworks := []params.Network{
119119
*testutil.CreateNetwork(common.EthereumMainnet, "Ethereum Mainnet", []params.RpcProvider{
120-
testutil.CreateProvider(common.EthereumMainnet, "Infura Mainnet", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
120+
testutil.CreateProvider(common.EthereumMainnet, "Infura Mainnet", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
121121
}),
122122
}
123123
err = s.manager.InitEmbeddedNetworks(initNetworks)
@@ -137,7 +137,7 @@ func (s *NetworkManagerTestSuite) TestInitNetworksDoesNotSaveEmbeddedProviders()
137137
// Re-initialize networks
138138
initNetworks := []params.Network{
139139
*testutil.CreateNetwork(common.EthereumMainnet, "Ethereum Mainnet", []params.RpcProvider{
140-
testutil.CreateProvider(common.EthereumMainnet, "Infura Mainnet", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
140+
testutil.CreateProvider(common.EthereumMainnet, "Infura Mainnet", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
141141
}),
142142
}
143143
err := s.manager.InitEmbeddedNetworks(initNetworks)
@@ -154,7 +154,7 @@ func (s *NetworkManagerTestSuite) TestInitEmbeddedNetworks() {
154154
// Re-initialize networks
155155
initNetworks := []params.Network{
156156
*testutil.CreateNetwork(common.EthereumMainnet, "Ethereum Mainnet", []params.RpcProvider{
157-
testutil.CreateProvider(common.EthereumMainnet, "Infura Mainnet", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
157+
testutil.CreateProvider(common.EthereumMainnet, "Infura Mainnet", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
158158
}),
159159
}
160160
expectedProviders := networkhelper.GetEmbeddedProviders(initNetworks[0].RpcProviders)
@@ -211,9 +211,9 @@ func (s *NetworkManagerTestSuite) TestLegacyFieldPopulation() {
211211
*testutil.CreateNetwork(common.EthereumMainnet, "Ethereum Mainnet", []params.RpcProvider{
212212
testutil.CreateProvider(common.EthereumMainnet, "DirectProvider1", params.EmbeddedDirectProviderType, true, security.NewSensitiveString("https://direct1.ethereum.io")),
213213
testutil.CreateProvider(common.EthereumMainnet, "DirectProvider2", params.EmbeddedDirectProviderType, true, security.NewSensitiveString("https://direct2.ethereum.io")),
214-
testutil.CreateProvider(common.EthereumMainnet, "ProxyProvider1", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://proxy1.ethereum.io")),
215-
testutil.CreateProvider(common.EthereumMainnet, "ProxyProvider2", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://proxy2.ethereum.io")),
216-
testutil.CreateProvider(common.EthereumMainnet, "ProxyProvider3", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://proxy3.ethereum.io")),
214+
testutil.CreateProvider(common.EthereumMainnet, "ProxyProvider1", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://proxy1.ethereum.io")),
215+
testutil.CreateProvider(common.EthereumMainnet, "ProxyProvider2", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://proxy2.ethereum.io")),
216+
testutil.CreateProvider(common.EthereumMainnet, "ProxyProvider3", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://proxy3.ethereum.io")),
217217
testutil.CreateProvider(common.EthereumMainnet, "UserProvider1", params.UserProviderType, true, security.NewSensitiveString("https://user1.ethereum.io")),
218218
testutil.CreateProvider(common.EthereumMainnet, "UserProvider2", params.UserProviderType, true, security.NewSensitiveString("https://user2.ethereum.io")),
219219
}),
@@ -236,18 +236,18 @@ func (s *NetworkManagerTestSuite) TestLegacyFieldPopulation() {
236236
s.Equal("https://direct2.ethereum.io", network.OriginalFallbackURL)
237237
s.Equal("https://user1.ethereum.io", network.RPCURL)
238238
s.Equal("https://user2.ethereum.io", network.FallbackURL)
239-
s.Equal("https://proxy1.ethereum.io", network.DefaultRPCURL)
240-
s.Equal("https://proxy2.ethereum.io", network.DefaultFallbackURL)
241-
s.Equal("https://proxy3.ethereum.io", network.DefaultFallbackURL2)
239+
s.Empty(network.DefaultRPCURL)
240+
s.Empty(network.DefaultFallbackURL)
241+
s.Empty(network.DefaultFallbackURL2)
242242
}
243243

244244
func (s *NetworkManagerTestSuite) TestLegacyFieldPopulationWithoutUserProviders() {
245245
// Create a test network with only EmbeddedDirect and EmbeddedProxy providers
246246
initNetworks := []params.Network{
247247
*testutil.CreateNetwork(common.EthereumSepolia, "Sepolia Testnet", []params.RpcProvider{
248248
testutil.CreateProvider(common.EthereumSepolia, "DirectProvider1", params.EmbeddedDirectProviderType, true, security.NewSensitiveString("https://direct1.sepolia.io")),
249-
testutil.CreateProvider(common.EthereumSepolia, "ProxyProvider1", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://proxy1.sepolia.io")),
250-
testutil.CreateProvider(common.EthereumSepolia, "ProxyProvider2", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://proxy2.sepolia.io")),
249+
testutil.CreateProvider(common.EthereumSepolia, "ProxyProvider1", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://proxy1.sepolia.io")),
250+
testutil.CreateProvider(common.EthereumSepolia, "ProxyProvider2", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://proxy2.sepolia.io")),
251251
}),
252252
}
253253

@@ -268,17 +268,17 @@ func (s *NetworkManagerTestSuite) TestLegacyFieldPopulationWithoutUserProviders(
268268
s.Empty(network.OriginalFallbackURL) // No second EmbeddedDirect provider
269269
s.Equal("https://direct1.sepolia.io", network.RPCURL) // Defaults to OriginalRPCURL
270270
s.Empty(network.FallbackURL) // Defaults to OriginalFallbackURL, which is empty
271-
s.Equal("https://proxy1.sepolia.io", network.DefaultRPCURL)
272-
s.Equal("https://proxy2.sepolia.io", network.DefaultFallbackURL)
273-
s.Empty(network.DefaultFallbackURL2) // No third Proxy provider
271+
s.Empty(network.DefaultRPCURL)
272+
s.Empty(network.DefaultFallbackURL)
273+
s.Empty(network.DefaultFallbackURL2)
274274
}
275275

276276
func (s *NetworkManagerTestSuite) TestUpsertNetwork() {
277277
chainID := uint64(999)
278278

279279
// Create a new network
280280
newNetwork := testutil.CreateNetwork(chainID, "Ethereum Mainnet", []params.RpcProvider{
281-
testutil.CreateProvider(chainID, "Infura Mainnet", params.EmbeddedProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
281+
testutil.CreateProvider(chainID, "Infura Mainnet", params.EmbeddedEthRpcProxyProviderType, true, security.NewSensitiveString("https://mainnet.infura.io")),
282282
})
283283
// Check that these values are overiden for upserted networks
284284
newNetwork.IsActive = true

internal/rpc/network/testutil/testutil.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ func MinimalActiveNetworks() []params.Network {
125125
CreateProvider(
126126
common.EthereumMainnet,
127127
"Dummy Provider",
128-
params.EmbeddedProxyProviderType,
128+
params.EmbeddedEthRpcProxyProviderType,
129129
true,
130130
security.NewSensitiveString("http://localhost:0"),
131131
),

params/config.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,6 @@ type WalletConfig struct {
231231
CoingeckoDemoAPIKey security.SensitiveString `json:"CoingeckoDemoAPIKey"`
232232
MarketDataProxyConfig MarketDataProxyConfig `json:"MarketDataProxyConfig"`
233233
NftProxyConfig NftProxyConfig `json:"NftProxyConfig"`
234-
StatusProxyUser security.SensitiveString `json:"StatusProxyBlockchainUser"`
235-
StatusProxyPassword security.SensitiveString `json:"StatusProxyBlockchainPassword"`
236234

237235
StatusProxyStageName string `json:"StatusProxyStageName"`
238236
EnableMercuryoProvider bool `json:"EnableMercuryoProvider"`

params/network_config.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ const (
2222
type RpcProviderType string
2323

2424
const (
25-
EmbeddedProxyProviderType RpcProviderType = "embedded-proxy" // Proxy-based RPC provider
2625
EmbeddedEthRpcProxyProviderType RpcProviderType = "embedded-eth-rpc-proxy" // EthRpcProxy-based RPC provider (smart proxy)
2726
EmbeddedDirectProviderType RpcProviderType = "embedded-direct" // Direct RPC provider
2827
UserProviderType RpcProviderType = "user" // User-defined RPC provider
@@ -35,7 +34,7 @@ type RpcProvider struct {
3534
Name string `json:"name" validate:"required,min=1"` // Provider name for identification
3635
URL security.SensitiveString `json:"url" validate:"required,url"` // Current Provider URL
3736
EnableRPSLimiter bool `json:"enableRpsLimiter"` // Enable RPC rate limiting for this provider
38-
Type RpcProviderType `json:"type" validate:"required,oneof=embedded-proxy embedded-eth-rpc-proxy embedded-direct user"`
37+
Type RpcProviderType `json:"type" validate:"required,oneof=embedded-eth-rpc-proxy embedded-direct user"`
3938
Enabled bool `json:"enabled"` // Whether the provider is enabled
4039
// Authentication
4140
AuthType RpcProviderAuthType `json:"authType" validate:"required,oneof=no-auth basic-auth token-auth puzzle-auth"` // Type of authentication
@@ -122,10 +121,6 @@ func NewUserProvider(chainID uint64, name string, url security.SensitiveString,
122121
return newRpcProvider(chainID, name, url, enableRpsLimiter, UserProviderType)
123122
}
124123

125-
func NewProxyProvider(chainID uint64, name string, url security.SensitiveString, enableRpsLimiter bool) *RpcProvider {
126-
return newRpcProvider(chainID, name, url, enableRpsLimiter, EmbeddedProxyProviderType)
127-
}
128-
129124
func NewEthRpcProxyProvider(chainID uint64, name string, url security.SensitiveString, enableRpsLimiter bool, usePuzzleAuth bool) *RpcProvider {
130125
p := newRpcProvider(chainID, name, url, enableRpsLimiter, EmbeddedEthRpcProxyProviderType)
131126
if usePuzzleAuth {

0 commit comments

Comments
 (0)