Ian Norden
ca273a026d
major refactor part 2: remove cold import, full sync, generalize node table
2020-02-20 16:14:17 -06:00
Ian Norden
da844b0b83
reorg pkg/ to prepare to support chains other than ethereumm
2020-02-20 16:14:16 -06:00
Rob Mulholand
56ce8bdb41
(VDB-950) Write raw diffs before transforming
...
- Raw field we can reference by FK for related data
- Enables replay for unwatched or mistransformed diffs
2019-12-03 14:51:17 -06:00
yaoandrew
0b9f29c300
Removes import alias for logrus
2019-12-02 23:08:48 -06:00
Ian Norden
db0f024088
review fixes
2019-12-02 11:26:44 -06:00
Ian Norden
a834e55b9f
command edits; external pkg for finding min deployment block; gofmt
2019-12-02 11:22:18 -06:00
Ian Norden
8562abd180
split backfill range up into smaller bins and process them concurrently; improve tests; review fixes
2019-12-02 11:20:49 -06:00
Ian Norden
37f4a2d603
integrate backfill into storage watcher; documentation for storage backfill
2019-12-02 11:06:28 -06:00
Ian Norden
b454b61777
factor our state diff fetcher for more general use (e.g. by the super node)
2019-12-02 11:03:37 -06:00
Ian Norden
a59bd06a37
goimports -w; comments; refactor test
2019-12-02 11:03:36 -06:00
Ian Norden
2a98a30ee9
storage backfiller
2019-12-02 11:03:36 -06:00
Rob Mulholand
e1236b4072
Prefer all caps for initialisms and acronyms
2019-10-31 13:42:19 -05:00
Rob Mulholand
b8fec5e4e3
(VDB-929) Minimize storage key lookup bespoke code
...
- Extract shared namespace for looking up and hashing keys
- Require storage transformers only to implement a loader that
associates known keys with metadata
- Move key loader/lookup utils to utils directory to avoid
multiple "storage" packages in imports
2019-10-28 14:29:09 -05:00
Elizabeth Engelman
9c6182c356
Rename StorageDiff field from KeccakOfContractAddress to HashedAddress
2019-09-25 16:36:44 -05:00
Elizabeth Engelman
f315988507
Factor out a bad storage diff for testing
2019-09-25 16:36:44 -05:00
Elizabeth Engelman
6869330bd3
Decode storage value RLP after fetching from statediffs
2019-09-25 16:36:44 -05:00
Elizabeth Engelman
e1de3afdfc
Small changes to helper method names/arg names
2019-09-25 16:36:08 -05:00
Rob Mulholand
2ff88de859
Extract helper for converting hex to keccak256 hash
...
- Also prefer crypto.Keccak256Hash(x) to common.BytesToHash(crypto.Keccak256(x))
2019-09-25 16:36:08 -05:00
Rob Mulholand
d06dddbfaa
Always hash storage diff contract addresses
...
- Enables syncing Geth and Parity diffs with same transformer lookup
- Maybe worth always hashing the storage key so we don't need a hashed
and not-hashed version in the key lookups?
2019-09-25 16:36:08 -05:00
Rob Mulholand
f574407bb6
Revert "Update Mappings interface to take a diff as an argument to Lookup"
...
This reverts commit cda646b78ceb6714b132891ea4489a8ff4fc95e9.
2019-09-25 16:34:31 -05:00
Rob Mulholand
8111f4ec5e
Add function for adding hashed keys to mapping
...
- Tool to facilitate parsing diffs from Geth patch that emits hashed
versions of storage keys
2019-09-25 16:34:31 -05:00
Elizabeth Engelman
3fb8e13979
Update Mappings interface to take a diff as an argument to Lookup
2019-09-25 16:34:31 -05:00
Elizabeth Engelman
66d695d93b
Update keccak of address to be a common.Hash instead of a common.Address
2019-09-25 16:34:31 -05:00
Elizabeth Engelman
045d78be25
Rename StorageDiffRow -> StorageDiff
2019-09-25 16:32:31 -05:00
Gabe Laughlin
4f8b057726
(VDB-768) Allow addresses in packed slots to be decoded
2019-08-01 22:40:50 -05:00
Elizabeth Engelman
2c66afbcd7
Address PR feedback
...
- factor out bitsPerByte constant
- panic if the necessary args aren't passed to GetStorageValueMetadataForPackedSlot
- only have one decode integer method in the deocoder file
2019-07-23 13:36:58 -05:00
Elizabeth Engelman
69ad521482
Apply go fmt changes and cleanup
2019-07-19 10:44:36 -05:00
Elizabeth Engelman
d30b4ea4f2
Update GetStorageValueMetadata
2019-07-19 10:13:30 -05:00
Elizabeth Engelman
51915f7506
Pass storage values to repo.create as a map
2019-07-18 18:40:38 -05:00
Elizabeth Engelman
ebfb4965c7
Add tests for decoding packed storage
2019-07-18 16:21:57 -05:00
Elizabeth Engelman
b0fff9a1dd
First pass at decoded packed storage slots
2019-07-18 13:30:04 -05:00
Rob Mulholand
f0a7a7d999
Merge pull request #103 from vulcanize/remove-queued-storage-duplicates
...
Don't duplicate queued storage diffs
2019-06-17 15:55:35 -05:00
Rob Mulholand
e11f2c8c59
Don't duplicate queued storage diffs
...
- currently, if we don't recognize the same diff several times (e.g.
if you restart the storage diff watcher pointed at the same file),
we'll add the same row to the queue on each run.
- these changes assure we only queue an unrecognized diff once.
2019-06-14 11:26:15 -05:00
Rob Mulholand
95fa6280c5
Fix mappings util
...
- Remove hex prefix so that the function can accept keys with or
without a hex prefix and return the same result
2019-06-13 18:33:22 -05:00
Rob Mulholand
e2909797fc
Remove handling of duplicate storage diffs in watcher
...
- Can push this responsibility down to the transformers
- Update docs to reflect that transformers should handle duplicates
2019-05-20 13:29:09 -05:00
Rob Mulholand
36c4da372b
(VDB-570) Handle duplicate storage diffs
...
- If processing a new diff for a row that already exists in the DB,
ignore the error without logging or queueing
- If processing a queued diff for a row that already exists, remove
it from the queue
2019-05-02 11:39:16 -05:00
Rob Mulholand
76ab914bdc
Add license
2019-05-01 12:32:39 -05:00
Rob Mulholand
6a86de87b4
(VDB-371) Recheck queued storage
...
- Iterate through queued storage at defined interval, popping rows
from the queue if successfully persisted
2019-05-01 12:30:37 -05:00
Rob Mulholand
bf4b1687a0
Add get/delete functions to storage queue
2019-05-01 12:30:37 -05:00
Elizabeth Engelman
a7022563ab
Update storage mapping indexes to hex values
2019-03-25 14:28:49 -05:00
Ian Norden
9f8c50e3ab
tests for migration path ordering and errors
2019-03-13 11:42:30 -05:00
Rob Mulholand
89d152e987
Add unit48 to storage decoder
2019-03-08 11:12:02 -06:00
Rob Mulholand
5d0467f4b8
Add variables to clarify example contracts
2019-03-06 12:43:39 -06:00
Rob Mulholand
310a52cb0c
test mappings helpers against static values
2019-03-06 12:43:39 -06:00
Rob Mulholand
b6bef49318
Add tests for plugin helpers
...
- Prevents code analysis from showing functions as unused
- Also address other code analysis issues
2019-03-06 12:43:39 -06:00
Ian Norden
708425c4d6
rebase; extract factories and the mocks they are dependent on to
...
libraries/shared; adjust omni test_helpers to drop and recreate
checked_headers table to avoid reaching 1600 column limit after repeated
tests (dropping columns doesn't actually remove them from contributing
to that limit)
2019-02-25 01:34:38 -06:00
Ian Norden
f2072561a7
removing mcd/maker references; delete test_data; update READMEs; use
...
logrus
2019-02-24 21:53:04 -06:00
Ian Norden
3d34a9e7c9
remove maker migrations and convert back to timestamps and fix bug in
...
composeAndExecute command
2019-02-24 21:52:23 -06:00
Ian Norden
b449193b16
addressing review comments; still need to reorg migrations and add helper tests
2019-02-24 21:38:48 -06:00
Ian Norden
90e67d6da9
move storage mappings pkg into shared
2019-02-24 21:38:48 -06:00