Commit Graph

302 Commits

Author SHA1 Message Date
Igor Artamonov
4a698f8c09 solution: update libs to the latest 2020-05-21 20:48:33 -04:00
Igor Artamonov
2fc6896a83 solution: refactoring, make ObjectMapper as a global object, not bean 2020-05-18 19:23:48 -04:00
Igor Artamonov
c742a62090 problem: race condition on a new block on head 2020-05-16 22:59:07 -04:00
Igor Artamonov
8d49856ffd problem: sporadic unit-test failure 2020-05-16 17:17:21 -04:00
Igor Artamonov
1d947aeb9d problem: unnecessary logging 2020-05-16 17:08:40 -04:00
Igor Artamonov
114f109722 solution: individual class for quorum based requests 2020-05-15 21:06:32 -04:00
Igor Artamonov
73f55d8d81 problem: routed api is not executed first 2020-05-14 23:47:59 -04:00
Igor Artamonov
af4aba69e7 problem: hardcoded methods are not called 2020-05-14 22:37:46 -04:00
Igor Artamonov
bbc21684ae solution: refactoring, more clean class names 2020-05-14 00:12:38 -04:00
Igor Artamonov
98330b8772 problem: CI tests fail 2020-05-13 23:24:21 -04:00
Igor Artamonov
042408b4e6 solution: refactor and redesign API access, now with AggregateUpstream providing base direct/routed apis, plus actual chain upstreams providing specific readers 2020-05-13 22:29:21 -04:00
Igor Artamonov
a539ad3b84 solution: JSON RPC client that treats result as raw 2020-05-09 22:54:41 -04:00
Igor Artamonov
0ef46b2980 problem: different places to fetch from upstream
solution: single access reader for Ethereum upstreams
2020-05-04 21:51:42 -04:00
Igor Artamonov
3a13fb3bd5 problem: sporadic unit-test failure 2020-05-03 20:06:11 -04:00
Igor Artamonov
3fcc2e6d52 problem: Ethereum Address tracking has complex non-reactive logic 2020-05-03 13:55:14 -04:00
Igor Artamonov
549b8b1b5d problem: Ethereum Tx tracking has complex non-reactive logic 2020-04-30 23:42:51 -04:00
Igor Artamonov
605c817149 solution: actualize copyrights and license 2020-04-27 21:49:01 -04:00
Igor Artamonov
bd58ba9774 problem: bitcoin mempool can be queries too often
solution: introduce data access wrappers, in this case caching mempool state in memory
2020-04-27 00:05:02 -04:00
Igor Artamonov
c9082b3cd0 problem: unit test failure 2020-04-26 20:43:46 -04:00
Igor Artamonov
101578aa5f solution: methods configuration for bitcoin 2020-04-26 20:35:19 -04:00
Igor Artamonov
63e5fb8824 problem: unit test failure 2020-04-26 19:58:42 -04:00
Igor Artamonov
2de5d8d8e4 problem: native-call doesn't accept bitcoin calls 2020-04-24 00:04:53 -04:00
Igor Artamonov
f827f5a97a problem: critical bitcoin methods are not enabled by default 2020-04-24 00:04:10 -04:00
Igor Artamonov
7ab21f9281 problem: no quorum details for bitcoin describe 2020-04-23 23:30:32 -04:00
Igor Artamonov
a41230a00a solution: track Bitcoin transactions 2020-04-22 22:54:27 -04:00
Igor Artamonov
548154609d solution: subscribe to bitcoin address balance 2020-04-20 21:43:49 -04:00
Igor Artamonov
322d9ac480 problem: Kotlin class mocking randomly fails
solution: upgrade testing libs, and open the class
2020-04-20 21:42:53 -04:00
Igor Artamonov
4f0b32f705 solution: working rpc to get bitcoin address balance 2020-04-19 20:47:16 -04:00
Igor Artamonov
ba996a8d2b solution: initial implementation for Bitcoin upstreams 2020-04-18 22:26:30 -04:00
Igor Artamonov
51b25ab55d problem: redis cached makes JSON parsing only to extract metadata, ineffective
solution: encode in protobuf with metadata included
2020-04-16 23:05:13 -04:00
Igor Artamonov
9cf1827fe1 problem: keeps data (block/tx) as business object, which requires special treating
solution: keep as bytes (json string) + meta
2020-04-14 00:25:25 -04:00
Igor Artamonov
0ab68ea782 solution: refactor upstreams to make them blockchain specific 2020-04-11 22:55:47 -04:00
Igor Artamonov
695b38f702 problem: using "upstreams" on two levels of config is confusing 2020-03-23 23:41:32 -04:00
Igor Artamonov
014461520e problem: reading yaml to both plain properties and structured objects is a mess
solution: use just objects for configs
2020-03-23 22:54:52 -04:00
Igor Artamonov
d4bd180e23 solution: allow TLS configuration for proxy 2020-03-20 20:22:01 -04:00
Igor Artamonov
26f8dd294e solution: basic implementation for Proxy endpoint 2020-03-19 23:34:32 -04:00
Igor Artamonov
32249bff32 solution: banner on run 2020-03-18 21:09:59 -04:00
Igor Artamonov
6392b6bebd solution: setup CI 2020-03-15 16:48:31 -04:00
Igor Artamonov
35cb35fe0a solution: Redis caching 2020-03-14 22:25:27 -04:00
Igor Artamonov
46cf08c6a2 solution: Redis cache for transactions 2020-03-11 23:02:30 -04:00
Igor Artamonov
83649ad631 solution: Redis cache for blocks 2020-03-10 23:45:00 -04:00
Igor Artamonov
2816b5b8fc solution: refactoring 2020-02-24 22:14:24 -05:00
Igor Artamonov
b255bed3a1 solution: use caching for WS head 2020-02-23 23:54:30 -05:00
Igor Artamonov
81ccfef068 solution: warn if WS is not configured for an upstream 2020-02-23 22:01:11 -05:00
Igor Artamonov
3c2e61af7d solution: use existing caches to respond to full block request 2020-02-09 00:24:41 -05:00
Igor Artamonov
d551d95a3f solution: cache requested transactions 2020-02-07 23:51:28 -05:00
Igor Artamonov
d13397260f problem: doesn't use cache for block-by-height requests 2020-02-07 20:21:05 -05:00
Igor Artamonov
d69ee41e7a problem: unnecessary exceptions in logs when an unavailable blockchain is requested 2019-12-30 22:22:30 -05:00
Igor Artamonov
38bb9a0fa5 problem: caching is not verified 2019-12-30 00:21:54 -05:00
Igor Artamonov
d1585287b0 solution: revise for the latest etherjar 2019-11-13 21:35:51 -05:00