solution: support rinkeby and ropsten testnets

fix: #64
This commit is contained in:
Igor Artamonov
2020-11-30 19:02:55 -05:00
parent 20f5345865
commit e09b7a4eee
8 changed files with 35 additions and 5 deletions

View File

@@ -440,7 +440,7 @@ Fallback role mean that the upstream is used only after other upstreams failed o
| yes | yes
| Blockchain which is the provided by the upstream. | Blockchain which is the provided by the upstream.
Cluster may have multiple upstreams for a single blockchain. Cluster may have multiple upstreams for a single blockchain.
Accepted types: `bitcoin`, `bitcoin-testnet`, `ethereum`, `ethereum-classic`, `kovan`, or `goerli` Accepted types: `bitcoin`, `bitcoin-testnet`, `ethereum`, `ethereum-classic`, `kovan-testnet`, `rinkeby-testnet`, `ropsten-testnet`, or `goerli-testnet`
| `labels` | `labels`
| no | no

View File

@@ -30,7 +30,13 @@ enum class BlockchainType {
companion object { companion object {
@JvmStatic @JvmStatic
fun fromBlockchain(blockchain: Chain): BlockchainType { fun fromBlockchain(blockchain: Chain): BlockchainType {
if (blockchain == Chain.ETHEREUM || blockchain == Chain.ETHEREUM_CLASSIC || blockchain == Chain.TESTNET_KOVAN || blockchain == Chain.TESTNET_MORDEN || blockchain == Chain.TESTNET_GOERLI) { if (blockchain == Chain.ETHEREUM
|| blockchain == Chain.ETHEREUM_CLASSIC
|| blockchain == Chain.TESTNET_KOVAN
|| blockchain == Chain.TESTNET_ROPSTEN
|| blockchain == Chain.TESTNET_RINKEBY
|| blockchain == Chain.TESTNET_MORDEN
|| blockchain == Chain.TESTNET_GOERLI) {
return ETHEREUM return ETHEREUM
} }
if (blockchain == Chain.BITCOIN || blockchain == Chain.TESTNET_BITCOIN) { if (blockchain == Chain.BITCOIN || blockchain == Chain.TESTNET_BITCOIN) {

View File

@@ -63,6 +63,10 @@ open class ConfiguredUpstreams(
"kovan-testnet" to Chain.TESTNET_KOVAN, "kovan-testnet" to Chain.TESTNET_KOVAN,
"goerli" to Chain.TESTNET_GOERLI, "goerli" to Chain.TESTNET_GOERLI,
"goerli-testnet" to Chain.TESTNET_GOERLI, "goerli-testnet" to Chain.TESTNET_GOERLI,
"rinkeby" to Chain.TESTNET_RINKEBY,
"rinkeby-testnet" to Chain.TESTNET_RINKEBY,
"ropsten" to Chain.TESTNET_ROPSTEN,
"ropsten-testnet" to Chain.TESTNET_ROPSTEN,
"bitcoin" to Chain.BITCOIN, "bitcoin" to Chain.BITCOIN,
"bitcoin-testnet" to Chain.TESTNET_BITCOIN "bitcoin-testnet" to Chain.TESTNET_BITCOIN
) )

View File

@@ -122,6 +122,12 @@ class DefaultEthereumMethods(
Chain.TESTNET_MORDEN == chain -> { Chain.TESTNET_MORDEN == chain -> {
"\"2\"" "\"2\""
} }
Chain.TESTNET_ROPSTEN == chain -> {
"\"3\""
}
Chain.TESTNET_RINKEBY == chain -> {
"\"4\""
}
Chain.TESTNET_KOVAN == chain -> { Chain.TESTNET_KOVAN == chain -> {
"\"42\"" "\"42\""
} }
@@ -136,6 +142,12 @@ class DefaultEthereumMethods(
Chain.ETHEREUM == chain -> { Chain.ETHEREUM == chain -> {
"\"0x1\"" "\"0x1\""
} }
Chain.TESTNET_ROPSTEN == chain -> {
"\"0x3\""
}
Chain.TESTNET_RINKEBY == chain -> {
"\"0x4\""
}
Chain.ETHEREUM_CLASSIC == chain -> { Chain.ETHEREUM_CLASSIC == chain -> {
"\"0x3d\"" "\"0x3d\""
} }

View File

@@ -24,7 +24,7 @@ class BlockchainTypeSpec extends Specification {
expect: expect:
BlockchainType.fromBlockchain(chain) == BlockchainType.ETHEREUM BlockchainType.fromBlockchain(chain) == BlockchainType.ETHEREUM
where: where:
chain << [Chain.ETHEREUM, Chain.ETHEREUM_CLASSIC, Chain.TESTNET_KOVAN, Chain.TESTNET_GOERLI, Chain.TESTNET_MORDEN] chain << [Chain.ETHEREUM, Chain.ETHEREUM_CLASSIC, Chain.TESTNET_KOVAN, Chain.TESTNET_GOERLI, Chain.TESTNET_MORDEN, Chain.TESTNET_RINKEBY, Chain.TESTNET_ROPSTEN]
} }
def "Correct type for bitcoin"() { def "Correct type for bitcoin"() {

View File

@@ -51,7 +51,7 @@ class MainConfigReaderSpec extends Specification {
port == 8082 port == 8082
tls != null tls != null
routes != null routes != null
routes.size() == 4 routes.size() == 5
with(routes[0]) { with(routes[0]) {
id == "eth" id == "eth"
blockchain == Chain.ETHEREUM blockchain == Chain.ETHEREUM
@@ -68,6 +68,10 @@ class MainConfigReaderSpec extends Specification {
id == "goerli" id == "goerli"
blockchain == Chain.TESTNET_GOERLI blockchain == Chain.TESTNET_GOERLI
} }
with(routes[4]) {
id == "rinkeby"
blockchain == Chain.TESTNET_RINKEBY
}
} }
act.upstreams != null act.upstreams != null
with(act.upstreams) { with(act.upstreams) {

View File

@@ -22,6 +22,8 @@ class DefaultEthereumMethodsSpec extends Specification {
Chain.ETHEREUM | '"0x1"' Chain.ETHEREUM | '"0x1"'
Chain.ETHEREUM_CLASSIC | '"0x3d"' Chain.ETHEREUM_CLASSIC | '"0x3d"'
Chain.TESTNET_KOVAN | '"0x2a"' Chain.TESTNET_KOVAN | '"0x2a"'
Chain.TESTNET_GOERLI | '"0x5"' Chain.TESTNET_GOERLI | '"0x5"'
Chain.TESTNET_RINKEBY | '"0x4"'
Chain.TESTNET_ROPSTEN | '"0x3"'
} }
} }

View File

@@ -35,6 +35,8 @@ proxy:
blockchain: kovan blockchain: kovan
- id: goerli - id: goerli
blockchain: goerli blockchain: goerli
- id: rinkeby
blockchain: rinkeby
cluster: cluster:
defaults: defaults: