Commit Graph
100 Commits
Author SHA1 Message Date
Igor Artamonov 438ee1dfe9 Merge pull request #131 from SpontaneousOverthrow/add_ws_panel_to_dashboard
Add ws panel to dshackle dashboard
2022-01-07 19:05:02 -05:00
Igor Artamonov c060aeda31 problem: suboptimal routing for upstreams in different datacenters
solution: additional role to separate primary and secondary upstreams
fix: #141
2022-01-05 18:42:35 -05:00
Igor Artamonov 45237592a3 solution: config option to disable an upstream 2021-12-26 15:32:18 -05:00
Igor Artamonov b397a907b1 problem: ChainLink client fails because eth_getLogs is not available
rel: #136
2021-12-25 12:35:02 -05:00
Igor Artamonov f2b471c56f problem: eth_chainId is not available 2021-12-24 18:10:03 -05:00
Igor Artamonov 8526c2a3ee problem: null-pointer and high memory use on subscribe
rel: #133
2021-12-23 18:50:28 -05:00
Igor Artamonov 2a3d7ecb24 problem: produces no response for unavailable methods 2021-12-22 21:47:31 -05:00
Igor Artamonov 620a04f990 problem: another vulnerability in log4j 2021-12-20 21:25:14 -05:00
Igor Artamonov 9624eaf39c problem: WS upstream stuck in validation 2021-12-20 21:22:16 -05:00
Igor Artamonov d6c847b210 problem: WS upstream stuck in validation 2021-12-20 20:55:46 -05:00
Igor Artamonov 2f829fab98 problem: confusing upstream lag numbers in log 2021-12-18 19:43:40 -05:00
Igor Artamonov 6cbb3a6fe1 solution: refactor Ethereum WS Connection to a separate class to improve logging and debugging 2021-12-17 20:47:04 -05:00
Igor Artamonov 0bdb4a3a75 problem: failing tests
rel: [e10525d]
2021-12-15 21:29:05 -05:00
Igor Artamonov e10525d702 solution: use uint64 to encode sats 2021-12-15 20:42:03 -05:00
Igor Artamonov 845cc1c2ca problem: uses extended fees for blockchains with std fees only 2021-12-14 21:42:58 -05:00
Igor Artamonov 1c04d14ec5 problem: vulnerability in log4j < v2.15 (CVE-2021-44228)
rel: https://www.lunasec.io/docs/blog/log4j-zero-day/
2021-12-10 17:26:05 -05:00
Igor Artamonov b17304b201 Merge pull request #137 from emeraldpay/feat/fee-estimation 2021-12-09 16:35:13 -05:00
Igor Artamonov bb61d42bc9 solution: monitoring and access log for Fee Estimation requests 2021-12-08 21:16:10 -05:00
Igor Artamonov c8d94b8748 problem: outdated protobuf definitions w/o Fee Estimation 2021-12-08 19:36:13 -05:00
Igor Artamonov 72f1993c91 problem: uses dev version of emerald-api 2021-12-08 19:34:53 -05:00
Igor Artamonov 8de75003a8 solution: initial code for fee estimation 2021-12-06 23:15:29 -05:00
Igor Artamonov 8f423d99d2 solution: start v0.12 2021-11-26 21:23:14 -05:00
Igor Artamonov 5ebd23a238 solution: release v0.11 2021-11-25 19:10:11 -05:00
Igor Artamonov e1170dd055 problem: ERC20 Balancer subsription checks balancer on each block, even if no transfer happened
solution: use ERC20 Logs to determine changes to ERC20 balance
2021-11-24 19:26:34 -05:00
Igor Artamonov e51f4861d3 problem: doesn't start head subscription for a single grpc based upstream; no validation for second bitcoin upstream 2021-11-18 17:46:43 -05:00
Igor Artamonov f918e1b138 problem: ktlint 2021-11-17 21:54:59 -05:00
Igor Artamonov bd25744768 solution: actual version in RPC
fix: #73
2021-11-17 21:48:00 -05:00
Igor Artamonov acdb450fdf problem: doesn't use hardcoded methods on Bitcoin 2021-11-17 21:39:17 -05:00
Igor Artamonov df805ee4a9 problem: uses only one Head Subscription for Dshackle Upstream even if multiple are provided 2021-11-12 20:14:04 -05:00
Igor Artamonov 5709eb1e62 problem: doesn't run unit tests 2021-11-12 19:54:55 -05:00
Igor Artamonov abb74c98af Merge pull request #123 from emeraldpay/feat/websocket-proxy 2021-10-29 18:11:19 -04:00
Igor Artamonov b05b690804 solution: docs for WebSocket support 2021-10-29 17:55:45 -04:00
Igor Artamonov f1720ad354 solution: websocket unsubscribe 2021-10-29 16:12:54 -04:00
Igor Artamonov e001913acb solution: AccessLog for Websocket requests 2021-10-28 23:46:32 -04:00
Igor Artamonov 92657cf635 solution: test ProxyServer 2021-10-27 21:19:32 -04:00
Igor Artamonov 89eec9958a problem: Proxy doesn't render internal exceptions to JSON RPC errors 2021-10-27 21:18:58 -04:00
Igor Artamonov 133937822c solution: configuration for Websocket proxy 2021-10-27 20:34:04 -04:00
Igor Artamonov dc3c7b1249 problem: ktlint 2021-10-26 23:18:24 -04:00
Igor Artamonov bdd25da387 solution: Websocket Ethereum proxy
fix: #110
2021-10-26 23:03:40 -04:00
Igor Artamonov 6158d10aac Merge pull request #122 from emeraldpay/feat/health-check 2021-10-24 18:03:22 -04:00
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