diff --git a/docs/04-upstream-config.adoc b/docs/04-upstream-config.adoc index e27af592..712f6b8f 100644 --- a/docs/04-upstream-config.adoc +++ b/docs/04-upstream-config.adoc @@ -157,6 +157,13 @@ Currently, dshackle supports next chains (should be used as chain names in confi - gnosis-chiado - avalanche - avalanche-fuji +- aurora +- aurora-testnet +- scroll-alphanet +- mantle +- mantle-testnet +- klaytn +- klaytn-baobab === Roles and Fallback upstream diff --git a/emerald-grpc b/emerald-grpc index 69def1a2..55af14cf 160000 --- a/emerald-grpc +++ b/emerald-grpc @@ -1 +1 @@ -Subproject commit 69def1a2479622c2f035eff9b074e64680b8f482 +Subproject commit 55af14cf34701bd514ecd477acac51d1790c8d6c diff --git a/src/main/kotlin/io/emeraldpay/dshackle/Chain.kt b/src/main/kotlin/io/emeraldpay/dshackle/Chain.kt index bb0e5489..e17606ab 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/Chain.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/Chain.kt @@ -51,6 +51,11 @@ enum class Chain(val id: Int, val chainCode: String, val chainName: String) { LINEA__MAINNET(1011, "LINEA", "Linea"), GNOSIS__MAINNET(1012, "GNOSIS", "Gnosis"), AVALANCHE__MAINNET(1013, "AVALANCHE", "Avalanche"), + // STARKNET__MAINNET(1014, "STARKNET", "Starknet"), + AURORA__MAINNET(1015, "AURORA", "Aurora"), + // SCROLL__MAINNET(1016, "SCROLL", "Scroll"), + MANTLE__MAINNET(1017, "MANTLE", "Mantle"), + KLAYTN__MAINNET(1018, "KLAYTN", "Klaytn"), // Testnets ETHEREUM__MORDEN(10001, "MORDEN", "Morden Testnet"), @@ -93,7 +98,13 @@ enum class Chain(val id: Int, val chainCode: String, val chainName: String) { LINEA__GOERLI(10015, "LINEA_GOERLI", "Linea Goerli Testnet"), FANTOM__TESTNET(10016, "FANTOM_TESTNET", "Fantom Testnet"), GNOSIS__CHIADO(10017, "GNOSIS_CHIADO", "Gnosis Chiado Testnet"), - AVALANCHE__FUJI(10018, "AVALANCHE_FUJI", "Avalanche Fuji Testnet"); + AVALANCHE__FUJI(10018, "AVALANCHE_FUJI", "Avalanche Fuji Testnet"), + // STARKNET__GOERLI(10019, "STARKNET_GOERLI", "Starknet Goerli"), + // STARKNET__GOERLI2(10020, "STARKNET_GOERLI2", "Starknet Goerli 2"), + AURORA__TESTNET(10021, "AURORA_TESTNET", "Aurora Testnet"), + SCROLL__ALPHANET(10022, "SCROLL_ALPHANET", "Scroll Alphanet"), + MANTLE__TESTNET(10023, "MANTLE_TESTNET", "Mantle Testnet"), + KLAYTN__BAOBAB(10024, "KLAYTN_BAOBAB", "Klaytn Baobab"); companion object { fun byId(id: Int): Chain { diff --git a/src/main/kotlin/io/emeraldpay/dshackle/Global.kt b/src/main/kotlin/io/emeraldpay/dshackle/Global.kt index f501d052..d189b3a8 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/Global.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/Global.kt @@ -87,6 +87,17 @@ class Global { "gnosis-chiado" to Chain.GNOSIS__CHIADO, "avalanche" to Chain.AVALANCHE__MAINNET, "avalanche-fuji" to Chain.AVALANCHE__FUJI, + // "starknet" to Chain.CHAIN_STARKNET__MAINNET, + // "starknet-goerli" to Chain.CHAIN_STARKNET__GOERLI, + // "starknet-goerli2" to Chain.CHAIN_STARKNET__GOERLI2, + "aurora" to Chain.AURORA__MAINNET, + "aurora-testnet" to Chain.AURORA__TESTNET, + // "scroll" to Chain.CHAIN_SCROLL__MAINNET, + "scroll-alphanet" to Chain.SCROLL__ALPHANET, + "mantle" to Chain.MANTLE__MAINNET, + "mantle-testnet" to Chain.MANTLE__TESTNET, + "klaytn" to Chain.KLAYTN__MAINNET, + "klaytn-baobab" to Chain.KLAYTN__BAOBAB, ) fun chainById(id: String?): Chain { diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/calls/DefaultEthereumMethods.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/calls/DefaultEthereumMethods.kt index acaafd8c..e7990b8e 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/calls/DefaultEthereumMethods.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/calls/DefaultEthereumMethods.kt @@ -115,6 +115,15 @@ class DefaultEthereumMethods( Chain.AVALANCHE__MAINNET to createHardcodedData("\"43114\"", "\"0xa86a\""), Chain.AVALANCHE__FUJI to createHardcodedData("\"43113\"", "\"0xa869\""), + + Chain.AURORA__MAINNET to createHardcodedData("\"1313161554\"", "\"0x4e454152\""), + Chain.AURORA__TESTNET to createHardcodedData("\"1313161555\"", "\"0x4e454153\""), + // Chain.CHAIN_SCROLL__MAINNET to createHardcodedData(""43114"", ""0xa86a""), doesn't exist now for L2 + Chain.SCROLL__ALPHANET to createHardcodedData("\"534353\"", "\"0x82751\""), + Chain.MANTLE__MAINNET to createHardcodedData("\"5000\"", "\"0x1388\""), + Chain.MANTLE__TESTNET to createHardcodedData("\"5001\"", "\"0x1389\""), + Chain.KLAYTN__MAINNET to createHardcodedData("\"8217\"", "\"0x2019\""), + Chain.KLAYTN__BAOBAB to createHardcodedData("\"1001\"", "\"0x3e9\""), ) fun getChainByData(data: HardcodedData) = CHAIN_DATA.entries.find { it.value == data }?.key diff --git a/src/main/resources/chains.yaml b/src/main/resources/chains.yaml index fbba07b4..bf22dde2 100644 --- a/src/main/resources/chains.yaml +++ b/src/main/resources/chains.yaml @@ -152,3 +152,53 @@ chain-settings: lags: syncing: 10 lagging: 5 + - id: aurora + expected-block-time: 1s + options: + validate-peers: false + lags: + syncing: 40 + lagging: 20 + - id: aurora-testnet + expected-block-time: 1s + options: + validate-peers: false + lags: + syncing: 40 + lagging: 20 + - id: scroll-alphanet + expected-block-time: 3s + options: + validate-peers: false + lags: + syncing: 10 + lagging: 5 + - id: mantle + expected-block-time: 500ms + options: + validate-peers: false + lags: + syncing: 40 + lagging: 20 + - id: mantle-testnet + expected-block-time: 500ms + options: + validate-peers: false + lags: + syncing: 40 + lagging: 20 + - id: klaytn + expected-block-time: 1s + options: + validate-peers: false + lags: + syncing: 40 + lagging: 20 + - id: klaytn-baobab + expected-block-time: 1s + options: + validate-peers: false + lags: + syncing: 40 + lagging: 20 +