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
Gav Wood
6e5a583cb4
Merge pull request #3505 from ethcore/check-updates
...
Auto-updating
2016-12-16 13:01:49 +01:00
Gav Wood
b437265082
Fix build.
2016-12-16 11:27:00 +01:00
Gav Wood
396ab5b361
Refactor and make is_syncing.
2016-12-16 10:31:10 +01:00
Robert Habermeier
a1f32de2d9
Merge branch 'master' into lightsync
2016-12-15 23:55:04 +01:00
keorn
447196398a
fix start_step
2016-12-15 23:36:06 +01:00
Robert Habermeier
8622ab66dc
skeleton for maintain_sync: all but dispatch
2016-12-15 22:42:24 +01:00
Robert Habermeier
9c7340307e
handle events, minimal state machine
2016-12-15 21:51:08 +01:00
arkpar
f8961484c1
Merge branch 'master' of github.com:ethcore/parity into tx-block
2016-12-15 19:10:33 +01:00
Robert Habermeier
5346539ef8
minimal header import and client service
2016-12-15 18:47:26 +01:00
arkpar
2952ea1b85
Delayed transactions
2016-12-15 18:19:19 +01:00
Robert Habermeier
f776f48023
drain prepared headers from sync round
2016-12-15 17:33:25 +01:00
Robert Habermeier
71e96aca10
handle abandoned requests
2016-12-15 16:19:28 +01:00
Robert Habermeier
ec88a992e3
provide response context to response handler
2016-12-15 15:50:36 +01:00