40 lines
1.7 KiB
Kotlin
40 lines
1.7 KiB
Kotlin
|
package co.electriccoin.zcash.ui.screen.chooseserver
|
||
|
|
||
|
import cash.z.ecc.android.sdk.model.ZcashNetwork
|
||
|
import cash.z.ecc.sdk.extension.Mainnet
|
||
|
import cash.z.ecc.sdk.extension.Testnet
|
||
|
import co.electriccoin.lightwallet.client.model.LightWalletEndpoint
|
||
|
import kotlinx.collections.immutable.toImmutableList
|
||
|
|
||
|
// TODO [#1273]: Add ChooseServer Tests #1273
|
||
|
// TODO [#1273]: https://github.com/Electric-Coin-Company/zashi-android/issues/1273
|
||
|
|
||
|
object AvailableServerProvider {
|
||
|
// North America | [na.lightwalletd.com](http://na.lightwalletd.com/) | 443
|
||
|
// South America | [sa.lightwalletd.com](http://sa.lightwalletd.com/) | 443
|
||
|
// Europe & Africa | [eu.lightwalletd.com](http://eu.lightwalletd.com/) | 443
|
||
|
// Asia & Oceania | [ai.lightwalletd.com](http://ai.lightwalletd.com/) | 443
|
||
|
// Plus current network defaults:
|
||
|
// Mainnet: mainnet.lightwalletd.com | 9067
|
||
|
// Testnet: lightwalletd.testnet.electriccoin.co | 9067
|
||
|
|
||
|
private const val HOST_NA = "na.lightwalletd.com" // NON-NLS
|
||
|
private const val HOST_SA = "sa.lightwalletd.com" // NON-NLS
|
||
|
private const val HOST_EU = "eu.lightwalletd.com" // NON-NLS
|
||
|
private const val HOST_AI = "ai.lightwalletd.com" // NON-NLS
|
||
|
private const val PORT = 443
|
||
|
|
||
|
fun toList(network: ZcashNetwork) =
|
||
|
buildList {
|
||
|
if (network == ZcashNetwork.Mainnet) {
|
||
|
add(LightWalletEndpoint.Mainnet)
|
||
|
add(LightWalletEndpoint(HOST_NA, PORT, true))
|
||
|
add(LightWalletEndpoint(HOST_SA, PORT, true))
|
||
|
add(LightWalletEndpoint(HOST_EU, PORT, true))
|
||
|
add(LightWalletEndpoint(HOST_AI, PORT, true))
|
||
|
} else {
|
||
|
add(LightWalletEndpoint.Testnet)
|
||
|
}
|
||
|
}.toImmutableList()
|
||
|
}
|