Commit Graph

45 Commits

Author SHA1 Message Date
Robert Habermeier d365281cce Ethcore crate split part 1 (#6041)
* split out types into separate crate

* split out evm into its own crate
2017-07-12 13:09:17 +02:00
Robert Habermeier 67c1f71b6e Proper light client informant and more verification of imported headers (#5897)
* do more validation of imported headers in light client

* generalize informant with traits

* informant implementation for light client

* make comment into TODO

* fix broken test

* disable full checking of headers in light client in sync tests
2017-07-10 13:21:11 +02:00
Tomasz Drwięga f38cc8e182 Latest headers Pub-Sub (#5655)
* Signer subscription.

* Fixing RPC tests.

* Block Headers eth-pubsub.

* PubSub for light client.

* Fixing tests.

* Updating to proper jsonrpc version.

* Update to correct tests.

* Fixing tests.
2017-05-23 12:26:39 +02:00
Arkadiy Paronyan b50fb71dd1 EIP-86 (#4697)
* EIP-86

* Disable EIP-86 auto activation for now
2017-04-19 14:30:00 +02:00
Robert Habermeier e094043b80 Merge branch 'master' into block_header_rpc 2017-04-12 13:00:32 +02:00
Robert Habermeier daf1495c4e Filters and block RPCs for the light client (#5320)
* block_hash method for LightChainClient

* abstraction and futures-based eth_filter

* log fetching for light client

* add eth-filter delegate

* eth_block fetching RPCs

* return default accounts from on_demand

* fix early exit

* BlockNumber -> BlockId

* early exit for no known block number.
2017-04-12 12:07:54 +02:00
Adrian Brink 8ea25eeb3c Add cache to HeaderChain struct. 2017-04-07 21:34:29 +02:00
Robert Habermeier 4f843ada3c Merge github.com:paritytech/parity into block_header_rpc 2017-04-05 16:27:32 +02:00
Robert Habermeier 6aa9005785 parity_getBlockHeaderByNumber and LightFetch 2017-04-03 11:37:07 +02:00
Robert Habermeier 64cec5ff7d Implement PIP messages, request builder, and handlers (#4945)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future

* initial request definitions

* RLP encoding and decoding for requests

* proofs of non-existance in ProvingBlockChainClient

* new requests in provider.

* encode and decode responses

* complete initial request changes

* handle request packet in LightProtocol

* handle response packets

* implement requesting from

* re-do cost table

* get tests compiling

* fix cost table RLP encoding

* roundtrip tests for request types

* request builder tests

* move request_builder -> request::builder

* get network tests working

* return only complete headers responses

* request builder improvements

* New version of jsonrpc.

* split request filling into fill,complete

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* use PIP messages in on_demand, old API

* migrate oneshot::complete to send in on_demand

* get on_demand tests to compile

* port ethsync to PIP messages

* adjust to minor on_demand API changes in RPC

* Using dedicated branch for jsonrpc

* Bump
2017-03-23 13:17:05 +01:00
Robert Habermeier 0d110ed47c apply pending changes to chain after DB commit 2017-03-23 04:00:22 +01:00
Robert Habermeier c718b5618e initial light CLI 2017-03-22 18:32:04 +01:00
Robert Habermeier bc9c1d4824 use a database in ethcore-light 2017-03-21 20:57:13 +01:00
Robert Habermeier d013a13be6 header_chain writes to database 2017-03-21 19:45:52 +01:00
Robert Habermeier 9692616958 re-do cost table 2017-03-08 18:01:41 +01:00
Robert Habermeier 8a3b5c6332 Remote transaction execution (#4684)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future
2017-03-08 14:39:44 +01:00
Robert Habermeier 87f3d53607 new requests in provider. 2017-03-06 17:36:56 +01:00
Robert Habermeier af235e564e proved execution future 2017-02-26 15:05:33 +01:00
Robert Habermeier 1ff0abc661 Merge branch 'master' into remote-tx-exec 2017-02-26 13:55:29 +01:00
Robert Habermeier 92e5982127 generate transaction proofs from provider 2017-02-25 00:27:48 +01:00
Robert Habermeier 3b023c82b7 fetch gas price corpus from network when needed 2017-02-17 17:08:46 +01:00
Robert Habermeier 2b91c922c1 get signing network ID for light client 2017-02-16 16:08:58 +01:00
Robert Habermeier 4f1afccf97 best_block_header function 2017-02-13 16:51:40 +01:00
Robert Habermeier 325c6aaf6a verify raw transactions against Engine 2017-02-09 19:58:29 +01:00
Robert Habermeier baf0dbc6bf LightProvider struct using light transaction queue 2017-02-09 18:42:18 +01:00
Robert Habermeier 028dbe5fe2 rename get_header to block_header by convention 2017-02-08 20:22:41 +01:00
Robert Habermeier 197695414e correct ready transaction condition 2017-02-04 17:19:39 +01:00
Robert Habermeier 484b93abdc Merge branch 'cht-td' into lightrpc 2017-02-04 17:14:47 +01:00
Arkadiy Paronyan 312aa72747 Transaction timestamp condition (#4419)
* Transaction timestamp condtiion

* Updated docs

* Updated docs

* Check agains last block timestamp
2017-02-03 19:32:10 +01:00
Robert Habermeier 83de16da88 use encoded::Header in HeaderChain 2017-02-03 15:32:22 +01:00
Gav Wood 8404edb656 Fix whitespace (#4299)
* Fix whitespace.

* Update copyright years/owner.

* Push release only for tags.
2017-01-25 18:51:41 +01:00
Robert Habermeier 31aae4ed78 move cht module up a level 2017-01-16 16:55:23 +01:00
Robert Habermeier 7123f19a75 Test harness for lightsync (#4109)
* make on_connect/disconnect public

* free flow params constructor

* Shared ownership of LES handlers

* light provider impl for test client

* skeleton for testing light sync

* have test_client use actual genesis

* fix underflow in provider

* test harnesses for lightsync

* fix tests

* fix test failure caused by test_client changes
2017-01-11 14:39:03 +01:00
Robert Habermeier e6324a83f1 Merge branch 'master' into lightsync 2016-12-28 15:53:11 +01:00
Robert Habermeier 0688ccb003 chain_mem_used function on client 2016-12-23 14:54:31 +01:00
Robert Habermeier bdf90df56f client report and heap size for header chain 2016-12-23 14:50:42 +01:00
Robert Habermeier 01b494ca2c Merge branch 'master' into lightsync 2016-12-21 13:42:07 +01:00
Robert Habermeier a48435ca60 Merge branch 'master' into lightsync 2016-12-19 13:15:37 +01:00
Robert Habermeier 2c0f456e4d guard import order 2016-12-16 23:53:20 +01:00
Robert Habermeier 5346539ef8 minimal header import and client service 2016-12-15 18:47:26 +01:00
Robert Habermeier 0768a61944 light: add LightChainClient trait 2016-12-14 23:26:15 +01:00
Robert Habermeier 6fb71527e4 light: search for common ancestor with peers 2016-12-13 21:09:57 +01:00
Robert Habermeier 484023b171 light: max requests as 0 on unknown peer 2016-12-13 20:13:55 +01:00
Robert Habermeier 45ef986c04 light: finish basic header chain and add tests 2016-12-13 14:48:03 +01:00
Robert Habermeier 4173ecf2a5 light: begin header chain 2016-12-12 22:59:05 +01:00