Commit Graph

35 Commits

Author SHA1 Message Date
Ian Norden
975f13b969 reorganizing omni directory and beginning light watcher work 2018-11-29 20:33:21 -06:00
Ian Norden
390a60f7f6 port over lightSync updates from maker repo 2018-11-29 20:33:21 -06:00
Ian Norden
417b18ec6a Edits to address PR issues; change license from apache to AGPL; and work
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
2018-11-15 12:32:52 -06:00
Ian Norden
9b41000b88 Moved fetcher to generic directory (methods have to remain public since it is in seperate package now), added FetchHash method, created ERC20 and generic getters which call the fetcher with specific contract methods (GetTotalSupply, GetBalance, GetAllowance for ERC20 getter, and GetOwner, GetStoppedStatus, GetStringName, GetHashName, GetStringSymbol, GetHashSymbol, and GetDecimals for generic getter). Getter tests cover all but GetBalance and GetAllowance, and also cover all of the Fetcher methods- but with only nil methodArgs. GetAllowance and GetBalance tests are not working against infura and these are the only contract method calls with arguments passed in so I suspect this might be where the issue lies. Have tested GetBalance using previous version of FetchContractData without the variadic input to the Pack method and it fails with the same error so I don’t think it is due to those changes. 2018-11-03 13:49:23 -05:00
Ian Norden
ccd21f73c9 adjusted FetchContractData to work with variable number of contract method arguments, changed fetcher's FetchSupply method to more general FetchBigInt method and added FetchBool and FetchAddress methods 2018-11-03 13:49:23 -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
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 K
8a9395819c Get transactions (#45)
* Make transactions requests in parallel

* Update transaction error handling
2018-03-27 16:06:12 -05:00
Matt Krump
5a2bb04670 Remove unused contract methods 2018-03-12 14:21:34 -05: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 Krump
aac2239097 Merge old private repo into vulcanize 2018-01-25 18:08:26 -06:00
Matt K
a9bea4f492 Allow for multiple Geth nodes (#128) 2018-01-10 15:54:36 -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
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
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
Matt K
71de8e970d Contract hist (#84)
Add ability to query contract historical state
2017-12-04 12:54:33 -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
1bae6db483 Added sort method to ContractAttributes array 2017-11-28 14:05:39 -06:00
Matt Krump
aa3318451b Updated to use contracts derived Attributes 2017-11-28 13:43:08 -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
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