* Return PopulateMissingHeaders early if the sync is at the head of the chain
* Squelch logging if no blocks to sync
* Fix broken test
* Refactor repository tests
* Upgrade geth from 1.8.15 to 1.8.18
* Update vat_tune to use shared repository methods
* Query blockchain by block hash instead of block number range
* Remove hash validation from repositories
* Fix vow flog integration test
* Update README Travis build sticker
* Update constants formatting per go fmt
* Update EthPublicKeyParser.ParsePublicKey to use discv5.PubkeyID method
* Address PR comments
towards generic method polling and reposito;y; config settings to
filterevents/methods by account address; refactoring some stuff out of
repo and into converter; remove fetcher and instead call
blockchain's FetchContractData directly; finishing tests
* Add constants for TTL and tic for fakeHeader
* Add tic to tend transformer
* Update tests for tend
* Fix string conversion bug in fakes
* Fix tend integration tests after staging rebase
* Add tic to dent transformer
* Update dent tests
* Change integration tests to use hardcoded block timestamp
- Delete header on conflict to prompt data refresh (cascade deletes all
data associated with that block)
- Derive header hash from rpc payload rather than computing it from data
(prevents hash mismatch between blockchain and cache)
* Use shared repository test examples for frob
* Use shared repository methods for frob
* Use shared repository test examples for flop kick
* Use shared repository methods for flop kick
* Use shared repository test examples for flip kick
* Use shared repository methods for flip kick
* Use shared repository test examples for bite
* Use shared repository methods for bite
* Alphabetize check headers constants
* Use shared repo tests for vat_init
* Use shared methods in vat_init repository
* Use shared repo tests for vat_move
* Use shared methods in vat_move repository
* Use shared repo tests for vat_slip
* Use shared methods in vat_slip repository
* Use shared repo tests for vat_toll
* Use shared methods in vat_toll repository
* Use shared methods in vat_tune repository
* Use shared repo tests for vow_flog (+small namespace fix)
* Use shared methods in vow_flog repository
* Go vet + tiny oopsie
* Use shared repo tests for vat flux
* Use shared repo methods for vat flux
* Use shared repo test examples for vat fold
* Use shared repository methods for vat fold
* Use shared repo test examples for vat grab
* Use shared repo methods for vat grab
* Use shared repo test examples for vat heal
* Use shared repo methods for vat heal
* Add method to convert values to ray or wad units
* Convert data to ray or wad for cat_file_chop_lump
* Use shared convert functions in price feed conversion
* Pull common ray/wad values into vars
* Fix after rebase with staging
* Use shared repository tests for deal
* Small updates to repo tests
* Use shared repository test examples for dent
* Use shared repository test examples for drip_drip
* Use shared repository test examples for drip_file_ilk
* Use shared repository test examples for drip_file_repo
* Use shared repository test examples for drip_file_vow
* Update formatting
* Add shared test examples for repositories
- Create
- MissingHeaders
- MarkHeaderChecked
* Use shared repository tests for cat_file_chop_lump
* Use shared repository test for cat_file_flip
* Use shared repository test for cat_file_pit_vow
* Updates to shared repository tests
* Use shared repository tests for deal
* Small updates to repo tests
* Move chop lump transformer test to a generic log_note_transformer_test
* Add test cases to transformer test
- cat file flip
- cat file pit vow
- deal
- dent
* Move transformer tests over to transformer factor test file
- drip drip
- drip file ilk/repo/vow
- pit file deb ceiling/ilk/stability fee
- price feeds
* Move LogNoteTransformer test into factory package and remove log specific transformer tests
* Move Transformer test into factory package and remove log event specific transformer tests
* Respond to PR comments
- 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
- 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)
* Use transformer factory for Bite
- introduces separate transformer factory for non-LogNote events
- converter includes `ToEntities` for events defined via ABI
* Updates after rebasing with staging
* Add DB migrations for flog
* Add Vow addresses and constants
* Add err logging to ABI signature getter, test for flog sig
* Add flog transformer
* Add tests+data for flog transformer
* Prepend DB tables and columns with vow_
* Panic on failure to get method sig
* Add log_index field to flip kick
* Add log index to flop kick
* Add repo tests for Cat.file
* Add log_index to vat_flux
* Add log_index to vat_slip
* Add log_index to vat_toll
* Add log_index to vat_tune
* Add test to repos for updating checked headers
* Deal integration test
* Add LogIndex to CatFileChopLump to update unique constraint
* Add LogIndex to cat_file_pit_vow records
* Add integration tests for Cat.file transformers
* Add log index to Cat.file flip
* Add getSignatures command for list of signatures in constants
* Update VatTune converter's formatting of addresses
and added an integration test
* Move VatTune and PriceFeeds integration tests to a common suite
* Update VatGrab converter for address format
* Update frob converter to fix urn and ilk formatting/decoding
* Update formatting
* Update make test command and add integrationtest command
* Add integration test to travis build
* Update creating headers in integration tests to include Raw and Timestamp fields
* Add vat_move transformer base
* Add vat_move migrations
* Add test data for vat_move
* Add vat_move transformer to initialisers
* Add numeric cast to psql insert of Rad
* Add new db schema
* Dependency update
* Expand abbreviation in repository
* Add test suite for vat_move
* Add header checking to transformer and mock repository
* Remove trailing zero in test data
* Fix minor mishaps
* Go fmt nitpicking
* Refactoring in tests
* Add tests covering checked headers stuff (and fix revealed bugs)
* go fmt fixes
* Implement batching behaviour of transformer
* Small fixes after review
* Go fmt
* VatHeal Converter
* Add VatHeal repository
* Add VatHeal transformer
* Add VatHeal to continuousLogSync command
* Mark vat_init_checked as true when creating vat init records
* Update urn and v converting
* Return error if Repository.MarkCheckedHeader fails
* Add deleting vat heal from test cleanup method
* 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
- 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
- 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
- Enables parsing additional values off the log if necessary
- Also update Frob to reflect DSS changes (lad => urn)
- Move Frob constants to shared directory
* Update FlipperAddress to new local ganache address
* Update flip_kick table
* Update flipkick transformer to handle new signature and abi
* Update tend table
* Update tend converter
add transaction index and raw log to bite table
work on converter for bite event
update bite repository, replace guy with 32byte lad; create bite converter to entity
update field type for bite event; start on bite transformer
finish bite event transformer
* 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
- 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
- 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
- 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
* Move flip kick files pkg/transformers/flip_kick
* Consolidate test database setup
* Pull ganache ipcPath from config
* Update README to include info about using a Ganache chain
- 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
- 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)
- 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.
= 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
- 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).