Commit Graph
100 Commits
Author SHA1 Message Date
Igor Artamonov 3123e89bc8 problem: in some cases WS may produce empty or broken messages that breaks the connection
solution: better handling for invalid JSON

(cherry picked from commit 1b6a995c4e746f0704643426fc20f7496fc09cef)
2022-12-07 21:20:03 +04:00
Igor Artamonov 5df10706dd problem: WS proxy uses binary frames (#182)
fix: #180
(cherry picked from commit 2dcb56e8c4467cfdc549fe918427fce593703ca3)
2022-12-07 19:05:15 +04:00
Igor Artamonov 6ddef70d6e problem: missing docs for upstream roles
(cherry picked from commit 7ce91e3ee2afd9333173156a821872300d082482)
2022-12-07 18:28:33 +04:00
Igor Artamonov 2412132b08 problem: reconnects WS too often when the only response is an error 2022-09-06 12:43:15 +03:00
Igor Artamonov f791aa98ff problem: reconnects too fast to a faulty WS connection 2022-09-06 12:43:06 +03:00
Igor Artamonov 38e924831b Merge pull request #171 from emeraldpay/fix/no-ws-metrics
problem: head check doesn't use upstream WS metrics
2022-08-05 21:35:49 -04:00
Igor Artamonov a34da8b4a3 problem: head check doesn't use upstream WS metrics 2022-08-05 21:26:35 -04:00
Igor Artamonov a26db98376 problem: dev logging 2022-08-01 21:38:41 -04:00
Igor Artamonov eacb769c62 problem: no response for requests that produce very large results which causes the upstream to break the WS connection 2022-08-01 19:56:04 -04:00
Igor Artamonov 067a9c10ad problem: doesn't resolve local domain names
rel: [e9c5fbf1]
2022-07-31 21:14:55 -04:00
Igor Artamonov e9c5fbf148 problem: WS connection doesn't resolve local domain names
rel: https://github.com/netty/netty/issues/11142
rel: https://github.com/reactor/reactor-netty/issues/1431
2022-07-28 23:36:11 -04:00
Igor Artamonov d65a217535 problem: Bitcoin listunspent is not working when the upstream do not provide it, though have other sources of unspent data
solution: wrapper for listunspent requests that uses Dshackle mechanism to gather data
2022-07-21 22:09:37 -04:00
Igor Artamonov 7f67171ad6 problem: doesn't request Bitcoin balancer from a remote Grpc node 2022-07-21 22:07:12 -04:00
Igor Artamonov afebfd7363 problem: not always clear why an upstream is not available 2022-07-20 18:35:39 -04:00
Igor Artamonov 1598797767 problem: unclear how grpc upstream labels works 2022-07-12 20:56:17 -04:00
Igor Artamonov ede552be59 problem: Bitcoin head check may lag because it checks it only once in 15 seconds
solution: use ZeroMQ connection to listen for new blocks
2022-06-25 21:26:10 -04:00
Igor Artamonov cdf3e90877 problem: when an upstream grpc returns error it isn't handled and dshackle returns the default error with "no available upstream" 2022-06-23 21:34:07 -04:00
Igor Artamonov 3ecccfe6ce problem: failing unit test
rel: [6aae65c]
2022-06-23 21:28:35 -04:00
Igor Artamonov 6aae65cf40 problem: default quorum options per method may not work for everyone but cannot be reconfigured 2022-06-18 15:15:35 -04:00
Igor Artamonov 6e0ca56033 problem: GCP auth migrated to a separate action and doesn't work the old way 2022-06-16 22:41:06 -04:00
Igor Artamonov 530811d272 problem: WS connections do not honor disable-validation 2022-05-11 21:04:17 -04:00
Igor Artamonov 87c1ea9feb Merge pull request #157 from Termina1/cors-options
Preflight request support and CORS-headers
2022-04-21 17:15:48 -04:00
Igor Artamonov feb2bb89f7 problem: many timeouts on CI 2022-04-02 16:47:58 -04:00
Igor Artamonov 5fb1a2868e problem: fails to build on CI 2022-04-02 16:34:07 -04:00
Igor Artamonov 01691d3812 solution: start v0.13 2022-03-28 22:23:14 -04:00
Igor Artamonov f467207114 solution: release v0.12.0 2022-03-17 21:17:53 -04:00
Igor Artamonov 10960aa99f problem: doesn't increment error metrics for WS calls
rel: #150
2022-03-16 22:14:37 -04:00
Igor Artamonov eac2bbb2d5 problem: doesn't increment error metrics for HTTP call with invalid JSON
rel: #150
2022-03-16 21:35:14 -04:00
Igor Artamonov bb45fa0699 problem: breaks grpc connection on large messages 2022-03-05 20:07:51 -05:00
Igor Artamonov 2b8603df98 problem: confusing metric name and no metric to monitor RPC error responses
rel: #150
2022-02-10 23:21:10 -05:00
Igor Artamonov 720b3f0efc solution: lint 2022-02-10 20:59:55 -05:00
Igor Artamonov 94289399d5 solution: [optionally] provide request/response value with access log 2022-02-10 20:58:43 -05:00
Igor Artamonov 8b6fc0c5d6 problem: no response for some requests, possible bug in Quorum selector
solution: refactor Quorum selector to make it easier to debug; no bug, issue on upstream side
2022-02-09 18:35:02 -05:00
Igor Artamonov 8e29381266 problem: formatting 2022-01-20 22:19:39 -05:00
Igor Artamonov 88fecff429 problem: doesn't return ERC20 balance 2022-01-20 22:14:56 -05:00
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