Commit Graph

1779 Commits

Author SHA1 Message Date
keorn b5c891814a fix merge 2016-11-14 11:09:57 +00:00
Gav Wood 2fa2f8342a
isLatest works. 2016-11-14 11:49:56 +01:00
keorn 501f6d3f49 Merge branch 'master' into auth-round 2016-11-14 10:08:14 +00:00
keorn d8e6dbd981 Merge branch 'master' into dev-chain 2016-11-14 10:05:34 +00:00
keorn 2d4b4cf5c9 revert moves to Spec 2016-11-14 10:04:34 +00:00
Gav Wood 4bb4ed9551
Initial checking. 2016-11-13 15:52:33 +01:00
GitLab Build Bot d1848117ef [ci skip] js-precompiled 20161113-131856 2016-11-13 13:20:20 +00:00
GitLab Build Bot 5a259be290 [ci skip] js-precompiled 20161113-131228 2016-11-13 13:13:54 +00:00
Gav Wood 4a92668c56 Fix chainspec storage field. (#3406)
Add a test.
2016-11-13 13:58:42 +01:00
Robert Habermeier 37f49aac1b abort snapshot restoration faster (#3356)
* abort snapshot restoration faster

* flag-checking tests
2016-11-13 13:52:53 +01:00
keorn 15d748c2f7 Merge branch 'master' into dev-chain 2016-11-11 20:40:05 +00:00
keorn ea9c479fff update json_tests 2016-11-11 18:57:57 +00:00
keorn cc39b24599 update chain name 2016-11-11 18:41:04 +00:00
keorn 4a65394269 change instant spec, update doc 2016-11-11 18:38:44 +00:00
keorn 53258cca6c add new dev spec 2016-11-11 17:27:20 +00:00
keorn e63b7e51fb update instant_seal schedule 2016-11-11 17:26:41 +00:00
Robert Habermeier 87c668ba9c test previous code fetch 2016-11-11 18:24:12 +01:00
keorn beaa014543 tix doc test 2016-11-11 16:59:22 +00:00
keorn a719b91b63 move spec constructors to spec 2016-11-11 16:37:44 +00:00
Gav Wood a7ad75d851 whitespace
[ci:skip]
2016-11-11 17:32:54 +01:00
Robert Habermeier ed135bb9dc fetch known code from the database during restoration
previously it kept all seen code in memory, leading to
high memory usage by the end of state restoration
2016-11-11 17:18:31 +01:00
Robert Habermeier 3854b8a689 LES Part 1 (#3322)
* stub implementations of light client trait

* Light provider trait

* light client sync stubs

* LES boilerplate

* stub implementation of provider for client

* skeleton and request traits

* request definitions

* new_list -> begin_list

* handle unknown packet

* revise light implementation strategy

* make verification module public

* Move all light client work to own crate

* experiment with answering requests

* buffer flow scaffolding

* remove LESv2 requests

* buffer flow basics, implement cost table

* begin status module

* implement handshake parsing and creation

* implement announcement serialization

* errors, punishment, and handshake

* handle announcements

* making announcements, clean up warnings

* allow dead code temporarily
2016-11-10 18:30:17 +01:00
Robert Habermeier 8c2c048444 clean up errors 2016-11-10 14:05:47 +01:00
Arkadiy Paronyan 6ffaab15a3 Disarm the HF and add more bootnodes (#3323)
* Disarm the HF

* More bootnodes

* Updated tests
2016-11-10 11:28:27 +01:00
Tomasz Drwięga 2f98169539 In-browser signing support (#3231)
* Signer RAW confirmations

* Returning address book as eth_accounts

* UI support for in-browser signing

* Post review fixes

* Adding new methods to jsonrpc

* Fixing eth_accounts

* Deterministic accounts ordering
2016-11-10 11:27:05 +01:00
Robert Habermeier 11e6b08f02 Move ethcore-light crate into ethcore/light module 2016-11-09 23:39:56 +01:00
Robert Habermeier ebff010d16 partial implementation of provider for client types 2016-11-09 23:25:54 +01:00
GitLab Build Bot 29aecc2cff [ci skip] js-precompiled 20161109-171832 2016-11-09 17:19:59 +00:00
Robert Habermeier 60a8728121 Merge branch 'master' into les-impl 2016-11-09 18:06:12 +01:00
Robert Habermeier 6c23d53f04 allow dead code temporarily 2016-11-09 18:05:56 +01:00
Robert Habermeier 25d5efac15 making announcements, clean up warnings 2016-11-09 18:05:00 +01:00
Gav Wood 4712b882e5 New transaction tests (#3313)
* Add new transaction tests.

* Add new test.
2016-11-09 18:02:24 +01:00
Robert Habermeier c132775bb1 handle announcements 2016-11-09 16:21:09 +01:00
Robert Habermeier ec1b982b52 errors, punishment, and handshake 2016-11-09 15:36:26 +01:00
Arkadiy Paronyan 85ade4a2ec Fixed uncle details (#3299) 2016-11-09 13:17:40 +01:00
keorn 49f2a72d5d Merge branch 'master' into auth-round 2016-11-09 10:35:00 +00:00
Robert Habermeier ca25deb4e6 implement announcement serialization 2016-11-08 19:00:37 +01:00
Robert Habermeier b369cdd573 Merge branch 'master' into les-impl 2016-11-08 17:14:19 +01:00
Robert Habermeier 440f5e537f implement handshake parsing and creation 2016-11-08 17:13:43 +01:00
Robert Habermeier 4ba4861734 begin status module 2016-11-07 19:16:23 +01:00
Robert Habermeier 051effe9f8 buffer flow basics, implement cost table 2016-11-07 15:40:34 +01:00
Robert Habermeier d573ef3cc2 remove LESv2 requests 2016-11-06 20:02:15 +01:00
Robert Habermeier 44e36596c9 buffer flow scaffolding 2016-11-06 19:04:30 +01:00
Robert Habermeier 56fd88d1e8 ethash unsafety cleanup (#3210) 2016-11-05 10:39:15 +01:00
Gav Wood 744501c454 Mode improvements for UI (#3109)
* `--mode=off` now works.

* Add Mode::Off as a persistent CLI option.

* "last" not "auto" as default.

* Commit accidentally unsaved file.

* Whitespace

[ci:skip]

* Mode CLI parse fix

* or offline

* Save mode when it gets changed.

* Fix Offline mode

* Fix up mode operations.

* Make passive default, but not overriding.

* Fix test

* Maybe not everyone wants to run an archive node...
2016-11-05 10:38:00 +01:00
Robert Habermeier 52abbc0643 experiment with answering requests 2016-11-04 23:50:56 +01:00
Igor Artamonov 2a19c33b8d delay bomb for Classic (ECIP-1010) (#3179)
* delay bomb for classic (ECIP-1010)

* formatting fix after core review, rel [e6b5093]
2016-11-04 23:09:23 +01:00
Robert Habermeier c1a6dbe75f Move all light client work to own crate 2016-11-04 19:40:11 +01:00
Robert Habermeier 5cabb3008f make verification module public 2016-11-04 19:21:48 +01:00
Robert Habermeier edf17d00c4 revise light implementation strategy 2016-11-04 18:40:31 +01:00
Tomasz Drwięga f31d42d0c5 Exposing engine extra info in block RPC (#3169)
* Exposing extra info in RPC

* Proper serialization and client trait API
2016-11-04 17:35:02 +01:00
Arkadiy Paronyan d37f4cc82f v1.5 (#3195) 2016-11-04 17:27:11 +01:00
Robert Habermeier eef9a355af request definitions 2016-11-04 17:19:01 +01:00
keorn a8b688b469 allow permanent unlock for internal sealing 2016-11-04 15:50:56 +00:00
keorn 0e5060db18 update schedule 2016-11-04 15:04:19 +00:00
Gav Wood 0f16942186 EIP-155 update with Vitalik's new test vectors (#3166)
* Vitalik's new test vectors.

* Update to latest EIP155 spec.

* Fix txs.

* Another fix.
2016-11-04 15:13:51 +01:00
Robert Habermeier 1bc124f980 Merge branch 'master' into les-impl 2016-11-04 15:00:05 +01:00
keorn 255ec0c139 Merge branch 'master' into auth-round 2016-11-04 11:35:17 +00:00
Tomasz Drwięga 2e47842d66 Exposing state root and logsBloom in RPC receipts (#3174) 2016-11-04 12:33:13 +01:00
Gav Wood d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
keorn 0c2cfc9b6e Fix histogram (#3150)
* fix histogram

* remove outdated comment
2016-11-03 21:15:27 +01:00
keorn 00a3619392 header methods 2016-11-02 17:42:56 +00:00
keorn 03c9760de2 Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet 2016-11-02 13:01:31 +00:00
keorn 26155f51d5 proper calculation of remaining step time 2016-11-02 12:13:47 +00:00
keorn da3253133c ignore block timeout when sealing internally 2016-11-02 12:13:12 +00:00
keorn 3a6b56e99c check double signing, tracing 2016-11-01 18:12:06 +00:00
Tomasz Drwięga 8c1f8700ec Fixing last hashes for ethcall (#3043) 2016-11-01 11:24:46 +01:00
Robert Habermeier 42010acd68 execute periodic snapshot in new thread (#3029)
to ensure that the I/O worker isn't stalled.
2016-11-01 11:09:46 +01:00
Robert Habermeier 8599a11a0b Snapshot sync and block gap info in `eth_syncing` (#2948)
* provide snapshot sync info in eth_syncing

* specify block gap in eth_syncing

* Extend eth_syncing with warp, format the output properly

* adjust serialization tests for sync info

* whitespace
2016-10-31 17:32:53 +01:00
Gav Wood 547871f933 RPCs for mode change (#3002)
* Allow warnings.

* Add RPCs to allow ad-hoc mode changes.

* Add the JSAPI interfaces

* Add missing file.
2016-10-31 16:58:35 +01:00
Gav Wood 54a408fd88 Fix a test sensitive to slow execution. (#3014) 2016-10-31 16:55:30 +01:00
keorn 7af20a5db0 Modify gas price statistics (#2947)
* gas price distribution + median + tests

* put histogram in util

* use the util histogram

* remove the default gas price implementation

* histogram rpc

* fix empty corpus

* Add JS ethcore_gasPriceHistogram

* Fix typo (s/types/type/) & subsequent failing test

* Fix return type & formatting

* bucketBounds

* Add jsapi e2e test verification
2016-10-31 12:57:48 +01:00
keorn fc4664ab12 Merge branch 'master' into auth-round-no-mocknet 2016-10-30 21:18:52 +00:00
Arkadiy Paronyan bccc56b6b0 mio version bump (#2982) 2016-10-30 09:56:34 +01:00
Arkadiy Paronyan 8796574e5a Use separate lock for code cache (#2977) 2016-10-29 21:27:53 +02:00
Tomasz Drwięga f17cad9dff Fixing clippy warnings 2 (#2961) 2016-10-29 13:08:49 +02:00
keorn 7976f46231 Merge branch 'master' into auth-round-no-mocknet 2016-10-28 17:53:23 +01:00
Tomasz Drwięga 0f0334275e Validating minimal required gas for a transaction (#2937)
* Validating minimal required gas for a transaction

* Adding RPC case and note

* Fixing whitespace [ci skip]
2016-10-28 16:42:24 +02:00
Robert Habermeier 2806f1d4c9 Even more snapshot validity checks (#2935)
* clarify "cancelled periodic snapshot" message

* more rigorous checks for snapshot validity

* verify ancient blocks on import

* limit number of fed blocks

* make it possible to feed snapshot service canonical hashes

* fix failing test build

* swap ethash DAG only when more recent
2016-10-28 16:10:30 +02:00
Robert Habermeier 29ab4ecac1 Shared code cache (#2921)
* add a global code cache

* extract memory-limited lru cache to util

* use memory-limited code cache

* account for code cache size in mem_used
2016-10-28 16:04:44 +02:00
Tomasz Drwięga 956a059a06 Updating bootnodes for ETC (#2938) 2016-10-28 16:02:23 +02:00
Arkadiy Paronyan 55efa16e42 More bootnodes (#2926) 2016-10-28 12:00:01 +02:00
Tomasz Drwięga dedc4d5cfc Get rid of duplicated code (#2915) 2016-10-27 19:29:23 +02:00
Tomasz Drwięga 152a551e8b Transaction Queue banning (#2524)
* Blacklisting transaction queue

* Using blacklisting queue in miner

* Restoring todo [ci:skip]

* Blacklisting recipients and code

* Renaming blacklisting->banning

* CLI option for banning.

* Fixing submodule commit [ci:skip]

* Fixing RPC tests

* Additional logging when dropping transactions

* whitespace

[ci:skip]

* Configurable ban duration

* Reverting fix for pruning history from config file
2016-10-27 19:28:34 +02:00
Tomasz Drwięga ce37b6dcb9 Revert to gas price ordering (#2919) 2016-10-27 19:27:08 +02:00
Robert Habermeier 3a5843c40f skeleton and request traits 2016-10-27 15:45:59 +02:00
Nikolay Volf d315ec29e1 Apply pending block details on commit (#2254)
* failing test

* Cache pending details

* [ci skip] updated comment
2016-10-27 15:26:29 +02:00
Robert Habermeier a7e420d9ec stub implementation of provider for client 2016-10-27 15:09:17 +02:00
Tomasz Drwięga 88997801d0 Clippy bump (#2877)
* Bumping clippy

* Fixing warnings

* Fix the "fix"
2016-10-27 08:28:12 +02:00
keorn 3ff26dd544 Merge branch 'master' into auth-round-no-mocknet 2016-10-26 17:50:04 +01:00
keorn a1745624ce enable suicide test (#2893) 2016-10-26 16:27:38 +02:00
Arkadiy Paronyan f024acd329 More snapshot fixes and optimizations (#2883)
* More snapshot fixes and optimizations

* db drop
2016-10-26 16:14:13 +02:00
Robert Habermeier 4b82392371 merge with master 2016-10-26 14:17:13 +02:00
Arkadiy Paronyan 5b978be034 Get rid of MemoryDB denote (#2881) 2016-10-26 13:53:47 +02:00
Arkadiy Paronyan 135d5d0e4c Snapshot fixes and optimizations (#2863) 2016-10-25 18:40:01 +02:00
Gav Wood a6fd922ffb Don't fail badly when no transactions in last 100 blocks. (#2856) 2016-10-25 12:21:21 +02:00
Robert Habermeier 0fedc27332 Remove ethcore::common re-export module (#2792)
* no longer export action_params

* remove transaction, header, receipt re-rexports from common

* remove env_info and builtins re-exports from common

* remove everything but util export from common

* replace common usages with util, remove module

* add a prelude module for ethcore-bigint
2016-10-24 18:35:25 +02:00
Robert Habermeier bc81ae0407 Snapshot and blockchain stability improvements (#2843)
* allow taking snapshot from just-restored database without error

* make creation informant less spammy

* Ancestry iterator failure-resilient

* make uncle hash searching resilient to incomplete chain

* deduce pre-chunk info from last written block's details
2016-10-24 18:27:23 +02:00
keorn aa05823afe Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet 2016-10-24 15:32:30 +01:00
arkpar f543108cf5 Fixed tests 2016-10-24 16:31:37 +02:00
Arkadiy Paronyan 44a560e964 CLI option to skip seal check when importing (#2842) 2016-10-24 15:09:13 +02:00
Gav Wood 37a2ee98de Additional RPCs for password management (#2779)
* Add personal_testPassword and stub for personal_changePassword

* Add change-password functionality.

* Address grumble.

* Update tests.

* Update build.
2016-10-22 14:24:02 +01:00
Robert Habermeier 8e5c9ff162 rename State::snapshot to checkpoint to avoid confusion (#2796) 2016-10-22 14:22:16 +01:00
keorn 479657b23b Automatic compaction selection on Linux (#2785)
* add auto compaction types

* pass db paths

* detect drive type on Linux

* use base db path

* add docstring

* limit the test to be side effect free

* use base db path

* more docs

* fix parsing test

* update error

* detect only on Linux

* make test Linux only

* add second device letter, update cli doc

* use spaces in cli doc

* import only on linux

* default->auto
2016-10-21 23:21:57 +02:00
Robert Habermeier 49ef9a1aa4 Add empty account existence test from beta. (#2769)
* add bloom filter existence test from beta

* fix U256 instantiation for master
2016-10-21 20:36:40 +02:00
Arkadiy Paronyan 6f7b7638f4 Resolve morden fork (#2773) 2016-10-21 19:23:05 +02:00
Robert Habermeier 96f4c10453 sweep most unwraps from ethcore crate, dapps crate (#2762)
* sweep most unwraps from ethcore crate

* purge unwrap from dapps server

* whitespace

[ci:none]
2016-10-20 23:41:15 +02:00
keorn 866ab9c7a3 Check queue to determine major importing (#2763)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state

* remove Blocks synced state

* move is_major_importing to rpc crate and check queue

* add tests
2016-10-20 23:36:18 +02:00
Nicolas Gotchac 236fb82886 Trace filtering fix (#2760)
* (#2751) Trace filtering fix:
  Don't test contract address against empty array in trace filtering

* Fixes spaces/typo

* Simplify the Trace Filtering (#2751)

* Removed unused `strictly_matches` fn
2016-10-20 23:35:56 +02:00
Robert Habermeier 7359af8588 Incrementally calculate verification queue heap size (#2749)
* incrementally calculate queue heap size

* query the correct queue sizes
2016-10-20 17:19:31 +02:00
Arkadiy Paronyan ae853a7557 Don't add empty accounts to bloom (#2753) 2016-10-20 16:49:27 +02:00
Arkadiy Paronyan 906dcd7bfe Block import optimization (#2748)
* Block import optimization

* whitespace

[ci:none]
2016-10-20 14:49:12 +02:00
Arkadiy Paronyan 20e1d575da Frontport commits from beta to master (#2743)
* Remove count limit for local transactions (#2634)

* Fixed stalled sync
2016-10-20 00:33:00 +02:00
keorn aa52b04e31 Unify major syncing detection (#2699)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state
2016-10-19 18:35:39 +02:00
Tomasz Drwięga 9869a85ed5 Bumping json tests 2016-10-19 16:31:51 +02:00
Jaco Greeff 57f33c45cc Update Registry.sol address (mainnet) (#2713) 2016-10-19 12:35:56 +02:00
Arkadiy Paronyan 487dfb0208 Snapshot sync part 2 (#2098)
* Split block downloader into a module

* Snapshot sync progress

* Warp sync CLI option

* Increased snapshot chunk and ping timeouts

* Fixed an issue with delayed writes

* Updated bootnodes

* Don't run pending IO tasks on shutdown

* Optional first_block; removed insert_snapshot_block

* Fixing expect calls

* Fixed stalled sync

* style and docs

* Update block_sync.rs

[ci:skip]
2016-10-18 18:16:00 +02:00
Tomasz Drwięga 4d48054cee Fixing importing traces for non-canon blockS (#2683) 2016-10-18 16:43:42 +02:00
Robert Habermeier 0eb8cb453b Merge pull request #2658 from ethcore/snapshot-earliest-era
use pruning history in CLI snapshots
2016-10-18 13:57:43 +02:00
Robert Habermeier c2dd37bb69 use pruning history in CLI snapshots 2016-10-17 13:05:57 +02:00
Gav Wood b5c65e3df5 Fix up ETC EIP-150 transition to 2,500,000. (#2636) 2016-10-16 13:44:56 +02:00
keorn 303f922ebd steps based on unix epoch 2016-10-15 13:55:10 +01:00
Tomasz Drwięga cceca916a1 [frontport] CLI to specify queue ordering strategy (#2494) (#2623)
* CLI to specify queue ordering strategy (#2494)

* Alter gas priorities to include gas_price also

* CLI options and tests

* Adding ordering by gas

* whitespace

Conflicts:
	ethcore/src/miner/miner.rs
	ethcore/src/miner/mod.rs
	ethcore/src/miner/transaction_queue.rs
	parity/cli/usage.txt
	parity/configuration.rs

* fix build
2016-10-15 14:46:33 +02:00
Tomasz Drwięga 03c1559ead Support for decryption in Signer (#2421)
* Adding some tests

* Implementing decrypt in queue

* Removing code duplication.

* Printing public key in ethstore

* Bump UI

* Normalizing dapps format for signer.

* Fixing tests compilation

* fix whitespace

[ci:skip]
2016-10-15 14:44:08 +02:00
Gav Wood 85eeb3ea6e EIP150.1c (#2591)
* EIP150.1b first part.

* Add documentation.

[ci:skip]

* Tweak comment

* Fix some tests.

* Fix create

* Add the new EIP150 test. (#2563)

* Fix create some more.

* Another fix for create.

* Final fixes.

* Enable EIP150 test.

* Revert the costly suicides to respect EIP150.1b.

* Fixups for EIP150.1c

* Update tests.

* Updating tests

* Adding state tests

* Updating tests

* Updating HF block

* Removing flushln [ci:skip]

* Commenting out suicide test

* New tests.

* Switch to EIP tests.

* Rename some stuff, combine transition tests.

* Fix U256 overflows.

* Name cleanups and an effort to fix tests.

* Rename back for clarity.

* Fix non-EIP-150 OOG CALLs

* New transition block number & additional EIP150 tests

* Morden transition block set; Tests updated

* Added missing test
2016-10-15 14:39:15 +02:00
Robert Habermeier 8263bd4be2 snapshot: single byte for empty accounts (#2625) 2016-10-14 15:45:45 +03:00
Robert Habermeier f28b8352c1 Configurable history size in master (#2606)
* split journaldb commit into two functions: journal_under and mark_canonical

* use new commit mechanism in client

* Configurable history size in master

* Reduce DB history

* Configurable history size

* Set min history size

* Test

* Fixed a test and reduced the limit
2016-10-14 15:44:56 +03:00
Arkadiy Paronyan 835cd13c0e Database performance tweaks (#2619) 2016-10-14 15:44:11 +03:00
keorn 8ad1582208 enable suicide json test (#2626) 2016-10-14 14:28:02 +02:00
Robert Habermeier 19e6cbe0b2 Merge pull request #2329 from ethcore/journaldb_commit
Split journaldb commit into two functions: journal_under and mark_canonical
2016-10-14 13:57:17 +02:00
Arkadiy Paronyan f9440f20b8 Fixed tx queue limit for local transactions (#2616)
* Fixed tx queue limit for local tx

* Fixing test

* Increas gas limit to 20x
2016-10-14 13:56:00 +02:00
Tomasz Drwięga dbc25cf4e7 Additional logs when transactions is removed from queue (#2617) 2016-10-14 13:55:48 +02:00
Robert Habermeier 4581469e78 mitigate refcell conflict in state diffing (#2601)
* mitigate refcell conflict in state diffing

Also uses RefCell::get_mut in a few places.

* Add test case
2016-10-13 23:28:56 +02:00
Robert Habermeier 92f7f46fd3 Merge branch 'master' into journaldb_commit 2016-10-13 13:02:53 +02:00
Robert Habermeier 4bcc9e3b49 Merge pull request #2516 from ethcore/canon-cache-size
Mostly configurable canonical cache size
2016-10-12 21:48:29 +02:00
keorn 44f42ac7d3 Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet
Conflicts:
	ethcore/src/state/mod.rs
	ethcore/src/tests/mod.rs
2016-10-12 18:39:31 +01:00
keorn 0189096caf Update json test suite (#2574)
* update json test suite

* comment out the incomplete test
2016-10-12 10:06:23 +02:00
keorn 5e24a35272 dont close block if is_invalid (#2572) 2016-10-11 16:19:00 +02:00
Arkadiy Paronyan 55dbd5bb1f Fixed race condition in trace import (#2555) 2016-10-10 23:07:29 +02:00
Arkadiy Paronyan 193cdb1326 Don't activate peers on connect; Test (#2537) 2016-10-10 23:05:41 +02:00
Arkadiy Paronyan 26d7712d30 TX queue gas limit config and allow local transactions over the gas limit (#2553)
* Gas limit config; Allow local transactions over the limit

* Fix typo

[ci:skip]
2016-10-10 23:04:43 +02:00
keorn 64f6f836ab Remove unwrap from client module (#2554)
* remove unwraps in client

* imporve block hash expect message
2016-10-10 17:43:44 +02:00
Arkadiy Paronyan f200eb2cfe Backports to master (#2530)
* Transaction queue limited by gas (#2528)

* Use global state cache when mining (#2529)
2016-10-08 10:35:54 +02:00
Robert Habermeier 4276ab8a5f fix JSON tests 2016-10-07 13:59:50 +02:00
Robert Habermeier 19e5bede7f Merge branch 'master' into canon-cache-size 2016-10-07 13:55:20 +02:00
Arkadiy Paronyan 72ec9366ad Handle reorganizations in the state cache (#2490)
* Handle reorganizations in the state cache

* Renamed and documented a few methods

* Basic test

* Renamed pending to buffered

* Updated cache on sealed block

* More renames and updated documentation

* Minor doc tweaks
2016-10-07 12:34:32 +01:00
Robert Habermeier 299ceb8092 Merge branch 'master' into canon-cache-size 2016-10-07 12:42:51 +02:00
Robert Habermeier 8a0e98d4cc configurable jump table cache size 2016-10-07 12:18:42 +02:00
Tomasz Drwięga 4655fd04a5 Using pending block only if not old (#2514) 2016-10-07 11:13:15 +01:00
Arkadiy Paronyan 7756031d06 Caching optimizations (#2505) 2016-10-07 11:10:12 +01:00
Tomasz Drwięga d9ca01cb6b Fixing RPC Filter conversion to EthFilter (#2500) 2016-10-07 09:18:32 +02:00
Robert Habermeier 745a50dfdf configurable state cache size 2016-10-07 00:28:42 +02:00
Nikolay Volf ac0ae2442f Adjustable stack size for EVM (#2483)
* stack size for io workers & evm threshold

* rust way to remember stack size

* right value

* 24kb size

* some stack reduction
2016-10-06 18:42:54 +02:00
Tomasz Drwięga 75d9174294 Fixing penalization in future (#2499) 2016-10-06 18:40:40 +02:00
Arkadiy Paronyan 6c1b2fbed5 Preserve cache on reverting the snapshot (#2488)
* Preserve cache on reverting the snapshot

* Renamed merge_with into replace_with

* Renamed and documented snapshotting methods
2016-10-06 14:54:05 +01:00
Robert Habermeier 5a959c67e4 Merge pull request #2489 from ethcore/txqueuesize
Increase default size of transaction queue
2016-10-06 12:44:16 +02:00
Arkadiy Paronyan b1ab0d0cbf EVM optimization (#2487) 2016-10-06 11:14:05 +02:00
Tomasz Drwięga a9391f91f7 Increase size of transaction queue by default 2016-10-06 10:20:05 +02:00
Arkadiy Paronyan ecf098e9a4 Track dirty accounts in the state (#2461)
* State to track dirty accounts

* Removed clone_for_snapshot

* Renaming stuff

* Documentation and other minor fixes

* Replaced MaybeAccount with Option
2016-10-06 01:53:23 +02:00
Jaco Greeff 33abb47222 update registrar test with generic non-empty test (#2476)
* update registrar test with generic non-empty test

* updated test, length check + parsing
2016-10-05 19:44:09 +02:00
Nikolay Volf 7526b1d44b Derive IPC interface only when ipc feature is on (#2463)
* derive -> ipc

* accident repair

* conditional ipc deriving

* fix test
2016-10-05 19:42:57 +02:00
Robert Habermeier 8d7244c09f light client sync stubs 2016-10-05 15:35:31 +02:00
Robert Habermeier ed06572bd4 Light provider trait 2016-10-05 13:22:49 +02:00
Robert Habermeier e3c4695274 stub implementations of light client trait 2016-10-05 13:21:07 +02:00
Robert Habermeier 8a5576d133 balance rates of draining and importing 2016-10-05 12:10:28 +02:00
Robert Habermeier abbf3b3c58 verification-rate based thread scaling 2016-10-04 20:09:54 +02:00
Nikolay Volf 2b147616fd derive -> ipc 2016-10-04 19:20:16 +03:00
Tomasz Drwięga 48bb890045 Better EVM informant & Slow transactions warning (#2436)
* EVM informant. Slow transactions tracking

* Additional feature for tests
2016-10-03 23:29:46 +02:00
Robert Habermeier 2d28c703d6 reuse add_verifier instrumentation, rolling sample of 5 ticks 2016-10-03 20:39:52 +02:00
Robert Habermeier 5e382602dd fix logging accuracy 2016-10-03 20:09:57 +02:00
Robert Habermeier a7b5dff252 ethash unsafety cleanup 2016-10-03 19:47:07 +02:00
Robert Habermeier 2d907f3322 auto-adjust number of verification threads 2016-10-03 19:41:00 +02:00
Nikolay Volf e1d3b3fff8 Accounts bloom in master (#2426)
* bloom crate link

* database layout and outdated tests

* state db alterations

* v10 migration run

* using arc

* bloom migration

* migration fixes and mess

* fix tests
2016-10-03 12:02:43 +02:00
Marek Kotewicz 06fe768ac2 Polishing Actually enable fat db pr (#1974) (#2048)
* Actually enable fat db, and do RPCs for it.

* Implement HashDB traits for AccountDB.

* user defaults

* finished user defaults

* user defaults are network-dependent

* added tests for newly added functions, logger is initialized first

* dir cleanup in progress

* user_file is placed next to snapshots

* fixing requested change
2016-10-03 11:13:10 +02:00
Arkadiy Paronyan 0dcdaa7a2a Jumptable cache (#2427)
* Jumptable cache

* Updated registrar address
2016-10-02 18:45:36 +02:00
Jaco Greeff b1d8b84eb9 update Morden registry address (#2417) 2016-10-01 15:16:23 +02:00
Nikolay Volf 1029f8438c using arc (#2420) 2016-10-01 14:33:19 +02:00
Tomasz Drwięga 443eb19739 Fixing logs-receipt matching (#2403) 2016-09-30 11:14:30 +02:00
Tomasz Drwięga 01018b417a Fixing transaction queue (#2392) 2016-09-29 12:46:04 +02:00
Tomasz Drwięga 1c61d7c813 Fixing Delegate Call in JIT (#2378)
* Detecting DELEGATE_CALL in JIT

* Fixing evmjit tests
2016-09-28 23:33:12 +02:00
Tomasz Drwięga 424b46b428 Prioritizing re-imported transactions (#2372)
* Prioritizing re-imported transactions

* Fixing compilation on beta
2016-09-28 23:32:32 +02:00
Gav Wood bb96849620 Revert #2172, pretty much. (#2387)
* Revert #2172, pretty much.

* Tidy up whitespace.

[ci:skip]

* Force CI.
2016-09-28 23:31:59 +02:00
Gav Wood 948b614f40 Fix the traceAddress field in transaction traces. (#2373)
* Fix the traceAddress field in transaction traces.

* Add test

* Fix warning.

* Fix test

* Additional fix.

* Fix tests content.
2016-09-28 17:24:26 +02:00
Tomasz Drwięga baa2feaca6 Removing extras data from retracted blocks. (#2375)
* Removing extras data from retracted blocks.

* Adding a test case
2016-09-28 15:49:42 +02:00
Gav Wood 15a14a5f49 Expanse compatibility (#2369)
* Add support for Expanse.

* Fix build.

* Refactor to be able to alter the eth subprotocol name

* Fix JSON.

* Support exp hardfork.

* Fix exp json again.

* Fixed test

* Fix tests.
2016-09-28 14:21:59 +02:00
Robert Habermeier fb92a98451 Specify column cache sizes explicitly; default fallback of 2MB (#2358)
* allow specifying cache sizes for specific columns

* initialize client with correct cache size

* set cache size in client service

* default cache size for unspecified columns

* fix comment

* fix column selection logic

* fix migrations module
2016-09-27 18:16:32 +02:00
Arkadiy Paronyan ad63780b4d Canonical state cache (master) (#2311)
* State cache

* Reduced copying data between caches

Whitespace and optional symbols

* Reduced copying data between caches

Whitespace and optional symbols

* Set a limit on storage cache

* Style and docs
2016-09-27 18:02:11 +02:00
keorn 7e1d7148c7 block time in decimal 2016-09-27 16:06:13 +01:00
Robert Habermeier 9d4bee4922 make block queue into a more generic verification queue and fix block heap size calculation (#2095)
* move block queue to own module, a couple readability changes

* make block queue generic over verifiable data

also fixes heap size calculation

* make block queue into a more generic verification queue

* some module reoganization

* implement header queue

* clean up verification error messages
2016-09-27 16:50:24 +02:00
keorn 28cf91c7a5 remove mocknet stuff, clean up debug 2016-09-27 15:50:16 +01:00
keorn 0c69d4a1ce Merge remote-tracking branch 'parity/master' into auth-round
Conflicts:
	devtools/src/random_path.rs
2016-09-27 12:39:25 +02:00
Gav Wood 3fb3f1f54e Reorder transaction_by_hash to favour canon search (#2332)
* Reorder transaction_by_hash to favour canon search

* Fix build.

* Slightly cleaner function.

* Fix test.
2016-09-27 12:17:02 +02:00
keorn ec058cdb50 reseal on timeout 2016-09-27 12:12:18 +02:00
Arkadiy Paronyan bc4cbaac2b DIV optimization (#2327) 2016-09-27 11:27:11 +02:00
Marek Kotewicz 56eb97abbf user defaults (#2014)
* user defaults

* finished user defaults

* user defaults are network-dependent

* added tests for newly added functions, logger is initialized first

* dir cleanup in progress

* user_file is placed next to snapshots
2016-09-26 19:21:25 +02:00
Tomasz Drwięga 598e9cea85 Fixing jit feature compilation (#2310) 2016-09-26 18:38:54 +02:00
Robert Habermeier e26a16c70c use new commit mechanism in client 2016-09-26 17:27:48 +02:00
Tomasz Drwięga 97fcd60e56 saturating add
Conflicts:
	ethcore/src/miner/transaction_queue.rs
2016-09-23 20:59:41 +02:00
Gav Wood 06fc494d03 Remove crufty code 2016-09-23 20:53:37 +02:00
Gav Wood 5e7955b1f1 saturating not overflowing 2016-09-23 20:53:30 +02:00
Tomasz Drwięga efaef85565 Avoid penalizing legit transactions 2016-09-23 20:51:41 +02:00
Tomasz Drwięga 2874f464aa Penalize transactions with gas above gas limit
Conflicts:
	ethcore/src/miner/transaction_queue.rs
2016-09-23 20:49:02 +02:00
Tomasz Drwięga 62cbf9ce97 Improving txqueue logs 2016-09-23 20:30:12 +02:00
Tomasz Drwięga aae6d19df9 Separate path for ext code size (#2251)
* Separate path for code size

* Actually use it for EVM

* add extcodesize to TestExt
2016-09-22 19:58:42 +02:00
Robert Habermeier 723d837d05 Snapshot format changes (#2234)
Closes #2213
Omit transaction and receipt roots from abridged block.
No longer use RLP compression.

Make ordered_trie_root generic over an iterator to save an allocation.

Breaks snapshot format backwards compatibility (with other 1.4 snapshots -- it's already been broken with 1.3).

Documentation will need updating
2016-09-22 19:47:03 +02:00
Tomasz Drwięga 15488b3e40 Fixing output of eth_call and Bytes deserialization (#2230)
* Fixing eth_call to builtins

* Fixing bytes deserialization

* Removing comment
2016-09-22 14:50:00 +02:00
Gav Wood 07b5e9a5c7 Encryption, decryption and public key RPCs. (#1946)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.

* Remove unused use.

* Add encryption, decryption and public-key RPCs.

* Remove &
2016-09-22 14:48:22 +02:00
Robert Habermeier a100b9d09e Remove panickers from trie iterators (#2209)
* port trie iterators to use error handling

* use new trie iterators in snapshot

allows proper recovery from a premature periodic snapshot
2016-09-21 12:56:13 +02:00
Tomasz Drwięga 8c111da70b Limit for logs filter. (#2180)
* Limit for logs filter.

* Moving limit inside the filter object

* Fixing tests
2016-09-21 11:51:10 +01:00
Tomasz Drwięga 2e6684dae8 Various state copy optimizations (#2172)
* Avoid cloning clean stuff

* Don't clone state when closing/locking blocks

* handle errors in commit

* revert `close_and_lock` changes

* defer state root update until post state commit
2016-09-21 11:49:11 +01:00
keorn c57e3cefe4 sync check method 2016-09-21 10:29:44 +02:00
Tomasz Drwięga 0921dffd86 Fixing trait definition 2016-09-20 16:25:22 +02:00
keorn 44c4845d84 fix up step switching test 2016-09-19 18:40:25 +02:00
keorn d84f94975f add proposer step to seal 2016-09-19 18:00:39 +02:00
keorn 7f177f27d8 revert dummy_client changes 2016-09-19 14:52:43 +02:00
keorn 49fba0b548 Merge branch 'master' into auth-round
Conflicts:
	ethcore/src/miner/miner.rs
	sync/Cargo.toml
2016-09-19 14:35:44 +02:00
keorn ce3e8750c9 additional consensus test 2016-09-19 14:33:11 +02:00
Tomusdrw b6df3759c8 Breaking the line 2016-09-19 12:16:22 +02:00
keorn b31e732ebe temporary is_sealer check disable 2016-09-19 10:39:57 +02:00
keorn b144bd2b84 add tracing 2016-09-19 10:38:47 +02:00
Tomusdrw 9bf29a555a Fixing evm-debug 2016-09-19 01:51:59 +02:00
Tomasz Drwięga 7f7e74869c Bump clippy & Fix warnings (#2109)
* Bump clippy

* Fixing warnings
2016-09-16 23:03:26 +02:00
keorn 167cfd4caa Enable sealing if Engine provides internal sealing given author (#2084)
* enable internal sealing based on author

* add tests, keep track of engine sealing status

* method to check if default address is_sealer

* simplify constructors

* fix typo
2016-09-15 12:12:15 +02:00
keorn 3419549c16 revamp dummy_client to take accounts 2016-09-14 17:30:57 +02:00
keorn 44fe864826 new highway to miner, set_author 2016-09-14 17:30:09 +02:00
keorn d3ec8588c4 new constructor that takes AccountProvider 2016-09-14 17:29:35 +02:00
keorn bb59c2288e docs on authority spec 2016-09-14 17:28:57 +02:00
keorn c482b8ffb6 enable sealing only is authority 2016-09-14 17:28:15 +02:00
keorn a44e2b0497 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 14:38:47 +02:00
keorn 7c82a10ecc fix typo 2016-09-14 14:34:47 +02:00
keorn c6c951dd15 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 14:05:17 +02:00
keorn 68fd862671 simplify constructors 2016-09-14 13:56:28 +02:00
Tomasz Drwięga 9ed9857fba Logs limit & log_index bug (#2073)
* Limiting number of logs

* Test for logs

* Fixing logs ordering and indexing

* Fixing sort

* unwrap -> expect

* Revert "unwrap -> expect"

This reverts commit e99e6e77f37692fe568448e768aa72775de8d0cd.
2016-09-14 12:02:30 +02:00
keorn 28a088eea7 add client own_tx import through client 2016-09-14 11:22:43 +02:00
keorn bedbe6e65e update test spec loading 2016-09-14 11:20:22 +02:00
keorn ddb6fec171 add new test specs 2016-09-14 11:17:39 +02:00
keorn 7f05021075 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 10:59:33 +02:00
keorn 0880d4ad8f method to check if default address is_sealer 2016-09-14 10:49:44 +02:00
keorn 2bd82269e8 add tests, keep track of engine sealing status 2016-09-14 00:00:26 +02:00
keorn fef94205e3 enable internal sealing based on author 2016-09-13 19:59:34 +02:00
keorn 099468107e Merge remote-tracking branch 'parity/master' into auth-round 2016-09-13 16:01:19 +02:00
keorn da2f117aef new test_net holding Client 2016-09-13 15:58:32 +02:00
Tomasz Drwięga 325967cadb Fixing removal from gas price when moving future->current (#2076)
* Fixing removal from gas price when moving future->current

* unwrap -> expect
2016-09-13 15:41:38 +02:00
keorn 341e06481e Split internal sealing from work preparation (#2071)
* separate block preparation methods

* Split internal sealing from work sealing, add cli option

* replace cli with engine method, simplify

* More docs about sealing types. Bypass work in external txs.

* split requires_reseal, add test and new test miner
2016-09-13 15:09:07 +02:00
keorn eee6be1ce3 implement new predicate trait 2016-09-13 14:23:52 +02:00
keorn 6a33f8b369 state constructor used only in tests 2016-09-13 14:22:44 +02:00
keorn 67601327af make test helpers not test, add some docs 2016-09-13 14:21:12 +02:00
keorn 8b9e7c0ba5 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-13 12:57:52 +02:00
keorn e41b6c410f split requires_reseal, add test and new test miner 2016-09-13 12:52:14 +02:00
Robert Habermeier 83ddce011d ensure the target folder doesn't exist before renaming (#2074) 2016-09-13 10:33:03 +02:00