Add optimism and arbitrum testnets (#151)
This commit is contained in:
@@ -9,15 +9,17 @@ enum class BlockchainType {
|
||||
if (chain == Chain.TESTNET_ROPSTEN ||
|
||||
chain == Chain.POLYGON ||
|
||||
chain == Chain.OPTIMISM ||
|
||||
chain == Chain.ARBITRUM ||
|
||||
chain == Chain.BSC ||
|
||||
chain == Chain.TESTNET_GOERLI ||
|
||||
chain == Chain.ETHEREUM ||
|
||||
chain == Chain.TESTNET_SEPOLIA
|
||||
chain == Chain.TESTNET_SEPOLIA ||
|
||||
chain == Chain.TESTNET_ARBITRUM ||
|
||||
chain == Chain.TESTNET_OPTIMISM
|
||||
) {
|
||||
return EVM_POS
|
||||
}
|
||||
if (chain == Chain.ETHEREUM_CLASSIC ||
|
||||
chain == Chain.ARBITRUM ||
|
||||
chain == Chain.FANTOM ||
|
||||
chain == Chain.RSK ||
|
||||
chain == Chain.TESTNET_KOVAN ||
|
||||
|
||||
@@ -50,7 +50,13 @@ enum class Chain(val id: Int, val chainCode: String, val chainName: String) {
|
||||
"Ropsten 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 {
|
||||
fun byId(id: Int): Chain {
|
||||
|
||||
@@ -67,6 +67,8 @@ class Global {
|
||||
"bitcoin-testnet" to Chain.TESTNET_BITCOIN,
|
||||
"sepolia" 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 {
|
||||
|
||||
@@ -229,6 +229,22 @@ class DefaultEthereumMethods(
|
||||
"\"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")
|
||||
}
|
||||
}
|
||||
@@ -271,6 +287,22 @@ class DefaultEthereumMethods(
|
||||
"\"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")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,11 @@ open class EthereumMultistream(
|
||||
private var subscribe = EthereumEgressSubscription(this, NoPendingTxes())
|
||||
|
||||
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
|
||||
}
|
||||
private val feeEstimation = if (supportsEIP1559) EthereumPriorityFees(this, reader, 256)
|
||||
|
||||
Reference in New Issue
Block a user