Ian Norden
e9dbd771e5
tests and fixes for fetcher, parser, retriever, converter, and repository; update cmd and watcher
2018-11-04 01:49:11 -05:00
Ian Norden
8ce75fe5ad
Generic watcher that takes a contract address, grabs the contract abi and starting block number, creates custom event filters, and extracts and transforms event data into postgres. Can configure to look at only a subset of events through CLI flag. Building but needs testing.
2018-11-03 14:00:25 -05:00
Ian Norden
57820ff473
change transformer interface and watcher so that contract config is now fed into AddTransformers such that a single watcher can be loaded with transformers that use different cofigs
2018-11-03 13:49:24 -05:00
Rob Mulholand
ba071ef13f
Consolidate test doubles
...
- Migrate various mocks of core namespaces to shared version in `fakes` pkg
- Err on the side of making test doubles less sophisticated
- Don't pull over mocks of namespaces that are only used in example code
2018-11-03 13:49:23 -05:00
Rob Mulholand
5fe6394406
Add tests for pkg/geth/blockchain
...
- inject dependencies instead of initializing them in the constructor
2018-11-03 13:49:23 -05:00
Rob Mulholand
05186634bd
Add light sync command
...
- Only syncs block headers (excludes block bodies, transactions, receipts, and logs)
- Modifies validation window to include the most recent block
- Isolates validation window to the variable defined in the cmd directory (blocks
have a separate variable defined in the block_repository for determining when
to set a block as final)
2018-11-03 13:49:23 -05:00
Elizabeth Engelman
b6f93e735f
Add ERC20 token watcher example
...
- starting with the totalSupply function
- sets contract config on transformer by passing it into the transformer
initializer
- handles block records with the same number for different nodes for both creating token_supply records, and finding missing blocks
2018-11-03 13:49:23 -05:00
Maxim Krasilnikov
7b507667f8
Added user and password to db config
2018-11-03 13:49:23 -05:00
Maxim Krasilnikov
abb7f26124
Fixed sync command help typo
2018-06-21 19:12:09 +03:00
Maxim Krasilnikov
51f2a23b74
Removed useless goroutines from sync cmd, backFillAllBlocks always called with go func()
2018-06-21 18:05:49 +03:00
Rob Mulholand
d5c2ab33fc
Sync only missing blocks on cold import
...
= Add eth_node_fingerprint to block that can be imitated by both hot and cold imports
- Only sync missing blocks (blocks that are missing or don't share a fingerprint) on cold import
- Set block is_final status after import
2018-05-07 16:38:04 -05:00
Rob Mulholand
5a5e08bd13
Get head block number
...
- Allows us to refuse to sync past current head
- Creates the opportunity to add a flag for syncing all blocks
2018-05-04 11:03:50 -05:00
Rob Mulholand
5f6bf32ec1
Add cold import script
2018-05-04 10:54:00 -05:00
Matt Krump
edf3dbe00c
Add starting block arg check
2018-03-27 16:16:27 -05:00
Matt K
5a652190d9
Allow Parity as ingest node ( #36 )
...
* Upgrade go-ethereum to v1.8
* Add Node Info for parity nodes
* Upgrade start_private_blockchain to use v1.8
2018-03-07 15:29:21 -06:00
Matt Krump
06f78e0083
Handle events
...
- Adds interfaces for developers to build handlers that update data in
response to log events
- Resolves #29
2018-03-05 10:01:50 -06:00
Matt K
ed907535e3
Separate DB access into several repos ( #28 )
...
* Separate files for InMemory
* Start using separate repos for collaborating objects
* Before Updating schema
* Separate various repos
2018-02-12 10:54:05 -06:00
Matt K
605b0a96ae
Add graphql server ( #27 )
...
* Add graphql server
* Update Makefile
* Update log_filters constraint
* Add GetLogFilter to repo
* Update travis (use Makefile, go fmt, go vet)
* Add logFilter schema and resolvers
* Add GetWatchedEvent to watched_events_repo
* Add watchedEventLog schema and resolvers
2018-02-08 10:12:08 -06:00
Matt K
aea9c7b5e2
Separate repositories ( #25 )
...
* Separate Repository into multiple Repositories
* Use struct scan for transactions
* Use struct scan for blocks
* Remove unused block repo methods
* Update naming
* Rename / Cleanup repository related fields
2018-02-02 15:53:16 -06:00
Matt K
3b31e2a342
Update README, add State sync test ( #1 )
2018-01-26 13:38:14 -06:00
Matt Krump
aac2239097
Merge old private repo into vulcanize
2018-01-25 18:08:26 -06:00
Matt K
d09c2ae9bb
Remove godo ( #136 )
2018-01-25 15:46:55 -06:00
Matt K
572023cdf5
Commandline ( #135 )
...
* Add cmd line tool and Makefile
* Add shared utils pkg
* Add cmdline README
* Update godo for new structure
2018-01-25 13:21:55 -06:00
Matt K
c00b8a5a98
Add Filters ( #133 )
...
* Add LogFilter struct
* Add log_filters table
* Add view for events watching
* Add cmd line "add_filter" to mimic eventual endpoint
* Allow multiple filters in config
2018-01-23 12:43:35 -06:00
Matt Krump
0ae25aff95
Remove getLogs entrypoint
2018-01-16 09:49:23 -06:00
Matt K
70cfa20c68
Watch contact updates ( #127 )
...
* Downcase all arguments for contact watching
* ABI retrieval from test networks
2018-01-08 15:59:47 -06:00
ee4f7c710a
replace '8thlight' with 'vulcanize'
2018-01-06 15:31:53 -05:00
Matt K
6decf0b54b
Remove pubsub and replace w/ polling head of chain ( #122 )
...
* Rename geth package structs to not be prefaced with package name
* No longer need to dump schema since Travis uses migrate
* Rearrange history package
* Removed double request for receipt from block rewards
* Remove Listener + Observers and Replace w/ Polling Head
* Potential Short term Issue w/ Infura (ignore these tests for now)
2018-01-05 11:55:00 -06:00
Matt K
7e5e12f488
Backfill/listen for contract logs ( #113 )
2017-12-22 11:42:35 -06:00
Matt K
24bc83a448
Block categorization ( #110 )
...
* Add block categorization (is_final=)
* Add godo task for vulcanizeDB (Example of how everything could work together)
* Add unique constraint on block_number and node
* Add index on block_id for transactions_table
* Add node_id index on blocks table
* Sort transactions returned from FindBlock by tx_hash
* lowercase tx_to, tx_from like etherscan
2017-12-20 14:06:22 -06:00
Matt K
266c9587c8
Canonical blocks ( #108 )
...
* Update Block w/ newest Block
* Add cascading delete to blocks and transactions tables
* Add handling for new conflicting blocks
* Command line version of sliding window n behind HEAD
2017-12-19 14:14:41 -06:00
Matt Krump
84e77f259d
Use most recent blockNumber when blockNumber parame is nil
2017-12-14 10:15:36 -06:00
Matt K
0e837e2d03
Refactoring ( #101 )
...
* Make naming consistent for watched_contracts
* Update FindContract and FindBlockByNumber to return errors rather than nil
2017-12-13 10:51:11 -06:00
Matt K
a68f277066
Save Logs to DB ( #100 )
...
* Save logs to database
* Save multiple logs to db
* Add block number parameter to `FindLogs`
2017-12-12 15:55:26 -06:00
Matt K
5e64283a12
Get logs for a contract ( #99 )
...
* Add ability to fetch logs for a contract and a block
* Test contract related code against Infura, so can run on Travis
* Add godo task for getLogs
2017-12-11 15:08:00 -06:00
Matt K
921bde1089
Update BlockChain to record NodeInfo ( #95 )
2017-12-07 13:32:16 -06:00
Matt K
18163f970e
Get ABI via etherscan API ( #96 )
...
- Added ABI request
- Add unique constraint on contract hash for watched contracts
2017-12-07 09:58:06 -06:00
Eric Meyer
0439791381
Rename WatchedContract to Contract
2017-12-05 09:39:58 -06:00
Eric Meyer
e432219e20
Rename watched_contracts package to contract_summary
2017-12-04 17:04:06 -06:00
Eric Meyer
a0cd7f773a
Require ABI filepath for watching a contract
2017-12-04 15:12:27 -06:00
Eric Meyer
52e3266495
Move WatchedContract to repositories
2017-12-04 13:42:26 -06:00
Matt K
71de8e970d
Contract hist ( #84 )
...
Add ability to query contract historical state
2017-12-04 12:54:33 -06:00
Eric Meyer
486fdc10e4
Update functions that return error to not return pointer
...
* Matches Golang convention
2017-12-04 10:34:49 -06:00
Eric Meyer
655d1b1d6f
Remove fatal from pkg
...
* Functions in pkg should return errors
* If aborting is desired, that behavior should be left to the consumer
2017-12-04 09:54:39 -06:00
Eric Meyer
708ad114ac
Add function to get string state attributes for a given contract
2017-11-27 15:18:04 -06:00
Eric Meyer
9c1051bfce
Update NewSummary to take the blockchain
2017-11-27 09:21:21 -06:00
Matt Krump
d0602833bb
Update contract summary output to include transaction info
2017-11-14 09:57:27 -06:00
Eric Meyer
f50a4d7726
Allow users to watch and print summaries for contracts
2017-11-13 13:51:09 -06:00
Matt K
f0f086e48d
Merge pull request #69 from 8thlight/watch_contract
...
* Add contracts table / start building out watch contracts
2017-11-13 10:55:55 -06:00
Matt Krump
4ad1d531a8
Update contract naming per Eric PR review
2017-11-13 10:11:27 -06:00