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
645b8e4b0b
Fix failing tests
2017-04-07 21:35:42 +02:00
Adrian Brink
2ce5a656e7
Ensure that OnDemand and HeaderChain share the same cache
2017-04-07 21:35:41 +02:00
Adrian Brink
fa88ee148a
Add header to cache
2017-04-07 21:35:41 +02:00
Adrian Brink
5e33fe0aa7
Add cache to HeaderChain struct.
2017-04-07 21:35:41 +02:00
Adrian Brink
9552ca7bb3
Change to snakecase
2017-04-07 21:35:41 +02:00
Adrian Brink
3632a98062
Clean up
2017-04-07 21:35:41 +02:00
Adrian Brink
23c76caafa
Add header to cache
2017-04-07 21:35:41 +02:00
Adrian Brink
8a7ca6f0ba
Add caching to block_header()
2017-04-07 21:34:29 +02:00
Adrian Brink
8ea25eeb3c
Add cache to HeaderChain struct.
2017-04-07 21:34:29 +02:00
Adrian Brink
e004e05037
Spelling fixes and link addition about LRU cache in the docs.
2017-04-07 21:34:29 +02:00
Robert Habermeier
8486e79cad
Merge pull request #5002 from paritytech/lightcli
...
Quick'n'dirty CLI for the light client
2017-04-05 13:50:17 +02:00
Robert Habermeier
e2dfea8c12
set gas limit before proving transactions
2017-04-05 12:05:55 +02:00
Robert Habermeier
0d8a2c8c44
CHT key optimization
2017-04-05 11:30:51 +02:00
Robert Habermeier
3eece20967
Merge branch 'master' into lightcli
2017-04-03 08:58:20 +02:00
Tomasz Drwięga
d2394d3ac3
Updating paths to repos. ( #5330 )
...
* Updating paths to repos.
* Updating rotor and libusb
* Fixing other occurrences
2017-03-29 15:17:27 +02:00
Robert Habermeier
ac057ebe93
fix test build
2017-03-23 22:36:15 +01:00
Robert Habermeier
a78068cbe9
queue culling and informant
2017-03-23 22:20:00 +01:00
Robert Habermeier
e0a79699ea
transaction propagation on a timer
2017-03-23 20:31:20 +01:00
Robert Habermeier
45c0a97142
fix body encoding
2017-03-23 18:52:54 +01:00
Robert Habermeier
5700f4ac81
fix block response decoding
2017-03-23 18:31:16 +01:00
Robert Habermeier
974f89d5bf
correct workaround for RLP issue
2017-03-23 16:00:00 +01:00
Robert Habermeier
10a470a5fa
better bookkeeping of requests in light sync
2017-03-23 15:44:16 +01:00
Robert Habermeier
c75b49667e
workaround for #5008
2017-03-23 14:49:02 +01:00
Robert Habermeier
1485dd07ae
use prev credits in tracing
2017-03-23 14:38:32 +01:00
Robert Habermeier
54eb575000
request tests that demonstrate broken RLP behavior
2017-03-23 14:38:23 +01:00
Robert Habermeier
ac7f1f6719
fix header chain tests
2017-03-23 14:15:13 +01:00
Robert Habermeier
a1df49ef3e
add test for request vec deserialization
2017-03-23 14:04:26 +01:00
Robert Habermeier
ec52a4a235
more tracing in on-demand
2017-03-23 13:24:04 +01: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
77f036ee21
fix capabilities-interpreting error in on_demand
2017-03-23 04:38:08 +01:00
Robert Habermeier
4eb69dc0fe
reintroduce credits recharging
2017-03-23 04:36:49 +01:00
Robert Habermeier
0d110ed47c
apply pending changes to chain after DB commit
2017-03-23 04:00:22 +01:00
Robert Habermeier
a55001ad1d
fix deadlock in on_demand
2017-03-23 02:55:25 +01:00
Robert Habermeier
0abbd7ac97
Merge branch 'pip-msg' into lightcli
2017-03-22 22:08:39 +01:00
Robert Habermeier
73b2dd7a59
light client RPC dependencies
2017-03-22 21:09:43 +01:00
Robert Habermeier
e3d6525d83
store cumulative cost in pending request set.
2017-03-22 19:30:42 +01:00
Robert Habermeier
c718b5618e
initial light CLI
2017-03-22 18:32:04 +01:00
Robert Habermeier
a0619fc101
Merge branch 'master' into pip-msg
2017-03-22 15:56:09 +01:00
Marek Kotewicz
044d070667
rlp deserialization refactor, 30% faster ( #4901 )
...
* fixed naming of rlp modules
* RlpStream cleanup
* appending short rlp lists (0...55 bytes) is 25% faster
* RlpStream does not use bytes module, nor trait Stream
* removed unused code from rlp module
* compiling ethcore-util with new rlp serialization
* compiling parity with new rlp serialization
* fixed compiling ethcore-light with new rlp serialization
* fixed compiling ethsync with new rlp serialization
* moved rlp benches and rlp tests
* rlp deserialization refactor, 30% faster
* removed redundant comment, print
* fixed compiling parity with new rlp deserialization
* removed redundant double-space
* fixed failing test
* updated rlp docs, removed unused traits
* fixed rlp benchmarks
* replace usage of WriteBytesExt with ByteOrder
* removed unused, commented out code
* fixed merge conflict
2017-03-22 14:41:46 +01:00
Robert Habermeier
219eddf33e
Merge branch 'master' into pip-msg
2017-03-22 13:14:28 +01:00
Tomasz Drwięga
7e87e9e8ad
Updating JSON-RPC crates ( #4934 )
...
* New version of jsonrpc.
* Better invalid encoding messages
* Fixing deprecated methods of tokio_core
* Using dedicated branch for jsonrpc
* Bump
2017-03-22 07:02:14 +01:00
Robert Habermeier
384aeda645
Merge branch 'pip-msg' into lightcli
2017-03-21 21:15:24 +01:00
Robert Habermeier
7ad36ee36c
Merge remote-tracking branch 'upstream/new-jsonrpc' into pip-msg
2017-03-21 21:15:06 +01:00
Robert Habermeier
bc9c1d4824
use a database in ethcore-light
2017-03-21 20:57:13 +01:00
Robert Habermeier
21771aa1a6
don't keep headers in memory to avoid DoS
2017-03-21 20:23:58 +01:00
Robert Habermeier
d013a13be6
header_chain writes to database
2017-03-21 19:45:52 +01:00
Robert Habermeier
fe52e969b6
Merge branch 'master' into pip-msg
2017-03-21 15:24:47 +01:00
Tomasz Drwięga
958a8f66a0
Merge branch 'master' into new-jsonrpc
2017-03-21 09:35:50 +01:00
Marek Kotewicz
a555686bcd
rlp serialization refactor ( #4873 )
...
* fixed naming of rlp modules
* RlpStream cleanup
* appending short rlp lists (0...55 bytes) is 25% faster
* RlpStream does not use bytes module, nor trait Stream
* removed unused code from rlp module
* compiling ethcore-util with new rlp serialization
* compiling parity with new rlp serialization
* fixed compiling ethcore-light with new rlp serialization
* fixed compiling ethsync with new rlp serialization
* removed redundant comment, print
* removed redundant double-space
* replace usage of WriteBytesExt with ByteOrder
2017-03-20 19:14:29 +01:00