Ian Norden
77b7bcc94c
adjust everything to work with mh fks
2020-08-04 22:35:05 -05:00
Ian Norden
0ab55ef9d8
distinguish between differential state/storage nodes and eventual ones
2020-07-01 13:44:04 -05:00
Ian Norden
e2bcc06f8a
major refactor pt 3
2020-06-29 19:16:52 -05:00
Ian Norden
449d23757e
pkg rename
2020-06-29 16:56:25 -05:00
Ian Norden
3dc1bf6955
update ipfs stack, specifically dshelp.CidToDsKey => dshelp.MultihashToDsKey
2020-06-22 13:15:29 -05:00
Ian Norden
9f3e4f1102
finish updating documentation after refactor
2020-06-20 10:59:32 -05:00
Ian Norden
fe083c12f9
trimming down to ipfs watchers
2020-05-29 22:02:47 -05:00
Ian Norden
421987ff72
update version in go.mod
2020-05-22 19:22:52 -05:00
Ian Norden
0101c4791a
pair with new statediffing geth version; travis tests will fail til release is up
2020-05-21 15:34:43 -05:00
Ian Norden
5fb1cc0696
refactor- focus on simplifying concurrent fetching; graceful shutdown for superNode command
2020-05-12 15:34:25 -05:00
Ian Norden
3320df264f
avoid decode error on storage branch nodes when element won't decode into byte array
2020-05-12 09:32:33 -05:00
Ian Norden
e2ccd3ffdb
update configs
2020-05-11 20:50:19 -05:00
Ian Norden
8dc31e4ca5
make connection pool params configurable
2020-05-11 10:50:05 -05:00
Ian Norden
fb6fdfcc13
separate db conneciton pools for each process
2020-05-06 16:16:56 -05:00
Ian Norden
dfb66eb67b
update version; minor refactoring
2020-05-04 12:14:57 -05:00
Ian Norden
9b0ded692b
clean up db transaction rollback/commit handling
2020-05-01 17:00:00 -05:00
Ian Norden
1541c62ddc
eth api tests needed to be updated too
2020-05-01 11:12:01 -05:00
Ian Norden
ff5472ccf5
direct fetching of iplds from pg-ipfs for btc and eth
2020-04-30 17:22:22 -05:00
Ian Norden
059664ffc9
combined/directp publish and indexing for btc; tests
2020-04-30 17:22:22 -05:00
Ian Norden
65da8cafe7
update higher level interfaces and constructs
2020-04-30 17:22:22 -05:00
Ian Norden
475ca3e6d1
publish and index test for eth
2020-04-30 17:22:22 -05:00
Ian Norden
680a86aee2
combine publishing and indexing for eth; write directly to pg and avoid need for ipfs node
2020-04-30 17:22:22 -05:00
Ian Norden
d345e6b954
reduce chan buffer size, make circular buffer
2020-04-30 17:22:22 -05:00
Ian Norden
9db0fb219a
ipfs mode enum; configuration
2020-04-30 17:22:18 -05:00
Ian Norden
ef77688145
additional logging at initialization
2020-04-28 22:08:46 -05:00
Ian Norden
43c254b5f6
fixes after tests
2020-04-20 11:16:08 -05:00
Ian Norden
eceaa0aecb
use configurable timeout for geth batch http requests; additional error log info in payload fetchers
2020-04-20 11:05:12 -05:00
Ian Norden
35e625695e
updates to documentation for super node
2020-04-19 18:28:36 -05:00
Ian Norden
79c3078c36
version command; log resync and super node configs; fix logfile cli flag
2020-04-14 12:36:07 -05:00
Ian Norden
f2e853e9c9
add back raw contract address
2020-04-04 15:45:55 -05:00
Ian Norden
8960cde4f7
backfill based on validation level
2020-04-04 15:45:54 -05:00
Ian Norden
649fd54a9f
store receipt contract hash instead of contract
2020-04-04 15:45:54 -05:00
Ian Norden
00031e2b83
resync reset validation level
2020-04-04 15:45:54 -05:00
Ian Norden
060e3430c1
times_validated field in header
2020-04-04 15:45:54 -05:00
Ian Norden
aa9f78a028
new fields in eth.receipt_cids to index contract addresses seen in
...
logs; handle null dst/contract addrs in trxs/rcts
2020-04-04 15:45:54 -05:00
Ian Norden
657abbb7ec
vacuum analyze public.blocks after cleanup
2020-03-26 04:25:00 -05:00
Ian Norden
834e2bcff4
additional logging to resync service; rename state/storage key to leaf key and allow insert of null values for intermediate nodes
2020-03-25 19:16:26 -05:00
Ian Norden
e570a2c9d4
VACUUM ANALYZE after cleaning out old data
2020-03-25 19:16:26 -05:00
Ian Norden
716cc3663f
don't throw error on duplicate key insert
2020-03-25 19:16:26 -05:00
Ian Norden
1aded75645
additional log.info for data streamed at head
2020-03-22 09:45:49 -05:00
Ian Norden
f81c440418
for some reason every now and then a branch node would throw a panic here; still need to figure out why; quick fix
2020-03-22 09:05:26 -05:00
Ian Norden
b2d5345c02
add new fields to test data to get tests passing again
2020-03-21 21:10:28 -05:00
Ian Norden
ba5d6f9b9f
state account support and add roots and additional metadata to header
...
index
2020-03-21 20:57:02 -05:00
Ian Norden
57bdcca43c
combine resync and supernode configs; load config params from env variables if available; allow config params to be passed in as cli flags
2020-03-20 13:15:50 -05:00
Ian Norden
c72dc273ba
misc fixes; config files for resyncing
2020-03-17 19:42:53 -05:00
Ian Norden
d47ba24373
adjust btc and eth publishers and publisher tests
2020-03-17 13:05:19 -05:00
Ian Norden
1e2b09045a
fix state and storage iplds/dag_putters; add support for eth rct trie and eth and btc tx tries
2020-03-17 11:18:20 -05:00
Ian Norden
e7225317d4
split btc and eth super node processes into serpate containers; dockerfile for Postgraphile with plugins
2020-03-17 08:37:00 -05:00
Ian Norden
36b714b6df
resync config initializer
2020-03-17 07:51:00 -05:00
Ian Norden
b934f6c963
btc and eth unit tests for db cleaning
2020-03-17 07:50:38 -05:00
Ian Norden
f814b64543
bug fix
2020-03-12 13:59:23 -05:00
Ian Norden
77b1c25bc1
resync service
2020-03-12 13:52:23 -05:00
Ian Norden
b4005eff39
db cleaners to eth and btc
2020-03-12 13:51:58 -05:00
Ian Norden
e5c5422edc
adhjustments to work with statediffing geth v1.10-alpha.2
2020-03-11 13:41:59 -05:00
Ian Norden
be875c0100
db comments to resolve postgraphile type conflicts
2020-03-10 09:38:07 -05:00
Ian Norden
aad318c67b
improved logging in super node service
2020-03-08 11:47:49 -05:00
Ian Norden
8c2a71b16f
finish wasm watcher engine
2020-02-27 15:09:20 -06:00
Ian Norden
330a083749
watcher configuration; super node versioning
2020-02-25 16:38:46 -06:00
Ian Norden
25aa4634e9
work on wasm watchers
2020-02-24 12:54:10 -06:00
Ian Norden
e3e8700d34
api test; return full ipld models to subscribers
2020-02-23 17:15:26 -06:00
Ian Norden
fb360d8562
changes to super node to improve compatibility with watcher
2020-02-23 17:15:26 -06:00
Ian Norden
f0c5ff8077
begin wasm watcher engine
2020-02-23 17:15:26 -06:00
Ian Norden
94aefafd7c
more explicity payload err and msg
2020-02-23 17:15:26 -06:00
Ian Norden
2fbf97da9d
wasm instantiator
2020-02-23 17:15:26 -06:00
Ian Norden
5f85a7ecf6
more descriptive comments/method names for super node service; send msg
...
when backfill is finished
2020-02-23 17:15:26 -06:00
Ian Norden
48fb5bcd27
separate super node instances for different chains need to be within the same process to avoid contention over ipfs repo lock
2020-02-20 16:14:17 -06:00
Ian Norden
ef3b043f97
emulate btc data streamer over http; misc fixes
2020-02-20 16:14:17 -06:00
Ian Norden
5173edf563
fix broken go-ipld-eth trie node dag putters
2020-02-20 16:14:17 -06:00
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
0f765df12c
finish constructors
2020-02-20 16:14:17 -06:00
Ian Norden
5d46e02509
tx inputs directly reference tx ouputs
2020-02-20 16:14:17 -06:00
Ian Norden
642e08a04b
btc converter, publisher, and indexer unit tests
2020-02-20 16:14:17 -06:00
Ian Norden
8643a7f3b6
btc ipld fetcher, paylaod fetcher, and ipld resolver
2020-02-20 16:14:17 -06:00
Ian Norden
aa2f8bd0a5
btc retriever and filterer
2020-02-20 16:14:17 -06:00
Ian Norden
f33cc3f34b
TxOutputs: extract and index pkscript metadata (script type, addresses, #required sigs); TxInputs: outpoint_hash => outpoint_tx_id that references transaction_cids.id
2020-02-20 16:14:17 -06:00
Ian Norden
48f70d4ddf
btc mocks; reorg
2020-02-20 16:14:17 -06:00
Ian Norden
808f1b5662
btc cid indexer
2020-02-20 16:14:17 -06:00
Ian Norden
5094b975fc
postgres schema and tables for btc
2020-02-20 16:14:17 -06:00
Ian Norden
9018e551ba
move eth tables under eth schema
2020-02-20 16:14:17 -06:00
Ian Norden
4dde90447e
wrap generic top-level interfaces with loose types
2020-02-20 16:14:17 -06:00
Ian Norden
68d8e68144
btc ipld publisher
2020-02-20 16:14:17 -06:00
Ian Norden
8099f726c3
internalized ipld types and dag_putters; adjust converters/publishers to work with them
2020-02-20 16:14:17 -06:00
Ian Norden
2e81f8d31a
btc payload converter
2020-02-20 16:14:17 -06:00
Ian Norden
076903b174
btc payload streamer
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
Ian Norden
33ac5978f5
split uncles into their own table; add tx index to the tx index (lol); continue work on geth api endpoints
2020-01-27 14:14:03 -06:00
Ian Norden
e52284b9ba
update documentation, bug/error fixes, work on eth api for drawbridge
2020-01-24 15:37:52 -06:00
Ian Norden
7843312815
major refactoring of super_node to make it easier to support other chains
2020-01-24 15:37:52 -06:00
Ian Norden
5ff05225c2
begin eth api recapitulation
2020-01-24 15:37:52 -06:00
Ian Norden
0785507a7d
support for total difficulty (needed to support some eth endpoints)
2020-01-24 15:37:52 -06:00
Ian Norden
358575335b
expand retriever, fetcher, and resolver interfaces in prep for eth api mimick
2020-01-24 15:37:52 -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
Ian Norden
74a90fd124
use Debugf instead of strconv
2019-12-02 23:37:01 -06:00
yaoandrew
5a1f599a4d
Clean up files after rebase
2019-12-02 23:36:00 -06:00
yaoandrew
614ea3bba1
Adds logging for storage and RPC
2019-12-02 23:10:32 -06:00
yaoandrew
0b9f29c300
Removes import alias for logrus
2019-12-02 23:08:48 -06:00
Ian Norden
4036d9d6a0
review fixes
2019-12-02 13:49:27 -06:00
Ian Norden
5be205ffa6
super node backfill breaks batch call into smaller bins; retrieve gap
...
test
2019-12-02 13:24:58 -06:00
Ian Norden
c16ac026db
logWithCommand; rebase fixes; config for testing super node subscription
2019-12-02 13:24:58 -06:00
Ian Norden
67df8dea77
header_cids.final => header_cids.uncle
2019-12-02 13:24:58 -06:00
Ian Norden
3a666df294
backfiller refactoring; explicity errs; golint
2019-12-02 13:24:58 -06:00
Ian Norden
40c3aff597
seed => super; port 80 => port 8080; backfill process for the super_node
2019-12-02 13:24:58 -06:00
Ian Norden
83fd76bc8a
fix flaky test
2019-12-02 13:24:58 -06:00
Ian Norden
b789ab69e6
adjustments after rebase
2019-12-02 13:24:58 -06:00
Ian Norden
8fe273fb7b
getter rpc method for the seed node's geth info
2019-12-02 13:24:58 -06:00
Ian Norden
2c997921cb
update dockerfile and documentation
2019-12-02 13:24:58 -06:00
Ian Norden
8b31d12716
fixes after rebase
2019-12-02 13:24:58 -06:00
Ian Norden
d2db5d0ac9
filterer unit test; that should be the last of them
2019-12-02 13:24:58 -06:00
Ian Norden
03dbe5dd22
resolver unit test
2019-12-02 13:24:58 -06:00
Ian Norden
825b0762cd
retriever unit test
2019-12-02 13:24:58 -06:00
Ian Norden
9ebc785d98
unit test for repository/indexer
2019-12-02 13:24:58 -06:00
Ian Norden
35c8f3561a
publisher unit test
2019-12-02 13:24:58 -06:00
Ian Norden
d79cc90cb2
unit test for ipfs fetcher
2019-12-02 13:24:58 -06:00
Ian Norden
069646905e
converter unit test
2019-12-02 13:24:58 -06:00
Ian Norden
89faa85871
fix transaction signing, also removes need for rpc call to do it
2019-12-02 13:24:58 -06:00
Ian Norden
e72995605d
possible fix for travis error
2019-12-02 13:24:58 -06:00
Ian Norden
0bbb7a30d1
review fixes
2019-12-02 13:24:58 -06:00
Ian Norden
2244d1869f
process receipts from payload instead of retreiving over additional rpc call
2019-12-02 13:24:58 -06:00
Ian Norden
13d09e15c1
update deps
2019-12-02 13:24:58 -06:00
Ian Norden
905585b212
backfill concurrently, one block at a time, while normal streaming continues
2019-12-02 13:24:58 -06:00
Ian Norden
f2efbb5d01
worker pool for handling concurrent ipld putting and cid indexing without overloading Postgres connections
2019-12-02 13:24:58 -06:00
Ian Norden
3fa33fb767
index receipts by the contract address
2019-12-02 13:24:58 -06:00
Ian Norden
23a21c14f3
make subscription config rlp encodable, group subs of the
...
same type using a hash of their config, process only once for each sub
type instead of for every sub.
2019-12-02 13:24:58 -06:00
Ian Norden
1235ec1f97
postgres table to hold ipfs data in same database as vulcanizedb data;
...
shared SeedNodeTransformer interface
2019-12-02 13:24:54 -06:00
Ian Norden
5356cd50bb
seed node documentation
2019-12-02 13:24:51 -06:00
Ian Norden
4c81ca4d54
rename blocks table to eth_blocks so that we don't clash with the ipfs blocks table; dockerfile and startup_script for the seed node
2019-12-02 13:24:51 -06:00
Ian Norden
e7cdd6247e
update to use ReceiptForStorage; expose rpc server over ws
2019-12-02 13:24:51 -06:00
Ian Norden
723c7c6244
fix backfill operations and dependency issue; hopefully travis will work now
2019-12-02 13:24:51 -06:00
Ian Norden
4baea2923c
make db fks deferrable so that we can commit entire cid payload in single transaction; adjust buffer sizes to optimize performane and stability
2019-12-02 13:24:51 -06:00
Ian Norden
b1bb646ad5
goimports + streamSubscribe command for raw access to the seed node data
2019-12-02 13:24:51 -06:00
Ian Norden
8ccdfd4835
fix streamFilters issue
2019-12-02 13:24:51 -06:00
Ian Norden
1dc46640cf
request handler and response screener for seed node api service
2019-12-02 13:24:51 -06:00
Ian Norden
34393ffb3f
fixes for issues uncovered in integration
2019-12-02 13:24:51 -06:00
Ian Norden
b83c0371d9
pub sub service and api
2019-12-02 13:24:50 -06:00
Ian Norden
5ebe2243d8
goimports -w
2019-12-02 13:24:50 -06:00
Ian Norden
671a324294
update to work with updated state diffing code
2019-12-02 13:24:50 -06:00
Ian Norden
3108957e5f
ipfs fetcher
2019-12-02 13:24:50 -06:00
Ian Norden
15e044403d
work on mocks and unit tests
2019-12-02 13:24:50 -06:00
Ian Norden
d702cb720c
update dependencies to work with update eth-block-extractor
2019-12-02 13:24:49 -06:00
Ian Norden
31a9017c4f
index all cids in a payload in a single atomic tx; misc fixes; comment additions
2019-12-02 13:24:46 -06:00
Ian Norden
1921c06b02
repository - repository for indexing CIDs
2019-12-02 13:24:46 -06:00
Ian Norden
1fba4d0858
publisher - interface for publishing IPLD objects
2019-12-02 13:24:46 -06:00
Ian Norden
d248a1050e
syncer - interface for syncing with a statediff subscription
2019-12-02 13:24:46 -06:00
Ian Norden
a31c7e9ced
payload converter - interface for converting state diff payload into payload for ipld publishing
2019-12-02 13:24:46 -06:00
Ian Norden
35719b5180
indexer - top level interface for syncAndPublish
2019-12-02 13:24:46 -06:00
Ian Norden
c6c070005b
subscribe method for the rpc client
2019-12-02 13:24:46 -06:00
Ian Norden
bc59aa4ed6
readme additions and vendor updates
2019-12-02 13:24:46 -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
563832422c
add err logging to eth/node
2019-12-02 11:07:43 -06:00
Rob Mulholand
4a98b7942f
Don't return unexported types
2019-10-31 13:42:19 -05:00
Rob Mulholand
e1236b4072
Prefer all caps for initialisms and acronyms
2019-10-31 13:42:19 -05:00
Rob Mulholand
eba868ff00
Drop else when if statement includes return
2019-10-31 13:33:39 -05:00
Rob Mulholand
0ded7bcd62
Prefer fmt.Errorf(s) to errors.New(fmt.Sprintf(s))
2019-10-31 13:33:39 -05:00
Rob Mulholand
234fff83c5
Use testing.toml and vulcanize_testing in tests
...
- remove legacy references to infura.toml and vulcanize_private
2019-10-31 13:10:25 -05:00
Rob Mulholand
e252229b8a
Add constraint to prevent duplicate headers
...
- Disallow inserts of headers with the same number, hash, and node
fingerprint, since it will enable duplicate log fetching for the
same header
2019-10-28 14:57:13 -05:00
Ian Norden
a2d249ca9d
review fixes
2019-10-28 11:40:32 -05:00
Ian Norden
4fbde836d4
log sql.ErrNoRows which I suspect is what is leading to the flaky test
2019-10-28 09:37:21 -05:00
Ian Norden
65808998b3
goimports -w; golinting, remove some unused code
2019-10-28 09:37:21 -05:00
Ian Norden
11b5efbfe3
fix for issue #146 ; mark header checked for contract if it doesnt have
...
any logs at that header but other contracts do; test
2019-10-28 09:34:42 -05:00
Edvard Hübinette
3fff2896aa
Rename geth to eth, signifying client independence ( #161 )
2019-10-28 12:30:24 +01:00
Edvard Hübinette
f7c4a6736d
VDB-919 Generalise converter ( #152 )
...
* Generalise transformer stack to use InsertionModel
* Add tests for event repository
* Restrict accepted values in InsertionModel
* Add call to repository.SetDB
* Improve error propagation/clarity on GetABI()
* Remove maker references in example
* Please golint
* refactor rollback error handling in repository
* Cleaner errors in repository, refactor tests
2019-10-28 11:48:31 +01:00
Rob Mulholand
2800e6df36
Enable contractWatcher without prior headerSync
...
- Previous setup would fail if there were no headers in the db. This
makes sense because we need headers that haven't been checked for
logs to exist so that we can fetch logs for those headers. But it
also prevents us from kicking off the headerSync and contractWatcher
processes concurrently. These changes enable kicking off both
processes at the same time with the idea that we will have unchecked
headers upon transformer execution.
2019-10-04 16:00:13 -05:00
Elizabeth
f6ab9382b2
Address repo updates ( #134 )
...
* Factor out get or create address into one sql string
* Factor out getChecksumAddress method in address repo
* Update address repo methods to not need a receiver
* Move address repository to libraries/shared
2019-10-03 11:17:08 -05:00
Rob Mulholand
4505382590
Increase logging in contract watcher
...
- Focus on header mode
- Add context to errors, trace guard clauses, warn on non-returned
errors
- Give errors distinct names so compiler will recognize if unchecked
- Remove redundant type declarations/fix typos
2019-10-02 15:14:42 -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
Elizabeth Engelman
8e166f2a56
Update after rebasing with staging
2019-09-25 16:32:31 -05:00
Elizabeth Engelman
ee244ac6f5
Apply go fmt
2019-09-25 16:32:27 -05:00
Elizabeth Engelman
34f8e16c11
Add a Subscribe method to rpc client interface
2019-09-25 16:32:27 -05:00
Elizabeth Engelman
36533f7c3f
Update vendor directory and make necessary code changes
...
Fixes for new geth version
2019-09-25 16:32:27 -05:00
20ce0ab852
Revert "option to write the plugin .go file and run the plugin migrations without building the .so file so that it can be done from the shell instead to afford complete error messages"
...
This reverts commit 9bb2f27a69
.
2019-09-24 23:54:25 +00:00
Ian Norden
9bb2f27a69
option to write the plugin .go file and run the plugin migrations without building the .so file so that it can be done from the shell instead to afford complete error messages
2019-09-24 18:44:04 -05:00
Rob Mulholand
c21c069b69
Replace magic numbers with variables
2019-09-23 16:13:45 -05:00
Rob Mulholand
eea0b0bdca
Return missing headers after starting block number
...
- Previously, we required that the first missing header match the
configured starting block number. This helps guarantee that we have
the necessary data for method polling in memory, but prevents the
process from moving forward if restarted after the starting block
has already been checked.
2019-09-23 16:13:45 -05:00
Rob Mulholand
37e2673a8d
Do nothing on duplicate log insert
...
- Prevents duplicate key constraint violation from blocking the process
from moving forward on restart.
- If header_id, log_idx, and tx_idx are the same, we can safely do
nothing since it's definitely the same log - a reorg would cause the
original header to be replaced with a new ID.
2019-09-23 16:02:07 -05:00
Rob Mulholand
3466a51b4d
Correctly parse uint8 values in contract watcher
...
- calling string(uint8) => insert errors on numeric columns
2019-09-20 21:37:59 -05:00
Rob Mulholand
749db40b96
Parse bytes32 vals in Contract Watcher
2019-09-20 13:48:43 -05:00
Rob Mulholand
f83e996ab8
Update comments in checked headers repository
2019-09-18 21:39:34 -05:00
Rob Mulholand
2b798e00e0
Cap random fake timestamp
2019-09-13 11:20:13 -05:00
Rob Mulholand
3f9b034c4c
Rename checked_logs => watched_logs
...
- We're logging that a given log has been included in any fetch calls
for checked headers, rather than that we have already checked for
that log
2019-09-10 21:22:14 -05:00
Rob Mulholand
13d503b851
Distinguish between missing and unchecked headers
...
- Missing == not in DB
- Unchecked == logs haven't been fetched
2019-09-10 14:39:45 -05:00
Rob Mulholand
ce91b0d9e6
Simplify checked header repository tests
...
- Use assertions instead of comments to document expectations
- Also randomize the fake timestamp in test data
2019-09-10 13:47:43 -05:00
Rob Mulholand
b9f3b9f946
Reference header sync logs address via foreign key
2019-08-28 10:41:34 -05:00
Rob Mulholand
5ac76eee74
Make check_count a column on public.headers
...
- Don't need to maintain it on public.checked_headers if we're not
adding additional columns to that table
2019-08-28 09:50:17 -05:00
Rob Mulholand
666ea1c325
Update checked headers for new transformers
...
- If a header was marked as checked before a transformer was added to
the watcher, mark all headers since the new transformer's starting
block number as unchecked.
2019-08-28 09:25:14 -05:00
Rob Mulholand
63dabbb051
Extract and delegate logs concurrently
2019-08-28 09:25:13 -05:00
Rob Mulholand
d496dad33c
Decouple log extraction from transformer delegation
...
- limit missing headers results set to 100 so that extraction doesn't
excessively block delegation
- wrap checked headers functions in repository struct
- move storage repository to factory, to correspond with event
repository path
- remove unused files
- reformat sql
- remove line breaks in imports
2019-08-28 09:25:13 -05:00
Rob Mulholand
cb819fa9a6
Write event logs to database before transforming
...
- enables decoupling event extraction/persistence from transformation
- modifies event transformer, converter, and log chunker to accept
payload that includes internal log database ID with log data
- remove alias for transformer pkg as shared_t
- remove unused mock watcher repository
2019-08-28 09:13:44 -05:00
Rob Mulholand
3693ed905f
Rename logs to full sync logs
...
- Enable creating new table for logs used in event watching based on
header sync
2019-08-28 09:11:06 -05:00
Elizabeth Engelman
edc0bdf668
Address more PR feedback
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
1b3786338f
Address PR feedback
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
58c23c6632
Update Copyrights
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
38f6847ff2
Create a HeaderSyncReceiptRepository
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
7e38764618
Rename ReceiptRepository -> FullSyncReceiptRepository
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
4e40e892d2
Updating header_sync_receipts to have FK reference to addresses
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
bcd6d14fcd
Updating full_sync_receipts to have FK reference to addresses
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
258035833b
Add GetAddressById
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
4b61c87b55
Get or create address record in a transaction
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
1373fe83a1
Pass a db into GetOrCreateAddress
2019-08-23 10:11:37 -05:00
Elizabeth Engelman
b13eefbce7
Add AddressRepository
2019-08-23 10:11:37 -05:00
Rob Mulholand
987abd4b2e
Update Geth to 1.9.0
2019-07-23 15:26:18 -05:00
Andrew J Yao
ee77fc6521
Remove injection of SubCommand for logs
2019-07-23 13:11:20 -07:00
Andrew J Yao
92d153b010
Add subCommand name to log fields
2019-07-23 08:09:57 -07:00
Edvard Hübinette
2c092e8d04
[VDB-751 VDB-754] Bugfix null pointer panic and improve logging ( #119 )
...
* VDB-751 VDB-754 Bugfix null pointer panic and improve logging
* Fix typo
2019-07-18 09:21:40 +02:00
Rob Mulholand
0f95267e84
Use goose library for running plugin migrations
...
- Removes dependency on goose binary existing in plugin execution
environment
2019-06-27 13:58:58 -05:00
Rob Mulholand
f0bcf930f4
Separate tmp migrations dir from home in join
...
- enable separator between home and migrations dir
2019-06-27 13:58:58 -05:00
Rob Mulholand
0558792282
Log error on failure to setup plugin migrations
...
- include specific error
2019-06-27 13:58:58 -05:00
Andrew J Yao
11a65c525c
Adds ability to set log level from toml or CLI args
2019-06-27 11:14:11 -07:00
Elizabeth Engelman
fa03716cb2
Address small PR comments
2019-05-10 11:54:15 -05:00
Elizabeth Engelman
e1a0d894a2
Update blockchain method GetHeaderByNumbers -> GetHeadersByNumbers
2019-05-08 13:42:43 -05:00
Elizabeth Engelman
ba81766f6c
Small spelling fix
2019-05-08 13:42:43 -05:00
Rob Mulholand
76ab914bdc
Add license
2019-05-01 12:32:39 -05:00
Rob Mulholand
2d684c5aec
Extract storage diff fetching behind an interface
...
- Replaces directly reading from a CSV
- Simplifies testing
- Should hopefully make it easier to plug in other sources for storage
diffs (e.g. differently formatted CSVs, JSON RPC, etc)
2019-05-01 12:30:36 -05:00
Gabe Laughlin
a344432156
(VDB-560) Rename lightSync to headerSync
2019-05-01 12:12:55 -05:00
Rob Mulholand
3fd6269b78
Don't lookup transactions if no log events
...
- Prevents EOF error on transactions lookup
2019-04-18 09:53:18 -05:00
ana0
964fc8bd22
Merge branch 'staging' into databaseConfig
2019-04-11 14:19:57 -04:00
anon
bd12149594
Database config
2019-04-10 17:56:31 -04:00
Gabe Laughlin
8903b6fb2d
Add timestamp customization for fake header
2019-04-09 17:08:15 -05:00
Ian Norden
9befc76fc6
remove LIMIT 100; method to check continuity of headers returned but doesn't require
...
the set to start at a specific block number; config for
account_transformer; review fixes; update schema
2019-04-05 17:21:59 -05:00
Ian Norden
c1940c3e58
full_sync and light_sync receipt tables and light receipt repository methods and test
2019-04-05 16:36:48 -05:00
Ian Norden
04ad7b7696
Merge pull request #47 from vulcanize/track_uncle_rewards
...
Track uncle rewards + direct balance polling
2019-04-04 15:55:40 -05:00
Ian Norden
5dcf534b2c
review fixes
2019-04-04 15:21:39 -05:00
Ian Norden
72c73c25b7
update vendor dep; constrain to revision of geth with UnpackIntoMap; updates to match
2019-04-03 00:14:02 -05:00
Ian Norden
197f98c93d
going ahead and indexing the entire uncle blocks (one of the issues open on public); finish tests
2019-04-02 14:32:30 -05:00
Ian Norden
fd407825c1
review fixes
2019-04-02 10:10:17 -05:00
Ian Norden
185f4c0e93
adjust block/uncle reward tests and add methods to pkg/geth blockchain and ethclient for direct fetching of eth balances
2019-04-02 10:10:17 -05:00
Ian Norden
9030cff2bd
keep track of who is receiving uncle rewards
2019-04-02 10:10:17 -05:00
Rob Mulholand
f5b32a11b0
Improve transaction syncing test coverage
2019-03-28 14:31:17 -05:00
Rob Mulholand
81dfd12665
Address PR comments
2019-03-28 14:31:17 -05:00
Rob Mulholand
54d46638a8
updates for light sync transactions
2019-03-28 14:31:17 -05:00
Rob Mulholand
79e011aad2
Add light sync transactions table
...
- Foreign key to header instead of block
- Can use same Transaction struct for both
2019-03-28 14:31:17 -05:00
Rob Mulholand
d93006321b
Rename transactions to full_sync_transactions
...
- Table has foreign key to blocks
- Add transaction RLP and transaction index to table
- Enables other tables with standalone transactions or transactions
associated with other data structures (e.g. headers)
2019-03-28 14:31:17 -05:00
Ian Norden
1aa849bcb4
PR fixes; remove all infura token references and setup travis to use encrypted env
...
variable; rest of the ethjson_rpc dependent tests extracted to integration_test
2019-03-21 18:36:51 -05:00
Ian Norden
d3e172d9ab
remove references to infura token except for in infura.toml so that tests will continue to pass on CI
2019-03-21 18:36:49 -05:00
Ian Norden
37fc038605
fixes for review comments
2019-03-21 18:36:49 -05:00
Ian Norden
37e581c7ec
PR#72 from public repo- https://github.com/vulcanize/vulcanizedb/pull/72- also needed to finish pluggin in ENS record transformer
2019-03-21 18:33:56 -05:00
Ian Norden
24879a85aa
mv pkg/omni pkg/contract_watcher
2019-03-21 18:33:56 -05:00
Ian Norden
073378de6d
update © to 2019
2019-03-21 18:33:56 -05:00
Ian Norden
e4e092f542
changes to plugin and commands to accomodate changes
2019-03-21 18:33:56 -05:00
Ian Norden
8174ce4aee
refactor omni code; rename omniWatcher => contractWatcher; use config instead of excessive number of CLI flags
2019-03-21 18:30:48 -05:00
Ian Norden
ff55e3ba7a
TransformerInitializer => EventTransformerInitializer reorganization
2019-03-14 11:59:39 -05:00
Ian Norden
9f8c50e3ab
tests for migration path ordering and errors
2019-03-13 11:42:30 -05:00
Ian Norden
f37c458992
the part that actually runs the migrations in order
2019-03-13 11:42:29 -05:00
Ian Norden
84aa0a7eba
plugin migration order specified in config
2019-03-13 11:42:29 -05:00
Rob Mulholand
1414779d52
Use *sqlx.Tx instead of *sql.Tx
...
- requires using db.Beginx() instead of db.Begin()
- enables calling tx.Get()
2019-03-06 12:43:39 -06:00
Rob Mulholand
7ed4dcd1fa
Remove Tic logic
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
Rob Mulholand
a806cb2818
Extract slow tests from omni full transformer
2019-03-06 12:43:06 -06:00
Rob Mulholand
34c96654ce
Extract slow tests from omni light transformer
2019-03-06 12:43:06 -06:00
Ian Norden
8bd397e2eb
Merge pull request #29 from vulcanize/fix
...
Fix for Travis issue at https://github.com/vulcanize/mcd_transformers/pull/6
2019-03-06 11:27:43 -06:00