diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/starknet/StarknetChainSpecific.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/starknet/StarknetChainSpecific.kt index 8cc99e1a..7891912b 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/starknet/StarknetChainSpecific.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/starknet/StarknetChainSpecific.kt @@ -75,7 +75,15 @@ object StarknetChainSpecific : AbstractPollChainSpecific() { } fun validate(data: ByteArray, lagging: Int, upstreamId: String): UpstreamAvailability { - val resp = Global.objectMapper.readValue(data, StarknetSyncing::class.java) + val raw = Global.objectMapper.readTree(data) + if (raw.isBoolean) { + return if (raw.asBoolean()) { + UpstreamAvailability.SYNCING + } else { + UpstreamAvailability.OK + } + } + val resp = Global.objectMapper.treeToValue(raw, StarknetSyncing::class.java) return if (resp.highest - resp.current > lagging) { log.warn("Starknet node {} is syncing: current={} and highest={}", upstreamId, resp.current, resp.highest) UpstreamAvailability.SYNCING