Commit Graph
100 Commits
Author SHA1 Message Date
Igor Artamonov 5f159dd6d7 solution: docs for health check 2021-10-23 21:05:04 -04:00
Igor Artamonov 7032a9559f problem: lint 2021-10-22 22:27:36 -04:00
Igor Artamonov 710f90ddaa problem: formatting 2021-10-22 22:19:37 -04:00
Igor Artamonov 5f4a8a4ac4 solution: health check with detailed description of health 2021-10-22 22:12:48 -04:00
Igor Artamonov e205985da3 solution: health check endpoint
fix: #111
2021-10-20 23:10:41 -04:00
Igor Artamonov a04c1f3e66 problem: when an upstream is degrading it's unclear which one 2021-10-20 20:34:35 -04:00
Igor Artamonov 94f7fbb9b8 problem: inconsistent code style between Intellij IDEA and ktlint
rel: https://github.com/pinterest/ktlint/issues/805
2021-10-20 20:22:57 -04:00
Igor Artamonov 04ee74514c Merge pull request #115 from emeraldpay/feat/native-subscribe 2021-10-20 12:22:52 -04:00
Igor Artamonov 6261bd1ea7 solution: docs for NativeSubscribe 2021-10-19 21:59:03 -04:00
Igor Artamonov 983358f5c8 solution: use published emerald api 2021-10-19 21:19:18 -04:00
Igor Artamonov 52840a1d45 solution: native subscription for "syncing" 2021-10-19 17:12:36 -04:00
Igor Artamonov 1673732a29 problem: doesn't cache recent Tx Receipts 2021-10-18 22:30:17 -04:00
Igor Artamonov 06811060cc solution: subscribe to "logs" events 2021-10-17 20:41:45 -04:00
Igor Artamonov e37076936f problem: CompoundReader makes unnecessary requests 2021-10-17 19:47:32 -04:00
Igor Artamonov e76e2bebf5 solution: newHeads subsription 2021-10-09 21:51:55 -04:00
Igor Artamonov 49bfa163ef solution: base implementation for NativeSubscribe 2021-10-04 20:58:25 -04:00
Igor Artamonov 84ca9d7dcf problem: disconnects from WebSocket if multiple upstreams are set 2021-09-23 22:27:33 -04:00
Igor Artamonov bafffe09d8 Merge pull request #114 from emeraldpay/feat/calls-with-ws
fix #107
2021-09-23 19:26:23 -04:00
Igor Artamonov ebef8cf27a problem: WS connection still breaks with very large frames
solution: increase default limit and make it configurable
2021-09-22 19:35:14 -04:00
Igor Artamonov bd8c0f7c19 solution: mark Upstream status right after WS connect/disconnect 2021-09-22 17:08:43 -04:00
Igor Artamonov 1f864bdbe3 problem: too slow to validate WS on CI 2021-09-21 22:06:44 -04:00
Igor Artamonov 5586a95063 problem: unit test
rel: [37e3d4e]
2021-09-21 21:54:57 -04:00
Igor Artamonov 37e3d4e252 problem: waits to long to reconnect (10 seconds)
solution: use exp backoff, from 100ms to 1 minute
2021-09-21 21:41:44 -04:00
Igor Artamonov 16e589ab69 problem: drops connection because of large frames 2021-09-21 21:07:28 -04:00
Igor Artamonov e44b2c129d problem: doesn't execute calls after reconnect 2021-09-21 20:33:53 -04:00
Igor Artamonov 613c895d75 problem: may stick with reconnect if multiple errors happened at the same time 2021-09-21 20:28:19 -04:00
Igor Artamonov 9a6b612855 solution: ensure it reconnects if WS connection closed or dropped 2021-09-21 20:00:16 -04:00
Igor Artamonov e40c62a728 solution: check current height on connect 2021-09-20 22:43:00 -04:00
Igor Artamonov b68da0f801 solution: WS-only Ethereum upstream 2021-09-20 22:04:25 -04:00
Igor Artamonov 568a045271 solution: Ethereum WS connection fetches block through the same WS channel, instead of HTTP RPC 2021-09-19 22:52:21 -04:00
Igor Artamonov 817f794c04 solution: upgrade Reactor libs 2021-09-15 23:21:07 -04:00
Igor Artamonov 1576f1fe64 solution: upgrade Kotlin to 1.5 2021-09-15 21:30:05 -04:00
Igor Artamonov 199259afdb problem: Docker latest tag is misleading 2021-09-07 22:11:51 -04:00
Igor Artamonov f443b7a297 problem: missing height in status log 2021-09-07 21:55:55 -04:00
Igor Artamonov f55370a64e problem: fails to build JSON for some Ethereum blocks 2021-09-07 21:45:36 -04:00
Igor Artamonov a7500fd13c solution: start v0.11 2021-09-07 21:42:22 -04:00
Igor Artamonov 407266c5a1 solution: release v0.10.0 2021-09-06 18:18:50 -04:00
Igor Artamonov f6134ed470 problem: incorrect status updates 2021-09-06 17:38:27 -04:00
Igor Artamonov 8c7bb01f80 problem: produces repeated status update on same chain when it has many upstreams 2021-09-06 17:04:10 -04:00
Igor ArtamonovandSpontaneousOverthrow cd21984df8 solution: dynamic metrics for JSON RPC endpoint
fix: #100
Co-authored-by: SpontaneousOverthrow <v.rodionov@protonmail.com>
2021-09-05 20:16:22 -04:00
Igor Artamonov a9e03775e2 problem: fails to process transactions on Matic network (because of large V value)
solution: upgrade EthereJar where it's fixed
2021-09-03 22:16:11 -04:00
Igor Artamonov 9dffe2f6e9 solution: support new method eth_feeHistory 2021-08-26 21:09:53 -04:00
Igor Artamonov 54dc251c87 solution: access log for JSON RPC proxy 2021-08-25 16:08:47 -04:00
Igor Artamonov 64d667acad solution: integration test with Rinkeby 2021-08-16 22:08:56 -04:00
Igor Artamonov 0f77b57bd0 problem: invalid height matcher when block hash is specified 2021-08-16 21:59:39 -04:00
Igor Artamonov 827288cdcd solution: organize the integration test suite 2021-08-16 19:52:46 -04:00
Igor Artamonov 7cf86129f0 problem: routes calls to upstreams that quorum wouldnt accept anyway (not-lagging quorum to lagging upstreams)
solution: select only possible acceptable upstreams before the call
2021-08-04 17:00:30 -04:00
Igor Artamonov 2f2a553cd4 solution: allow configuring a quorum for custom methods 2021-08-04 14:58:28 -04:00
Igor Artamonov 96109d4013 problem: gives no status updates if chain is not configured 2021-07-31 22:06:02 -04:00
Igor Artamonov e73920b4c9 solution: ci, upgrade gcp actions 2021-07-31 15:44:52 -04:00
Igor Artamonov ec9235afbb solution: revise the readme 2021-07-20 22:42:43 -04:00
Igor Artamonov 5490e44caa solution: docs for monitoring with Prometheus 2021-07-20 21:59:06 -04:00
Igor Artamonov bc6d4c0c80 Merge pull request #93 from emeraldpay/feat/accesslog
access logging
2021-07-19 23:24:04 -04:00
Igor Artamonov e8fc025966 solution: docs for access logging 2021-07-19 23:15:31 -04:00
Igor Artamonov 3a12efd0a0 solution: test accesslog writer 2021-07-19 22:19:48 -04:00
Igor Artamonov 9e49b0e13d solution: access log api version 2021-07-19 21:58:17 -04:00
Igor Artamonov cd9087a425 solution: refactor AccessLog handler 2021-07-06 14:47:42 -04:00
Igor Artamonov 0d144a44a9 problem: NativeCall replies are logged only on complete
solution: add to the log at the moment of reply
2021-07-05 21:51:15 -04:00
Igor Artamonov 6cb703ec4e solution: access logging for SubscribeStatus method 2021-07-04 18:38:00 -04:00
Igor Artamonov 3ef5a4455c problem: doesn't publish upstream status updates 2021-07-04 18:37:17 -04:00
Igor Artamonov c27217a4ff problem: failing unit tests
rel: [f2bc0f1d9b]
2021-07-04 18:36:31 -04:00
Igor Artamonov ba1e93a965 solution: access logging for Describe method 2021-07-04 17:33:38 -04:00
Igor Artamonov 50a7177e6a solution: access logging for SubscribeTxStatus method 2021-07-03 22:32:46 -04:00
Igor Artamonov f2bc0f1d9b solution: access logging for GetBalance method 2021-06-28 18:41:08 -04:00
Igor Artamonov 0a3053d803 solution: access logging for SubscribeBalance method 2021-06-28 16:49:09 -04:00
Igor Artamonov ec043592c4 solution: refactoring 2021-06-28 13:58:34 -04:00
Igor Artamonov a541c32104 solution: access logging for SubscribeHead method 2021-06-27 18:44:41 -04:00
Igor Artamonov fd26d79f6e solution: save remote client details into access log 2021-06-26 22:15:46 -04:00
Igor Artamonov 91ffb0212e problem: fails to respond when requested block doesn't exist 2021-06-07 12:28:01 -04:00
Igor Artamonov 4875ade0e9 solution: base code for access logging 2021-06-03 18:12:46 -04:00
Igor Artamonov 8424288de2 problem: unit tests failed because of enabled jdk ssl implementation 2021-05-24 22:52:56 -04:00
Igor Artamonov 974a6d7d44 problem: lags with head info if WS connection dropped
solution: reconnect to WS after a connection error
2021-05-24 21:08:36 -04:00
Igor Artamonov 91edafe531 problem: unrecognized algorithm name PBEWithSHA1AndDESede for unit tests 2021-05-09 21:43:49 -04:00
Igor Artamonov 42888dfba9 problem: emerald packages moved from (dead) bintray to a new host 2021-05-09 20:08:58 -04:00
Igor Artamonov adfc35e994 problem: Spring Reactor is too outdated 2021-05-05 14:39:43 -04:00
Igor Artamonov 053bdc9549 solution: extended monitoring option; monitoring for upstream selection filter 2021-04-01 18:14:41 -04:00
Igor Artamonov 0bbcc728c1 problem: full block returns transactions in different order
fix: #82
2021-03-27 18:49:24 -04:00
Igor Artamonov 3ae5203d98 problem: doesn't get head updates from all available heads
solution: ensure all heads are started on multihead start
rel: #67
2021-03-27 15:16:58 -04:00
Igor Artamonov a26cc96ba6 solution: improve logging 2021-03-26 22:54:18 -04:00
Igor Artamonov 240a8b9a46 problem: bitcoin upstream breaks ethereum call selectors 2021-03-25 22:27:44 -04:00
Igor Artamonov 17f14987aa solution: integration test with two upstreams 2021-03-24 22:52:25 -04:00
Igor Artamonov be33508bb9 problem: doesn't handle upstream error for additionally allowed methods; allowing an existing method redefines its logic
rel: #67
2021-03-23 18:39:45 -04:00
Igor Artamonov 51c56acd86 solution: improve logging of upstream selection 2021-03-22 18:25:26 -04:00
Igor Artamonov e3a7051897 problem: wrong ports for docker
rel: #77
2021-03-21 15:18:09 -04:00
Igor Artamonov 50f6d7b2fe problem: doesn't select upstream by available block hash, see EIP-1898
rel: #81
2021-03-20 22:34:22 -04:00
Igor Artamonov c3c1a51a52 problem: doesn't parse block selector specified as object EIP-1898
rel: #81
2021-03-19 22:04:03 -04:00
Igor Artamonov c3f0f1f589 solution: make sure eth_call works with block ref and error response 2021-03-16 17:12:03 -04:00
Igor Artamonov 34c66484f5 solution: graceful shutdown if config is not available 2021-02-17 20:54:58 -05:00
Igor Artamonov d60154d893 problem: nullpointer stacktrace if json is just "null" 2021-02-16 17:15:00 -05:00
Igor Artamonov 73d94879cd problem: wrong name for some of the metrics 2021-02-15 23:42:08 -05:00
Igor Artamonov a97b599908 solution: jvm monitoring 2021-02-15 23:39:09 -05:00
Igor Artamonov a14a0e6585 problem: cannot enable metrics because of conflicting metric with different set of tags 2021-02-11 21:01:40 -05:00
Igor Artamonov bd6ce103f7 solution: metrics for proxy requests 2021-02-10 21:25:39 -05:00
Igor Artamonov 81c5f2ef7b solution: metrics for grpc requests 2021-02-10 17:53:07 -05:00
Igor Artamonov 981a5dc589 solution: metrics for upstream calls 2021-02-10 14:36:44 -05:00
Igor Artamonov 3df27bee5d problem: unclear when monitoring is enabled and how to access it 2021-02-06 22:39:17 -05:00
Igor Artamonov 6f138e1ac7 solution: enable monitoring by default 2021-02-06 22:37:26 -05:00
Igor Artamonov 5ed22b368b solution: monitoring config 2021-02-03 23:08:44 -05:00
Igor Artamonov 93e08f58f6 solution: base code for prometheus monitoring 2021-02-02 21:50:06 -05:00
Igor Artamonov 3ec5632f26 problem: seems that mock server sometimes conflicts with existing apps
solution: find unused port before test
2020-12-06 22:40:52 -05:00