Commit Graph
85 Commits
Author SHA1 Message Date
Rob Mulholand 7870451b5c Increase number of flake attempts for integration tests
- Temporary solution until we can get more reliable results on network
  calls to Kovan data
2018-10-22 12:14:43 -05:00
Rob Mulholand d87fb14c6b Add log index to Drip file events 2018-10-22 12:14:43 -05:00
Rob Mulholand de294ad8ea Add log index to Drip drip 2018-10-22 12:14:43 -05:00
Rob Mulholand e5ba0496a6 Add log index to Dent 2018-10-22 12:14:43 -05:00
Rob Mulholand 1aafb7201e Add log index to Deal 2018-10-22 12:14:43 -05:00
Rob Mulholand 495f39abb8 Add log index to Bite 2018-10-22 12:14:43 -05:00
Rob Mulholand ea3de51792 Add Flop kick integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand fa828cf041 Add Tend integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand cbb5ffa3c7 Add Pit file stability fee integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand 3449a1e246 Add Pit file debt ceiling integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand a83bf5ed0d Add Pit file ilk integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand 677e78891d Add Drip file vow integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand 0ce3e3d829 Add Bite integration test 2018-10-19 14:21:57 -05:00
Rob Mulholand ddc7ee5143 Add Drip drip integration test 2018-10-19 10:56:28 -05:00
Rob Mulholand b067ba565e Add Vat fold integration test 2018-10-19 10:56:28 -05:00
Rob Mulholand fdbe0b0b44 Add Vat heal integration test 2018-10-19 10:56:28 -05:00
Rob Mulholand a7b9b825c8 Add Vat init integration test 2018-10-19 10:56:28 -05:00
Rob Mulholand 9b427ea1e9 Add Vat move integration test 2018-10-19 10:56:28 -05:00
Rob Mulholand 130d11d0aa Add Vat slip transformer 2018-10-17 13:30:35 -05:00
Rob Mulholand d0226dbce5 Convert Bite event field types to numeric
- Enables arithmetic operations when constructing views
- Also removes application-level references to DB ID
2018-10-16 15:27:13 -05:00
Rob Mulholand d3df685c46 Add timestamp to block header
- Enables quickly deriving timestamp from header for log events
2018-10-12 12:00:02 -05:00
Rob Mulholand 5f67161f41 Convert raw header to JSON
- Enables parsing values off of header via Postgres migration
2018-10-12 12:00:02 -05:00
Rob Mulholand e935f2f553 Add Vat grab transformer 2018-10-09 16:48:19 -05:00
Rob Mulholand dcdf5dc292 Add missing transformers to transformer initializer map 2018-10-09 14:37:26 -05:00
Rob Mulholand 61dca314c4 Add Vat tune transformer 2018-10-09 14:37:26 -05:00
Rob Mulholand 8ee106e14d Add Vat toll transformer 2018-10-09 11:40:35 -05:00
Rob Mulholand bf44ec614a Log checked headers for MCD events (#43)
* Log checked headers for Bite events

* Log checked headers for Drip drip events

* Log checked headers for Drip file events

- mark headers checked for 3 implementations of file on the Drip contract

* Log checked headers for Frob frob events

* Log checked headers for Pit file events

- mark headers checked for 3 implementations of file on the Pit contract

* Log checked headers for Vat init events
2018-10-02 17:25:38 -05:00
Rob Mulholand 02853014b2 Fix Pit file converters
- Use topics 2 & 3 instead of topic 1 (call data instead of msg.sender)
- Prefer extracting fields from topics rather than data
2018-09-27 10:32:08 -05:00
Rob Mulholand c17ad1f826 Add missing Describe statements 2018-09-27 10:32:08 -05:00
Rob Mulholand 58f17a24ae Add transformers for Cat file events
- transform logs from 3 implementations of file on the Cat contract
2018-09-27 10:32:08 -05:00
Rob Mulholand a0ba6ca6bd Return error if RPC returns empty header
- Enables graceful failure if RPC returns empty data with no error
2018-09-25 14:11:35 -05:00
Rob Mulholand 92525ca575 Make price feed log persistence atomic per block
- Prevents marking header as checked if only one of several price feed
  logs is successfully persisted
2018-09-25 14:11:35 -05:00
Rob Mulholand ac362650db Log checked headers for tend events 2018-09-25 14:11:35 -05:00
Rob Mulholand 009cbb8aa0 Log checked headers for flip kick events 2018-09-25 14:11:35 -05:00
Rob Mulholand d8b1a61ff5 Log checked headers for dent events 2018-09-25 14:11:35 -05:00
Rob Mulholand c3f1fcf796 Log checked headers for deal events
- mark header as checked if no matching logs
- mark header as checked if all matching logs persisted successfully
- batch convert and insert matching logs to enable transactional persist
- enable skipping previously checked block headers when restarting a sync
2018-09-25 14:11:35 -05:00
Rob Mulholand e138e58120 Set timeout before assertions in integration tests
- Prevent early evaluation from triggering failure
2018-09-21 11:28:17 -05:00
Rob Mulholand 296b7aab72 Update README
- kicking off a staging build
2018-09-19 12:08:22 -05:00
Rob Mulholand 56c45b6841 Add logging for every transformer
- Also add drip file transformer initializer
2018-09-19 11:00:20 -05:00
Rob Mulholand a735698f77 Update config for Kovan 2018-09-19 11:00:20 -05:00
Rob Mulholand 042f1142c0 Handle headers from POA chain
- Fetching headers from Kovan requires custom type without mixHash/Nonce
2018-09-19 11:00:20 -05:00
Rob Mulholand 778517f33f Add integration tests for price feed transformer
- Verify eth/usd, mkr/usd, and rep/usd price feed logs are successfully
  fetched from Kovan and persisted to Postgres
2018-09-19 11:00:20 -05:00
Rob Mulholand 06881db350 Sync unchecked headers for price feeds
- Indicate that a header has been checked for logs if no logs returned
- Indicate that a header has been checked for logs when persisting a log
- Fetch headers that need to be checked based on absence of the above
2018-09-17 14:14:52 -05:00
Rob Mulholand f5595bee78 Add Drip drip transformer 2018-09-13 16:35:10 -05:00
Rob Mulholand 560305f601 Update dependencies
- uses newer version of go-ethereum required for go1.11
2018-09-13 16:14:35 -05:00
Rob Mulholand d69063636e Add raw log to price feeds 2018-09-12 11:35:32 -05:00
Rob Mulholand b2ba7ee1e3 Add transaction index to flip kick 2018-09-12 11:35:32 -05:00
Rob Mulholand a843de5eb7 Add drip file transformers
- for all three file functions on the drip contract
2018-09-12 11:35:32 -05:00
Rob Mulholand 4b6ef1e58b Verify pit file logs
- assure required topics + data available before parsing
2018-09-11 16:30:29 -05:00
Rob Mulholand dc9bda7d68 Extract addresses to shared constants file 2018-09-11 16:30:29 -05:00
Rob Mulholand ceeaa0f8d3 Update licenses and imports
- Verify license added to each file
- Order imports by group and separate with line breaks
2018-09-11 16:30:29 -05:00
Rob Mulholand ff110592bd Add Vat init transformer 2018-09-11 16:30:29 -05:00
Rob Mulholand ae6d184e6c Merge pull request #14 from 8thlight/pit-file
Pit file
2018-09-06 12:58:29 -05:00
Rob Mulholand d48cf38070 Add Pit file debt ceiling event 2018-09-05 13:51:18 -05:00
Rob Mulholand e1f609528d Add Pit file stability fee event
- file event on the pit contract is overloaded and each implementation
  logs a note
- existing Pit file transformer now specified as dealing with ilks
2018-09-05 11:36:13 -05:00
Rob Mulholand a30e5036fd generate log event signatures from functions 2018-09-04 16:19:03 -05:00
Rob Mulholand 8f5bc0a956 Add raw log to Frob record in DB
- Enables parsing additional values off the log if necessary
- Also update Frob to reflect DSS changes (lad => urn)
- Move Frob constants to shared directory
2018-09-04 16:11:54 -05:00
Rob Mulholand db4b891398 Backfill Pit.file log events 2018-09-04 16:07:35 -05:00
Rob Mulholand 1916d585fa Incorporate DSS updates (#8)
* Incorporate DSS updates
- Lad renamed to Guy
- Dink and Dart added to Frob
* update test chain data
* Remove Mom field from FlipKick
* Update Flip ABI and sample flip kick data
* Incorporate updates to Frob event
- Guy renamed to Lad
- Era and Gem removed, iArt added
- Also turn off integration tests that read from test chain while
events are actively under development
2018-08-28 14:16:39 -05:00
Rob Mulholand 634604d0b5 Combine price feed transformers
- fetches logs from all three price feeds in one query
- assumes eth/usd price feed will be updated to include LogValue event
- updates transformers to run separate from header sync
2018-08-16 11:22:16 -05:00
Rob Mulholand 9231d40369 Extract price feed contract addresses to config 2018-08-16 11:22:16 -05:00
Rob Mulholand 72a849a272 Update price feeds if header changed by validator
- currently not validating price feeds if the underlying header already exists
  and is valid, since price feeds should have been added when initial header
  was added
2018-08-16 11:22:16 -05:00
Rob Mulholand 6e68dc4a92 Add Rep price feed 2018-08-16 11:22:16 -05:00
Rob Mulholand 2949996d22 Add Pip price feed 2018-08-16 11:22:16 -05:00
Rob Mulholand 0551147453 Add Pep price feed 2018-08-16 11:22:16 -05:00
Rob Mulholand 9f7a776d70 update chain data for frob event 2018-08-14 10:47:43 -05:00
Rob Mulholand ac63e43543 Backfill Frob log events 2018-08-14 10:47:43 -05:00
Rob Mulholand 55229cd2eb Refactorings to get tests passing with local Ganache setup
- removes assertions against data with timestamps to facilitate running
the tests against a freshly setup local Ganache instance
- also applies a few `go vet` and `go fmt` changes
2018-08-09 16:55:44 -05:00
Rob Mulholand 66decaaa78 Merge pull request #29 from 8thlight/light-sync
Add light sync command
2018-07-20 11:52:35 -05:00
Rob Mulholand a683e45855 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-07-20 11:37:46 -05:00
Rob Mulholand 63434f6bc9 Add tests for pkg/geth/blockchain
- inject dependencies instead of initializing them in the constructor
2018-07-18 16:34:13 -05:00
Rob Mulholand 1355271011 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-07-18 16:34:12 -05:00
Rob Mulholand 74d6046508 Merge pull request #65 from chapsuk/dev_env
Dockerized dev environment, geth rinkeby
2018-06-27 09:13:38 -05:00
Rob Mulholand 02fc10dd3d Merge pull request #64 from chapsuk/fix_flag_description
Fixed sync command help typo
2018-06-21 12:33:05 -05:00
Rob Mulholand b2cf8d55d8 Merge pull request #63 from chapsuk/duplicate_gouroutines
Removed useless goroutines from sync cmd
2018-06-21 10:12:49 -05:00
Rob Mulholand 94182b55fa Merge pull request #61 from wanderingstan/patch-1
Add "About" section to README
2018-06-21 09:49:49 -05:00
Rob Mulholand b1df139d29 Merge pull request #57 from vulcanize/fix-missing-blocks-lookup
Fix missing block numbers lookup
2018-06-13 11:28:22 -05:00
Rob Mulholand 3e39ccb9bb Fix missing block numbers lookup
- Previously, a block was treated as missing if there was a number in
the given range for which there existing a block that did not match
the node's fingerprint. This meant that in a case where we have a block
that does not match the node's fingerprint and also one that does match,
the block would be treated as missing. This led to errors being thrown
when attempting to add a block that already exists.
- These changes treat a block as missing only if we do not already have
a block that matches the number and node fingerprint.
2018-06-08 11:26:25 -05:00
Rob Mulholand 7533e6d476 Merge pull request #52 from vulcanize/cold-import
Cold import
2018-05-21 09:34:05 -05: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
Rob Mulholand 462f94d84a Associate receipts with blocks instead of transactions
- Allows us to fetch receipts by block and persist even when
associated transaction is unknown. (The associated transaction
can still be derived from the tx_hash column at query time, but
is an expensive operation to require for inserts).
2018-05-04 10:52:28 -05:00
Rob Mulholand 02b23ef748 Rename handlers to transformers 2018-03-16 15:07:19 -05:00
Rob Mulholand 203f9b47d3 Merge pull request #32 from vulcanize/custom_handlers
Handle events
2018-03-05 10:23:11 -06:00