Nikolay Volf
1acc8031ce
Stratum up ( #4233 )
...
* flush work
* flush work
* flush work
* flush work
* generalized notifiers
* general setup with modules
* general setup with modules
* all binded
* catch up with master
* all dependencies injected
* stratum another up
* tcp update
* submitwork routine
* finalize & fix warnings
* merge bugs, review fixes
* merge bugs, review fixes
* new cli mess cleanup
* usage.txt swap
* flush work
* cli adopt
* compilation with new cli sorted
* subid space in json
* serialization issues
* grumbles addressed
* more grumbles
* remove last_work note for now
* fix compilation
* fix tests
* merge bugs
* no obliged ipc
* moving notifiers
* no optional feature now
* refactored again
* working on tests
* refactor to new tcp/ip
* stratum lib ok
* ethcore crate ok
* wip on tests
* final test working
* fix warnings, \n-terminated response
* new compatibility
* re-pushing work once anybody submitted
* various review and general fixes
* reviewe fixes
* remove redundant notifier
* one symbol -> huge bug
* ensure write lock isn't held when calling handlers
* extern declarations moved
* options to stratum mod, SocketAddr strongly-typed instantiation
* Minor style fix.
* Whitespace and phrasing
* Whitespace
2017-01-25 11:03:36 +01:00
Tomasz Drwięga
67284cc1a2
Logging transaction duration ( #4297 )
...
* Logging transaction duration
* Printing time also on heavy transactions [ci:skip]
2017-01-25 11:02:03 +01:00
keorn
e9251a9325
Generic engine utilities ( #4258 )
...
* move modules up
* make structs generic
* reound to view and tests
* fix
2017-01-24 22:03:03 +01:00
Tomasz Drwięga
fa02b3ae54
Additional logs for own transactions ( #4278 )
2017-01-24 19:18:52 +00:00
Robert Habermeier
b739704902
ensure write lock isn't held when calling handlers ( #4285 )
2017-01-24 19:15:59 +00:00
Konstantin
9d0278e0f8
added 3 warpnodes for ropsten ( #4289 )
...
* added 3 warpnodes for ropsten
* Fixed indentation
2017-01-24 14:35:52 +01:00
keorn
ba0209678b
ValidatorSet reporting ( #4208 )
...
* remove register_account_provider
* build rpc module
* new dummy client
* common EngineSigner struct
* from -> into
* initial report via call
* separate safe from regular contract
* transact_contract
* fix build
* return Signature, docs
* add sign method to some engines
* add safeContract spec
* update specs to new contracts
* use AuthorityRound for contract spec
* add more reporting
* add reporting test
* use gas floor
* shorter
2017-01-24 12:03:58 +03:00
keorn
b7f9b304c1
Chain scoring ( #4218 )
...
* chain scoring
* use current steps
2017-01-23 17:27:11 +03: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
keorn
97a60ceab1
Common EngineSigner ( #4189 )
...
* remove register_account_provider
* build rpc module
* new dummy client
* common EngineSigner struct
* from -> into
* return Signature, docs
2017-01-20 13:25:17 +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
Robert Habermeier
5830e03201
Merge pull request #4181 from ethcore/cht-full-nodes
...
CHT calculations for full nodes
2017-01-19 15:12:44 +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
b4ff08beb8
Fixing etherscan price parsing ( #4202 )
...
* Fixing etherscan price parsing
* Handling all errors
2017-01-18 17:56:21 +01:00
Robert Habermeier
3040a1c83e
Merge pull request #4093 from ethcore/better-timeouts
...
LES: Better timeouts + Track failed requests
2017-01-18 15:04:48 +01:00
Robert Habermeier
536df809c6
tests + documentation
2017-01-16 17:42:39 +01:00
Robert Habermeier
b960152d5b
CHT calculations for full nodes
2017-01-16 17:10:30 +01:00
Robert Habermeier
31aae4ed78
move cht module up a level
2017-01-16 16:55:23 +01:00
Svyatoslav Nikolsky
bac6293309
gas_limit for blocks, mined by Parity will be divisible by 37 ( #4154 )
...
* gas_limit for new blocks will divide evenly by 13
* increased PARITY_GAS_LIMIT_DETERMINANT to 37
* separate method for marking mined block
* debug_asserts(gas_limit within protocol range)
* round_block_gas_limit method is now static
* made round_block_gas_limit free-function
* multiplier->multiple [ci skip]
2017-01-16 14:29:51 +01:00
Gav Wood
c2f4716ee2
icarus -> update, increase web timeout. ( #4165 )
...
* icarus -> update, increase web timeout.
* Fix estimate gas
2017-01-13 16:30:16 +01:00
Robert Habermeier
f0eab337d8
Merge pull request #4036 from ethcore/on-demand-les-request
...
On demand LES request
2017-01-13 14:36:48 +01:00
Arkadiy Paronyan
cdc525449a
Ropsten fork detection ( #4163 )
2017-01-13 14:28:10 +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
7dde02b25d
Merge branch 'master' into on-demand-les-request
2017-01-12 11:23:47 +01:00
Gav Wood
311730ea95
Improvements and optimisations to estimate_gas ( #4142 )
...
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
* Another estimate gas fix.
* Alter balance to maximum possible rather than GP=0.
* Only increase to amount strictly necessary.
* Improvements and optimisations to estimate_gas.
- Introduce proper error type
- Avoid building costly traces
* Fix tests.
* Actually fix testsActually fix tests
2017-01-12 11:06:12 +01:00
Robert Habermeier
78e670812c
fix test compilation
2017-01-11 18:57:38 +01:00
Robert Habermeier
e88c62d37d
Merge branch 'master' into better-timeouts
2017-01-11 18:55:16 +01:00
Robert Habermeier
7b3c648d3e
Merge branch 'master' into better-timeouts
2017-01-11 18:47:09 +01:00
keorn
844b1f8c0d
Refactor VoteCollector ( #4101 )
...
* 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
* return error on misbehaviour
* nicer return
* sprinkle docs
2017-01-11 17:56:50 +01:00
Gav Wood
56c546f465
Another minor estimation fix ( #4133 )
...
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
* Another estimate gas fix.
* Alter balance to maximum possible rather than GP=0.
* Only increase to amount strictly necessary.
2017-01-11 17:51:48 +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
Gav Wood
7286d42b7d
Fix call/estimate_gas ( #4121 )
...
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
2017-01-11 14:28:27 +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
Robert Habermeier
5b8a7259c1
Merge branch 'master' into on-demand-les-request
2017-01-11 11:39:43 +01:00
Gav Wood
23feb7998f
Use binary chop to estimate gas accurately ( #4100 )
...
* Initial sketch.
* Building.
* Fix a few things.
* Fix issue, add tracing.
* Address grumbles
* Raise upper limit if needed
* Fix test.
2017-01-10 18:56:41 +01:00
Arkadiy Paronyan
148ea37687
v1.6 in master ( #4113 )
2017-01-10 15:41:59 +01:00
Gav Wood
ae144b7f62
Ignore get_price_info test by default. ( #4112 )
2017-01-10 15:41:48 +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
Tomasz Drwięga
a584c6396c
Don't remove out of date local transactions ( #4094 )
2017-01-09 17:01:09 +01:00
Robert Habermeier
d515ef9a2a
test for id_guard behavior
2017-01-09 12:20:44 +01:00
Robert Habermeier
54058e3712
ensure failed requests considered unfulfilled
2017-01-09 11:29:06 +01:00
Robert Habermeier
9c00eb4e8a
Zero-alloc trie lookups ( #3998 )
...
* triedb cleanup
* factor out common portion of trie query
* allocate far fewer times in node decoding
* fix bench compilation
* introduce OwnedNode variant to make iter fast again
* generalize recorder trait to Query
* decode trie outputs cost-free in state
* test for passing closure as query
2017-01-06 16:18:45 +01:00
Tomasz Drwięga
eb0daea9b9
Removing old transactions from the queue ( #4046 )
...
* Removing old transactions from the queue
* Addressing grumbles
2017-01-05 21:16:52 +01:00
keorn
fbc9f0d7fb
Add block rewards to more Engines ( #4055 )
...
* add block rewards
* imports
2017-01-05 21:16:13 +01:00
Robert Habermeier
b4e713efdc
return old trie values on insert and remove ( #4053 )
...
* return old trie values on insert and remove
* fix json tests
2017-01-05 21:15:43 +01:00
Tomasz Drwięga
91f864b2b7
Fixing minGasLimit > ceil limit mining issue ( #4018 )
2017-01-05 12:59:16 +00:00
Robert Habermeier
75b5acf21d
use common BasicAccount type
2017-01-05 13:26:14 +01:00
Robert Habermeier
8446a8354b
Merge branch 'master' into on-demand-les-request
2017-01-05 13:18:24 +01:00
Robert Habermeier
f1dd96ca5d
Merge pull request #3892 from ethcore/lightsync
...
Naive light client synchronization
2017-01-05 13:17:14 +01:00
Maciej Hirsz
881066243b
Merge pull request #4034 from maciejhirsz/mh-pwmsg
...
Better error messages for PoA chains, closes #4030
2017-01-05 11:13:45 +01:00
keorn
93237045b8
Merge pull request #4019 from ethcore/optional-spec
...
Make some spec fields optional
2017-01-04 19:25:42 +01:00
Robert Habermeier
f63faea308
test for request_set and remove idle flag
2017-01-04 18:43:11 +01:00
Robert Habermeier
04282be721
use request set to provide better timeouts
2017-01-04 18:00:12 +01:00
Robert Habermeier
6ad0a0baaa
fix test imports
2017-01-04 16:12:58 +01:00
Robert Habermeier
ed98c389ca
no_peers test
2017-01-04 14:54:50 +01:00
Robert Habermeier
62bc92ff4d
Merge branch 'master' into on-demand-les-request
2017-01-04 14:33:45 +01:00
Robert Habermeier
38ac84f0c7
reassign requests on failure
2017-01-04 14:33:32 +01:00
Robert Habermeier
ca35b345ca
separate request dispatch from creation
2017-01-04 13:58:26 +01:00
Robert Habermeier
1d51b6f7e5
handle incoming LES requests
2017-01-04 13:34:50 +01:00
maciejhirsz
8ca0e09ffc
Better error messages for PoA chains
2017-01-04 12:50:50 +01:00
Robert Habermeier
4e94f43644
tests for request module
2017-01-04 12:48:07 +01:00
Robert Habermeier
01977e60aa
finish request module, basic dispatch
2017-01-03 19:13:40 +01:00
Robert Habermeier
5d2cf22ef4
use basic_account in snapshot
2017-01-03 17:05:27 +01:00
Robert Habermeier
eb2b1ad5da
move basic_account to types module
2017-01-03 16:43:22 +01:00
Robert Habermeier
7c715aeec3
basic account type
2017-01-03 16:32:50 +01:00
Robert Habermeier
4dbbc3bc88
beginnings of on_demand request module + verification
2017-01-03 16:18:57 +01:00
keorn
e5b3c092c8
Merge branch 'master' into optional-spec
2017-01-03 15:42:56 +01:00
Tomasz Drwięga
b24fc97cb6
Correct log index in transaction receipt ( #3995 )
...
* Moving logs to separate, testable function
* Adding test
* Fixing log index
* Adding transaction log index
* Fixing rpc tests
* Making interface of a bit cleaner.
2016-12-29 18:48:28 +00:00
Robert Habermeier
ddf2b944b5
on demand request dispatch
2016-12-28 21:46:55 +01:00
Robert Habermeier
4daa645789
dispatch header requests
2016-12-28 16:20:46 +01:00
Robert Habermeier
5309ba45a8
update peer status from announcement
2016-12-28 16:20:35 +01:00
Robert Habermeier
e6324a83f1
Merge branch 'master' into lightsync
2016-12-28 15:53:11 +01:00
Robert Habermeier
c2ad769fb7
Merge branch 'master' into on-demand-les-request
2016-12-28 14:00:33 +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
428d5db9d1
beginning of on_demand
2016-12-27 16:43:28 +01:00
Robert Habermeier
9b4f90718f
Display impl for ReqId
2016-12-27 13:54:51 +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
55dbfbf35b
address grumbles
2016-12-27 12:24:18 +01:00
Robert Habermeier
546246c56b
Unknown block error for RPC ( #3965 )
2016-12-23 18:46:17 +01:00
keorn
afc4cd2785
Allow contract constructors in chain spec ( #3932 )
...
* constructor spec
* execute under wrong address
* create under correct address
* revert
* move genesis block lookup
* remove env_logger
2016-12-23 18:44:39 +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
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
d0194f3ad3
Merge branch 'master' into lightsync
2016-12-23 13:39:06 +01:00
Robert Habermeier
10c56acff6
revert tests submodule
2016-12-23 13:21:29 +01:00
Igor Artamonov
be75cbfaaa
set CHAIN_ID for Classic ( #3934 )
...
* configurable CHAIN_ID
* set CHAIN_ID for Ethereum Classic
2016-12-22 13:10:58 +01:00
keorn
552a772cc1
make fields defaulting to 0 optional
2016-12-22 07:06:40 +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
01b494ca2c
Merge branch 'master' into lightsync
2016-12-21 13:42:07 +01:00
Gav Wood
cd8af0a497
Merge pull request #3904 from ethcore/new-dirs
...
Fixed upgrading keys on the first run
2016-12-19 22:24:37 +01:00
Gav Wood
18965be047
Merge pull request #3903 from ethcore/test-mem-limit-deadlock
...
fix deadlock in queue drop
2016-12-19 22:23:56 +01:00
Gav Wood
5ba16e4867
Merge pull request #3897 from ethcore/single-provider-functions
...
require only simpler methods on Provider
2016-12-19 22:23:39 +01:00
Robert Habermeier
70d53dcfd6
Merge branch 'master' into lightsync
2016-12-19 18:53:52 +01:00
Robert Habermeier
ae8f77bc7c
fix deadlock in queue drop
2016-12-19 18:10:26 +01:00
arkpar
ddb242c969
Fixed upgrading keys on the first run
2016-12-19 17:41:55 +01:00
Gav Wood
1f8a1cac22
Merge pull request #3896 from ethcore/timestamp-ignore
...
Allow retry for future blocks
2016-12-19 15:21:05 +01:00
Robert Habermeier
4c7dc9f2d8
require only simpler methods on Provider
2016-12-19 14:54:10 +01:00