Rpc statediffing #10

Merged
telackey merged 14 commits from rpc_statediffing into statediffing 2019-07-31 17:52:06 +00:00

14 Commits

Author SHA1 Message Date
Ian Norden
a08be8596e review fixes/changes 2019-07-31 11:11:23 -05:00
Ian Norden
86949cc1c8 relay receipts with the rest of the data (don't know why I didn't realize to do this earlier) 2019-07-31 10:37:00 -05:00
Ian Norden
3dcb934614 work on doc.go 2019-07-31 10:37:00 -05:00
Ian Norden
9f5ff0fc0e adjust buffering to improve stability; begin documentation; fix notifier
err handling
2019-07-31 10:37:00 -05:00
Ian Norden
073c340a51 review fixes; proper method signature for api; adjust service so that statediff processing is halted/paused until there is at least one subscriber listening for the results 2019-07-31 10:37:00 -05:00
Ian Norden
ba8156f63f review fixes and fixes for issues ran into in integration 2019-07-31 10:37:00 -05:00
Ian Norden
436f8e9f83 cli parameter to limit statediffing to select account addresses + test 2019-07-31 10:37:00 -05:00
Ian Norden
371cef7282 make state diff rlp serializable 2019-07-31 10:37:00 -05:00
Ian Norden
63b89dd2be option to process intermediate nodes 2019-07-31 10:37:00 -05:00
Ian Norden
d1a1b8a298 make proofs and paths optional + compress service loop into single for loop (may be missing something here) 2019-07-31 10:37:00 -05:00
Ian Norden
0471cf2826 refactoring state diff service and adding api which allows for streaming state diff payloads over an rpc websocket subscription 2019-07-31 10:37:00 -05:00
Ian Norden
aa1345b43d refactoring statediff builder and types and adjusted to relay proofs and paths (still need to make this optional) 2019-07-31 10:37:00 -05:00
Ian Norden
4f7dca667e refactoring/reorganizing packages 2019-07-31 10:37:00 -05:00
Elizabeth
33d4b8d744 Statediff for full node (#6)
* Open a trie from the in-memory database

* Use a node's LeafKey as an identifier instead of the address

It was proving difficult to find look the address up from a given path
with a full node (sometimes the value wouldn't exist in the disk db).
So, instead, for now we are using the node's LeafKey with is a Keccak256
hash of the address, so if we know the address we can figure out which
LeafKey it matches up to.

* Make sure that statediff has been processed before pruning

* Use blockchain stateCache.OpenTrie for storage diffs

* Clean up log lines and remove unnecessary fields from builder

* Apply go fmt changes

* Add a sleep to the blockchain test

* Address PR comments

* Address PR comments
2019-07-31 10:37:00 -05:00