From 9c6d452efe0646474c94d58628419fccceac7340 Mon Sep 17 00:00:00 2001 From: Nikolay G Date: Tue, 19 Dec 2023 04:02:37 +0100 Subject: [PATCH] Update logs-oracle (#360) * Update logs-oracle * Install deps in docker image --- Dockerfile | 3 +++ Makefile | 8 +++++--- build.gradle | 4 ++-- .../dshackle/upstream/LogsOracle.kt | 10 ++++++---- .../upstream/ethereum/EthereumLocalReader.kt | 14 ++++---------- src/main/resources/LogsOracle.jar | Bin 20955 -> 54454 bytes 6 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..20447e6f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM eclipse-temurin:20 + +RUN apt-get update -y && apt-get install -y libcurl4-openssl-dev libjansson-dev diff --git a/Makefile b/Makefile index 55c87646..5b41a429 100644 --- a/Makefile +++ b/Makefile @@ -9,11 +9,13 @@ build-main: test: build-foundation ./gradlew check +local-docker: Dockerfile + docker build -t drpc-dshackle . -jib: build-foundation +jib: build-foundation local-docker ./gradlew jib -Pdocker=drpcorg -jib-docker: build-foundation +jib-docker: build-foundation local-docker ./gradlew jibDockerBuild -Pdocker=drpcorg distZip: build-foundation @@ -21,4 +23,4 @@ distZip: build-foundation clean: ./gradlew clean; - cd foundation && ../gradlew clean \ No newline at end of file + cd foundation && ../gradlew clean diff --git a/build.gradle b/build.gradle index 76d750de..2de8b799 100644 --- a/build.gradle +++ b/build.gradle @@ -169,7 +169,7 @@ application { jib { from { - image = 'openjdk:20' + image = 'docker://drpc-dshackle' } to { // by default publish as: @@ -192,7 +192,7 @@ jib { } } container { - jvmFlags = ['-XX:+UseG1GC', '-XX:+ExitOnOutOfMemoryError', '-Xms1024M', '-XX:+UnlockDiagnosticVMOptions', '-XX:GCLockerRetryAllocationCount=10'] + jvmFlags = ['-XX:+UseG1GC', '-XX:+ExitOnOutOfMemoryError', '-Xms1024M', '-XX:+UnlockDiagnosticVMOptions', '-XX:GCLockerRetryAllocationCount=10', '--enable-preview'] mainClass = 'io.emeraldpay.dshackle.StarterKt' args = [] ports = ['2448', '2449', '8545'] diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/LogsOracle.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/LogsOracle.kt index 5a14f9d3..26623baa 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/LogsOracle.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/LogsOracle.kt @@ -15,12 +15,14 @@ class LogsOracle( private val log = LoggerFactory.getLogger(LogsOracle::class.java) private var subscription: Disposable? = null - private val db = org.drpc.logsoracle.LogsOracle(config.store, config.store, config.ram_limit ?: 0L) + private val db = org.drpc.logsoracle.LogsOracle(config.store, config.ram_limit ?: 0L) fun start() { + db.SetUpstream(config.rpc) + subscription = upstream.getHead().getFlux() .doOnError { t -> log.warn("Failed to subscribe head for oracle", t) } - .subscribe { println(it.height); db.UpdateHeight(it.height) } + .subscribe { db.UpdateHeight(it.height) } } fun stop() { @@ -31,8 +33,8 @@ class LogsOracle( } fun estimate( - fromBlock: Long?, - toBlock: Long?, + fromBlock: Long, + toBlock: Long, address: List, topics: List>, ): Mono { diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLocalReader.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLocalReader.kt index 24c4a2cb..8fc1b0d2 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLocalReader.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLocalReader.kt @@ -218,22 +218,16 @@ class EthereumLocalReader( } return logsOracle.estimate(fromBlock, toBlock, address, topics) - .map { it.toString().toByteArray() to null } + .map { "{\"result\":$it}".toByteArray() to null } } - private fun parseBlockRef(blockRef: String?): Long? { + private fun parseBlockRef(blockRef: String?): Long { when { - blockRef == null -> { - return null - } - blockRef == "latest" -> { - return head.getCurrentHeight() ?: return null - } blockRef == "earliest" -> { return 0 } - blockRef == "finalized" || blockRef == "safe" || blockRef == "pending" -> { - return null + blockRef == null || blockRef == "finalized" || blockRef == "safe" || blockRef == "pending" || blockRef == "latest" -> { + return head.getCurrentHeight() ?: throw Exception("couldn't get current head") } blockRef.startsWith("0x") -> { val quantity = HexQuantity.from(blockRef) ?: throw IllegalArgumentException() diff --git a/src/main/resources/LogsOracle.jar b/src/main/resources/LogsOracle.jar index 7194f50dd11dc3b5a93c69d266da68043db3a8be..e953d87bf595d03c241c7a4b9c08ace5914bf816 100644 GIT binary patch delta 48719 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

W$#N?s=ikEp6(R=8)g#einhYQ@2uOvCAHXh5s7M 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 delta 15206 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 Z*~v?R{bk7k0m1w|)&EksZDju${U1oF2UP$7