Add optimism and arbitrum testnets (#151)
This commit is contained in:
Submodule emerald-grpc updated: 8e74176fd2...37a356fdee
@@ -9,15 +9,17 @@ enum class BlockchainType {
|
|||||||
if (chain == Chain.TESTNET_ROPSTEN ||
|
if (chain == Chain.TESTNET_ROPSTEN ||
|
||||||
chain == Chain.POLYGON ||
|
chain == Chain.POLYGON ||
|
||||||
chain == Chain.OPTIMISM ||
|
chain == Chain.OPTIMISM ||
|
||||||
|
chain == Chain.ARBITRUM ||
|
||||||
chain == Chain.BSC ||
|
chain == Chain.BSC ||
|
||||||
chain == Chain.TESTNET_GOERLI ||
|
chain == Chain.TESTNET_GOERLI ||
|
||||||
chain == Chain.ETHEREUM ||
|
chain == Chain.ETHEREUM ||
|
||||||
chain == Chain.TESTNET_SEPOLIA
|
chain == Chain.TESTNET_SEPOLIA ||
|
||||||
|
chain == Chain.TESTNET_ARBITRUM ||
|
||||||
|
chain == Chain.TESTNET_OPTIMISM
|
||||||
) {
|
) {
|
||||||
return EVM_POS
|
return EVM_POS
|
||||||
}
|
}
|
||||||
if (chain == Chain.ETHEREUM_CLASSIC ||
|
if (chain == Chain.ETHEREUM_CLASSIC ||
|
||||||
chain == Chain.ARBITRUM ||
|
|
||||||
chain == Chain.FANTOM ||
|
chain == Chain.FANTOM ||
|
||||||
chain == Chain.RSK ||
|
chain == Chain.RSK ||
|
||||||
chain == Chain.TESTNET_KOVAN ||
|
chain == Chain.TESTNET_KOVAN ||
|
||||||
|
|||||||
@@ -50,7 +50,13 @@ enum class Chain(val id: Int, val chainCode: String, val chainName: String) {
|
|||||||
"Ropsten Testnet"
|
"Ropsten Testnet"
|
||||||
),
|
),
|
||||||
TESTNET_RINKEBY(10007, "RINKEBY", "Rinkeby Testnet"),
|
TESTNET_RINKEBY(10007, "RINKEBY", "Rinkeby Testnet"),
|
||||||
TESTNET_SEPOLIA(10008, "SEPOLIA", "Sepolia Testnet");
|
TESTNET_SEPOLIA(10008, "SEPOLIA", "Sepolia Testnet"),
|
||||||
|
TESTNET_ARBITRUM(
|
||||||
|
10009,
|
||||||
|
"ARBITRUM_TESTNET",
|
||||||
|
"Arbitrum Testnet"
|
||||||
|
),
|
||||||
|
TESTNET_OPTIMISM(10010, "OPTIMISM_TESTNET", "Optimism Testnet");
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun byId(id: Int): Chain {
|
fun byId(id: Int): Chain {
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ class Global {
|
|||||||
"bitcoin-testnet" to Chain.TESTNET_BITCOIN,
|
"bitcoin-testnet" to Chain.TESTNET_BITCOIN,
|
||||||
"sepolia" to Chain.TESTNET_SEPOLIA,
|
"sepolia" to Chain.TESTNET_SEPOLIA,
|
||||||
"sepolia-testnet" to Chain.TESTNET_SEPOLIA,
|
"sepolia-testnet" to Chain.TESTNET_SEPOLIA,
|
||||||
|
"optimism-testnet" to Chain.TESTNET_OPTIMISM,
|
||||||
|
"optimism-arbitrum" to Chain.TESTNET_OPTIMISM,
|
||||||
)
|
)
|
||||||
|
|
||||||
fun chainById(id: String?): Chain {
|
fun chainById(id: String?): Chain {
|
||||||
|
|||||||
@@ -229,6 +229,22 @@ class DefaultEthereumMethods(
|
|||||||
"\"11155111\""
|
"\"11155111\""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Chain.ARBITRUM == chain -> {
|
||||||
|
"\"42161\""
|
||||||
|
}
|
||||||
|
|
||||||
|
Chain.OPTIMISM == chain -> {
|
||||||
|
"\"10\""
|
||||||
|
}
|
||||||
|
|
||||||
|
Chain.TESTNET_ARBITRUM == chain -> {
|
||||||
|
"\"421613\""
|
||||||
|
}
|
||||||
|
|
||||||
|
Chain.TESTNET_OPTIMISM == chain -> {
|
||||||
|
"\"420\""
|
||||||
|
}
|
||||||
|
|
||||||
else -> throw RpcException(-32602, "Invalid chain")
|
else -> throw RpcException(-32602, "Invalid chain")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -271,6 +287,22 @@ class DefaultEthereumMethods(
|
|||||||
"\"0xaa36a7\""
|
"\"0xaa36a7\""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Chain.ARBITRUM == chain -> {
|
||||||
|
"\"0xa4b1\""
|
||||||
|
}
|
||||||
|
|
||||||
|
Chain.OPTIMISM == chain -> {
|
||||||
|
"\"0xa\""
|
||||||
|
}
|
||||||
|
|
||||||
|
Chain.TESTNET_ARBITRUM == chain -> {
|
||||||
|
"\"0x66eed\""
|
||||||
|
}
|
||||||
|
|
||||||
|
Chain.TESTNET_OPTIMISM == chain -> {
|
||||||
|
"\"0x1A4\""
|
||||||
|
}
|
||||||
|
|
||||||
else -> throw RpcException(-32602, "Invalid chain")
|
else -> throw RpcException(-32602, "Invalid chain")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,11 @@ open class EthereumMultistream(
|
|||||||
private var subscribe = EthereumEgressSubscription(this, NoPendingTxes())
|
private var subscribe = EthereumEgressSubscription(this, NoPendingTxes())
|
||||||
|
|
||||||
private val supportsEIP1559 = when (chain) {
|
private val supportsEIP1559 = when (chain) {
|
||||||
Chain.ETHEREUM, Chain.TESTNET_ROPSTEN, Chain.TESTNET_GOERLI, Chain.TESTNET_RINKEBY, Chain.TESTNET_SEPOLIA -> true
|
Chain.ETHEREUM, Chain.TESTNET_ROPSTEN,
|
||||||
|
Chain.TESTNET_GOERLI, Chain.TESTNET_RINKEBY,
|
||||||
|
Chain.TESTNET_SEPOLIA, Chain.ARBITRUM,
|
||||||
|
Chain.OPTIMISM, Chain.TESTNET_ARBITRUM,
|
||||||
|
Chain.TESTNET_OPTIMISM -> true
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
private val feeEstimation = if (supportsEIP1559) EthereumPriorityFees(this, reader, 256)
|
private val feeEstimation = if (supportsEIP1559) EthereumPriorityFees(this, reader, 256)
|
||||||
|
|||||||
Reference in New Issue
Block a user