2023-04-25 12:00:17 +00:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
|
|
|
"github.com/status-im/status-go/protocol/requests"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestBuildDefaultNetworks(t *testing.T) {
|
2024-01-11 15:48:40 +00:00
|
|
|
poktToken := "grove-token"
|
2023-04-25 12:00:17 +00:00
|
|
|
infuraToken := "infura-token"
|
|
|
|
request := &requests.CreateAccount{
|
2023-05-24 15:02:53 +00:00
|
|
|
WalletSecretsConfig: requests.WalletSecretsConfig{
|
|
|
|
PoktToken: poktToken,
|
|
|
|
InfuraToken: infuraToken,
|
|
|
|
},
|
2023-04-25 12:00:17 +00:00
|
|
|
}
|
|
|
|
|
2024-01-03 10:29:21 +00:00
|
|
|
actualNetworks := BuildDefaultNetworks(request)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.Len(t, actualNetworks, 9)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
|
|
|
require.Equal(t, mainnetChainID, actualNetworks[0].ChainID)
|
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[0].RPCURL, poktToken))
|
|
|
|
require.True(t, strings.Contains(actualNetworks[0].FallbackURL, infuraToken))
|
|
|
|
|
|
|
|
require.Equal(t, goerliChainID, actualNetworks[1].ChainID)
|
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[1].RPCURL, poktToken))
|
|
|
|
require.True(t, strings.Contains(actualNetworks[1].FallbackURL, infuraToken))
|
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.Equal(t, sepoliaChainID, actualNetworks[2].ChainID)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[2].RPCURL, poktToken))
|
|
|
|
require.True(t, strings.Contains(actualNetworks[2].FallbackURL, infuraToken))
|
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.Equal(t, optimismChainID, actualNetworks[3].ChainID)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.True(t, strings.Contains(actualNetworks[3].RPCURL, poktToken))
|
|
|
|
require.True(t, strings.Contains(actualNetworks[3].FallbackURL, infuraToken))
|
2023-04-25 12:00:17 +00:00
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.Equal(t, optimismGoerliChainID, actualNetworks[4].ChainID)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.True(t, strings.Contains(actualNetworks[4].RPCURL, infuraToken))
|
|
|
|
require.Equal(t, "", actualNetworks[4].FallbackURL)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.Equal(t, optimismSepoliaChainID, actualNetworks[5].ChainID)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[5].RPCURL, infuraToken))
|
|
|
|
require.Equal(t, "", actualNetworks[5].FallbackURL)
|
2024-02-02 13:55:46 +00:00
|
|
|
|
|
|
|
require.Equal(t, arbitrumChainID, actualNetworks[6].ChainID)
|
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[6].RPCURL, poktToken))
|
|
|
|
require.True(t, strings.Contains(actualNetworks[6].FallbackURL, infuraToken))
|
|
|
|
|
|
|
|
require.Equal(t, arbitrumGoerliChainID, actualNetworks[7].ChainID)
|
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[7].RPCURL, infuraToken))
|
|
|
|
require.Equal(t, "", actualNetworks[7].FallbackURL)
|
|
|
|
|
|
|
|
require.Equal(t, arbitrumSepoliaChainID, actualNetworks[8].ChainID)
|
|
|
|
|
|
|
|
require.True(t, strings.Contains(actualNetworks[8].RPCURL, infuraToken))
|
|
|
|
require.Equal(t, "", actualNetworks[8].FallbackURL)
|
2023-04-25 12:00:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestBuildDefaultNetworksGanache(t *testing.T) {
|
|
|
|
ganacheURL := "ganacheurl"
|
|
|
|
request := &requests.CreateAccount{
|
2023-05-24 15:02:53 +00:00
|
|
|
WalletSecretsConfig: requests.WalletSecretsConfig{
|
|
|
|
GanacheURL: ganacheURL,
|
|
|
|
},
|
2023-04-25 12:00:17 +00:00
|
|
|
}
|
|
|
|
|
2024-01-03 10:29:21 +00:00
|
|
|
actualNetworks := BuildDefaultNetworks(request)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
2024-02-02 13:55:46 +00:00
|
|
|
require.Len(t, actualNetworks, 9)
|
2023-04-25 12:00:17 +00:00
|
|
|
|
|
|
|
for _, n := range actualNetworks {
|
|
|
|
require.True(t, strings.Contains(n.RPCURL, ganacheURL))
|
|
|
|
require.True(t, strings.Contains(n.FallbackURL, ganacheURL))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
require.Equal(t, mainnetChainID, actualNetworks[0].ChainID)
|
|
|
|
|
|
|
|
require.NotNil(t, actualNetworks[0].TokenOverrides)
|
|
|
|
require.Len(t, actualNetworks[0].TokenOverrides, 1)
|
|
|
|
require.Equal(t, sntSymbol, actualNetworks[0].TokenOverrides[0].Symbol)
|
|
|
|
require.Equal(t, ganacheTokenAddress, actualNetworks[0].TokenOverrides[0].Address)
|
|
|
|
|
|
|
|
require.Equal(t, goerliChainID, actualNetworks[1].ChainID)
|
|
|
|
|
|
|
|
require.NotNil(t, actualNetworks[1].TokenOverrides)
|
|
|
|
require.Len(t, actualNetworks[1].TokenOverrides, 1)
|
|
|
|
require.Equal(t, sttSymbol, actualNetworks[1].TokenOverrides[0].Symbol)
|
|
|
|
require.Equal(t, ganacheTokenAddress, actualNetworks[1].TokenOverrides[0].Address)
|
|
|
|
|
|
|
|
}
|