@@ -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
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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\""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"() {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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"'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user