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
Marek Kotewicz
3fe3353696
removed redundant FixedHash trait, fixes #4029 ( #4866 )
2017-03-11 22:58:15 +04: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
keorn
d68ea777a2
Extend authority round consensus test ( #4756 )
...
* add auth round test case
* correct fork assertion
2017-03-03 22:32:22 +01:00
Robert Habermeier
d8b1cfe082
Merge branch 'master' into lightrpc
2017-02-20 18:01:29 +01:00
Robert Habermeier
62b340f2b9
Save pending local transactions in the database ( #4566 )
...
* Create new column family for local node info
* remove DBTransaction::new reliance on DB
* KeyValueDB trait
* InMemory KeyValueDB implementation
* journaldb generic over KVDB
* make most of `ethcore` generic over KVDB
* fix json tests compilation
* get all tests compiling
* implement local store (just for transactions)
* finish local store API, test
* put everything into place
* better test for skipping bad transactions
* fix warning
* update local store every 15 minutes
* remove superfluous `{}`s
2017-02-20 17:21:55 +01:00
Robert Habermeier
9316eb4ad3
(most of) parity RPC for light client
2017-02-17 21:38:43 +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
3b9ac7648c
with_context on LightSync
2017-02-02 17:02:46 +01:00
Robert Habermeier
fd44dcda15
rename LES protocol ID
2017-02-02 15:22:38 +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
Svyatoslav Nikolsky
092e24b9f2
Integration with zgp whitelist contract ( #4215 )
...
* zgp-transactions checker
* polishing
* rename + refactor
* refuse-service-transactions cl option
* fixed tests compilation
2017-01-22 16:15:22 +01:00
Robert Habermeier
203fd8a471
Memory-based pruning history size ( #4114 )
...
* prune states based on memory param
* pruning memory CLI and usage in sync
* return purged value from memorydb
* calculate memory used incrementally in overlayrecentdb
* refactor shared history pruning code in client
* Fixed usage alignment
* journal_size function for fast memory calculation
2017-01-20 13:25:53 +01:00
Robert Habermeier
a791cb50a6
Light protocol syncing improvements ( #4212 )
...
* remove old lint silencer
* dispatch requests only to peers with higher TD
* dynamic target for sync rounds
* use round pivots instead of frames, fix test
* fix total difficulty calculation for test client
* fix broken reorg algorithm
* fork test, fix ancestor search
2017-01-20 12:41:59 +01:00
Robert Habermeier
3ff9324ec0
LES Peer Info ( #4195 )
...
* connected peers function for network service
* get LES peer info in sync API
* new peer info in RPC
2017-01-20 12:41:49 +01:00
Tomasz Drwięga
24aec5191a
Fixing minimal transaction queue price ( #4204 )
...
* Fixing minimal transaction queue price
* Fixing tests
2017-01-18 19:44:24 +01:00
keorn
73b80869f5
Remove unnecessary Engine method ( #4184 )
...
* remove register_account_provider
* build rpc module
* new dummy client
2017-01-18 18:49:50 +01:00
Tomasz Drwięga
e11353f94c
UnverifiedTransaction type ( #4134 )
...
* Introducing ValidSignedTransaction
* Verifiying transactions in engines
* Widening use of VerifiedSignedTransaction
* Renaming Transactions
* Uncommenting banning queue & Fixing tests
* Fixing json tests
* Fixing pre-homestead test
* Fixing imports
* Addressing grumbles
* Fixing test
2017-01-13 08:51:36 +00: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
Tomasz Drwięga
21006da125
Get rid of unsafe code in ethkey, propagate incorrect Secret errors. ( #4119 )
...
* Implementing secret
* Fixing tests
2017-01-11 12:16:47 +01:00
keorn
be30c44179
Validator/authority contract ( #3937 )
...
* dir
* simple validator list
* stub validator contract
* make the engine hold Weak<Client> instead of IoChannel
* validator set factory
* register weak client with ValidatorContract
* check chain security
* add address array to generator
* register provider contract
* update validator set on notify
* add validator contract spec
* simple list test
* split update and contract test
* contract change
* use client in tendermint
* fix deadlock
* step duration in params
* adapt tendermint tests
* add storage fields to test spec
* constructor spec
* execute under wrong address
* create under correct address
* revert
* validator contract constructor
* move genesis block lookup
* add removal ability to contract
* validator contract adding validators
* fix basic authority
* validator changing test
* more docs
* update sync tests
* remove env_logger
* another env_logger
* cameltoe
* hold EngineClient instead of Client
* add a comment about lock scope
2017-01-10 12:23:59 +01:00
Arkadiy Paronyan
5c5244911e
No reorg limit for ancient blocks ( #4099 )
2017-01-10 12:22:28 +01:00
keorn
8d256b223d
Fix rebroadcast panic ( #4084 )
...
* fix
* fix compile
* remove peers trace
* simplify
* Fixing 'simplify'
2017-01-09 12:41:19 +01:00
Tomasz Drwięga
4c94878cf7
Sending transactions in chunks. ( #4089 )
2017-01-09 11:20:02 +01:00
Tomasz Drwięga
71e6e24a1f
Improving logs for transactions sync and disable re-broadcasting while syncing ( #4065 )
...
* Improving logs for transaction propagation
* Propagate only on timer
2017-01-08 17:12:17 +01:00
Tomasz Drwięga
1b93d79a90
Re-broadcast transactions to few random peers on each new block. ( #4054 )
...
* Introduce predictable randomness in tests
* Re-broadcasting to few peers
2017-01-06 10:38:49 +01:00
Robert Habermeier
e6324a83f1
Merge branch 'master' into lightsync
2016-12-28 15:53:11 +01:00
Robert Habermeier
fe1f542c4f
Owning views of blockchain data ( #3982 )
...
* owning views of blockchain data
* port blockchain and client traits to owning views
* fix ethcore tests
* use strong headers and bodies in ethcore_light
* port ethsync to use owning views
* port rpc to owning views
* port parity informant and blockchain export
2016-12-28 12:44:51 +00:00
Robert Habermeier
592a3ac623
Merge pull request #3974 from ethcore/mock-net
...
make test network generic over peer type
2016-12-28 13:32:06 +01:00
Robert Habermeier
8125b5690c
Port try
macro to new ?
operator. ( #3962 )
...
* initial untry sweep
* restore try in ipc codegen, fix inference
* change a few missed try instances
2016-12-27 12:53:56 +01:00
Robert Habermeier
84219a0094
make test network generic over peer type
2016-12-27 11:23:57 +01:00
Arkadiy Paronyan
5a3c3bcb45
Sync reorg up to history size ( #3874 )
...
* Allow sync reorg up to pruning history size
* Peer difficulty tracking
* Abort downloading block if received with NewBlock
* Set pruning history to 1200
* Renamed history size field
2016-12-23 18:43:40 +01:00
Robert Habermeier
d0194f3ad3
Merge branch 'master' into lightsync
2016-12-23 13:39:06 +01:00
Nikolay Volf
af501e6467
Custom attribute for binary serialization ( #3922 )
...
* derive(Binary) -> binary
* ethcore types refact
* fixup ethcore
* make binary optional
* fix common types
* fix updater
* remove condition
2016-12-21 15:09:35 +01:00
Robert Habermeier
a48435ca60
Merge branch 'master' into lightsync
2016-12-19 13:15:37 +01:00
Robert Habermeier
d765611050
allow queue to drain fully when idle
2016-12-19 12:41:00 +01:00
Robert Habermeier
ccdf5d5873
increase tick timer and limit peers to one req
2016-12-19 12:28:42 +01:00
Robert Habermeier
893892ca12
remove request limiting from sync service
2016-12-17 00:31:21 +01:00
Robert Habermeier
be914ddfc7
fix check for moving backwards
2016-12-16 23:53:36 +01:00
Robert Habermeier
e57ab96731
fix reverse start block check
2016-12-16 23:21:59 +01:00
Robert Habermeier
08587a1f56
fix subchain request ordering
2016-12-16 23:21:51 +01:00
Robert Habermeier
653363c572
limit to one pending request per peer
2016-12-16 23:21:17 +01:00
Robert Habermeier
a7505be627
fix deadlocks
2016-12-16 22:09:29 +01:00
Robert Habermeier
8b88ef1844
add light sync service to ethsync
2016-12-16 17:38:16 +01:00
Robert Habermeier
f85313fbff
Merge branch 'master' into lightsync
2016-12-16 15:29:11 +01:00
Robert Habermeier
ce84215d93
naive and bad request dispatcher
2016-12-16 15:26:39 +01:00
arkpar
65f07e5aa7
Renamed some functions
2016-12-16 14:54:26 +01:00
Robert Habermeier
0d7b638a2d
ancestor search response handler
2016-12-16 14:53:36 +01:00
arkpar
6c9de9e6f8
Merge branch 'master' of github.com:ethcore/parity into tx-block
2016-12-16 13:36:07 +01:00