Commit Graph

95 Commits

Author SHA1 Message Date
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
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 Krump
aac2239097 Merge old private repo into vulcanize 2018-01-25 18:08:26 -06:00
Matt K
3f06c7374b Update transaction value field (#132)
* Add test for converting big.Int

* Use string as internal representation of transaction value
2018-01-16 14:25:33 -06:00
Matt Krump
82c39a2c1f Add fk constraint on logs 2018-01-16 08:58:11 -06:00
Matt Krump
9ee13e715d Add topics type 2018-01-15 14:49:29 -06:00
Matt Krump
50f00b80c1 Lowercase log address 2018-01-15 14:46:48 -06:00
Matt K
a9bea4f492 Allow for multiple Geth nodes (#128) 2018-01-10 15:54:36 -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
Matt K
14e1fc4213 Remove admin api dependency (#126) 2018-01-08 14:19:42 -06:00
Matt K
54c4f0c2fe Add back infura related tests (#123) 2018-01-08 11:41:01 -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
4fabe3e917 Add receipts (#119)
* Conversion between Geth Receipt and core.Receipt

* Add receipt to DB

* Insert receipts with transactions

* Update Travis CI to use dep for dependencies
2018-01-03 11:23:43 -06:00
Matt Krump
351d315a4c Add tx fields 2017-12-28 17:23:56 -06:00
Matt Krump
8b024bade9 Add block rewards to db 2017-12-28 11:58:26 -06:00
Matt Krump
3ca4370221 Add Block + Uncle Rewards calculation 2017-12-28 09:46:14 -06:00
Matt Krump
cb4e745464 Add extra data field 2017-12-27 12:10:08 -06:00
Matt Krump
c992186846 Add Block Miner 2017-12-27 10:50:56 -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
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
3a2e7e0cc1 Update Blockchain interface to use WatchedContract instead of Contract 2017-12-04 17:04:06 -06:00
Eric Meyer
5aa0bcd6ce Move WatchedContract back to core 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
3af336a34a Return invalid state attribute in appropriate branch 2017-12-04 13:31:27 -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
e9bfae9412 Update GetContractStateAttribute to take a Contract instead of contract hash 2017-11-30 16:36:36 -06:00
Eric Meyer
5c18639ef4 Extract Attributes to contract struct 2017-11-30 16:15:32 -06:00
Matt Krump
b2dfe1e486 Move type conversion to presenter 2017-11-29 09:32:34 -06:00
Matt Krump
b26bcf74e9 First pass at adding non-string attributes 2017-11-28 17:04:09 -06:00
Matt Krump
1bae6db483 Added sort method to ContractAttributes array 2017-11-28 14:05:39 -06:00
Eric Meyer
60bef69113 Start reading available attributes from ABI 2017-11-28 09:41:23 -06:00
Eric Meyer
708ad114ac Add function to get string state attributes for a given contract 2017-11-27 15:18:04 -06:00
Matt Krump
c7bd6de7da Added From field to transactions 2017-11-09 16:51:22 -06:00
Eric Meyer
4c84173bc0 Add ability to populate missing blocks
* The command populates up to the highest known block number
 * The anticipated use case is that the listener will be running
   in parallel to the populateBlocks command
    * This will mean that the listener is responsible for picking up
      new blocks, and the populateBlocks command is reposible for
      historical blocks
 * Reformat SQL statements
2017-11-08 14:52:38 -06:00
Eric Meyer
f4a603efcb Nest packages under pkg 2017-11-06 13:06:03 -06:00