Commit Graph

1647 Commits

Author SHA1 Message Date
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 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
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
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
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
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
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
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
keorn 1e20716bf9 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-12 12:50:50 +02:00
keorn 4bfdeea9e5 More docs about sealing types. Bypass work in external txs. 2016-09-12 12:46:03 +02:00
keorn d98f69cf58 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-12 11:36:16 +02:00
keorn d6e5637459 Merge branch 'master' into split-internal-seal 2016-09-12 11:11:42 +02:00
keorn c0201bd891 replace cli with engine method, simplify 2016-09-12 11:07:40 +02:00
Robert Habermeier edcc4080d5 fix failing master build: update tests to new init_restore signature. (#2069) 2016-09-11 20:17:05 +02:00
Robert Habermeier dcfd7eab6d Local snapshot restore (#2058)
* restore from local snapshot

* update status with chunks done

* rework local restore trigger
2016-09-11 14:05:59 +02:00
Robert Habermeier 835460a098 Merge pull request #2059 from ethcore/snap_service_tests
Add a few tests for the snapshot service
2016-09-11 13:27:57 +02:00
keorn cadca6403a Split internal sealing from work sealing, add cli option 2016-09-11 13:23:32 +02:00
keorn 4e75686ef8 separate block preparation methods 2016-09-10 14:41:41 +02:00
Robert Habermeier 53b22da1c1 Merge pull request #2046 from ethcore/ipc-tweaks-3
IPC tweaks
2016-09-09 17:31:59 +02:00
keorn 965dde8223 enable TestNet with custom spec 2016-09-09 11:49:03 +02:00
keorn fc3d01ec71 add tests, fixes, simplifications 2016-09-08 16:27:54 +02:00
Robert Habermeier ff17174cf1 also test abort_restore 2016-09-08 12:44:10 +02:00
keorn 747898d8e7 add new engine to spec 2016-09-08 12:28:59 +02:00
Robert Habermeier 756b7a3e67 test folder-deleting guards 2016-09-08 12:27:13 +02:00
Robert Habermeier c65a5c8e9c add restored_is_equivalent test 2016-09-08 12:14:53 +02:00
keorn 3a68fab066 new simple authority engine 2016-09-08 12:12:24 +02:00
Robert Habermeier b0f6bf2e78 remove client_db field from snapshot service 2016-09-07 19:38:59 +02:00
Robert Habermeier 57d5c35bb6 Use proper database configuration in snapshots. (#2052)
* use proper database config in snapshot service

* add snapshot path to parity directories struct

* fix RPC tests
2016-09-07 15:27:28 +02:00
Robert Habermeier 541b14a4ab periodic snapshot tweaks (#2054)
* periodic snapshot tweaks

* set SNAPSHOT_HISTORY to 500
2016-09-07 15:27:14 +02:00
debris ba806a6359 Merge branch 'master' of github.com:ethcore/parity into spec_load_errors 2016-09-07 10:24:58 +02:00
Robert Habermeier f054a7b8d5 more info on current periodic snapshot 2016-09-06 17:44:11 +02:00
Robert Habermeier 46581e173d check block queue size before taking periodic snapshot 2016-09-06 15:49:44 +02:00
Robert Habermeier 1e2cdedc9b merge with master 2016-09-06 15:41:56 +02:00
Arkadiy Paronyan 5c5d9c8ccd Snapshot sync (#2047)
* PV64 sync

* Tests

* Client DB restore

* Snapshot restoration over IPC

* Upating test

* Minor tweaks

* Upating test
2016-09-06 15:31:13 +02:00
debris aa8b871e49 handling invalid spec jsons properly, additional tests, closes #1840 2016-09-05 17:41:34 +02:00
Robert Habermeier 46b1224f7c Merge branch 'master' into periodic_snapshot 2016-09-05 14:50:43 +02:00
Robert Habermeier f0ef5e6943 keep snapshot watcher alive 2016-09-05 14:25:56 +02:00
Robert Habermeier 4e466f09db Add a few small snapshot tests (#2038)
* add manifest data test

* begin tests for io

* add unit tests for snapshot io

* service smoke test

* remove empty service module
2016-09-05 12:24:03 +02:00
Robert Habermeier 2bf235e226 use more mocking in tests 2016-09-05 12:17:21 +02:00
Marek Kotewicz da2c2e5fc6 facelift for traces, added errors (#2042)
* evm errors facelift

* facelift for traces, added errors with description

* additional tests for traces json serialization
2016-09-05 11:56:44 +02:00
Nikolay Volf 2fc70902e7 further tweaking of ipc entities lifecycle 2016-09-03 11:31:29 +03:00
Robert Habermeier d9eb87cae7 add guard for temporary directories 2016-09-02 19:00:20 +02:00
Robert Habermeier e3749b3bc4 implement snapshot watcher 2016-09-02 18:28:47 +02:00
Robert Habermeier 04dee54cb3 add take_snapshot to snapshot service 2016-09-02 16:15:25 +02:00
Robert Habermeier e0feaa9d4d Merge pull request #2034 from ethcore/rlp-crate
rlp as separate crate
2016-09-02 13:48:09 +02:00
Tomasz Drwięga cabb028c1c Propagating transactions to peers on timer. (#2035) 2016-09-01 19:07:58 +02:00
Robert Habermeier bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Robert Habermeier 5dd56aa070 port ethcore 2016-09-01 14:29:59 +02:00
Robert Habermeier eb7b62a61c move rlp to separate crate, port ethcore-util to it 2016-09-01 13:36:32 +02:00
Robert Habermeier 9a5668f802 get rid of populatable and bytesconvertable traits (#2019) 2016-09-01 12:23:31 +02:00
Robert Habermeier c8f3be2d93 Merge pull request #2025 from ethcore/triedbmut_double_insert
always process trie death row on commit, add more tracing
2016-09-01 11:19:22 +02:00
debris f5f4736e7c simplified iterator 2016-08-31 17:36:49 +02:00
debris 996b4b9dc0 fixed transaction addresses mapping, fixes #1971 2016-08-31 16:55:43 +02:00
Robert Habermeier c61da07516 always process trie death row on commit, add more tracing 2016-08-31 14:28:56 +02:00
Marek Kotewicz a88440ebae Merge pull request #2018 from ethcore/builtin_trait
builtin trait refactoring
2016-08-31 12:01:54 +02:00
Robert Habermeier a34bd389ce builtin trait refactoring 2016-08-30 13:55:37 +02:00
Nipunn Koorapati 4389742ca3 Make the block header struct's internals private (#2000)
* Make the block header struct's internals private

Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.

I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.

* Drop some unnecessary cloning by comparing references

* Fix compiler errors from callsites in tests.
2016-08-29 11:35:23 +02:00
Robert Habermeier 1c19a807d9 Take control of recovered snapshots, start restoration asynchronously (#2010)
* take control of given snapshot

* start snapshot restoration asynchronously,
2016-08-25 22:20:44 +02:00
Robert Habermeier 2aef81cf90 remove internal locking from DBTransaction (#2003) 2016-08-25 16:43:56 +02:00
Robert Habermeier b18407b9e3 Snapshot optimizations (#1991)
* apply RLP compression to abridged blocks

* add memorydb consolidate

* code hash optimization

* add warning to snapshot restoration CLI
2016-08-25 14:28:45 +02:00
Robert Habermeier d47361270a Merge pull request #1998 from ethcore/bloom_optimization
small blooms optimization
2016-08-24 20:39:39 +02:00
Marek Kotewicz f6b8dd0e78 protection from adding empty traces && assertion in traces db (#1994)
* protection from readding empty traces && assertion in traces db

* simplified assert
2016-08-24 18:35:53 +02:00
Marek Kotewicz b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

* new module - ethcrypto used by ethstore and ethcore-network

* fixed compiling

* fixed compiling

* fixed merge
2016-08-24 18:35:21 +02:00
Robert Habermeier 190e4db266 Trie query recording and AccountDB factory for no mangling (#1944)
* optionally use no mangling for accountdb

* add the recorder module

* get_recorded for tries, no virtual dispatch on readonly tries

* add recording test
2016-08-24 16:53:36 +02:00
debris b96d4eaddb bloom optimization 2016-08-24 13:59:50 +02:00
Tomasz Drwięga 124a5da75e Resolving URLs from contract (#1964)
* Fetching dapp from github.

* Unpacking dapp

* Removing hardcodes

* Proper Host validation

* Randomizing paths

* Splitting into files

* Serving donwloaded apps from different path

* Extracting URLHint to separate module

* Whitespace and docs

* Resolving from URLHint contract

* Fixing test

* Resolving githubhint url from registrar

* Proper redirections

* Fixing test

* fixing ethstore [ci skip]

* Correct version of registrar

* Removing superfluous Box
2016-08-23 19:28:21 +02:00
Nipunn Koorapati 2a550c2adf Add timeout for eth_getWork call (#1975) 2016-08-23 17:07:00 +02:00
Nikolay Volf f2be2aec68 Merge pull request #1983 from ethcore/ipc-rel-dir
Use relative path for IPC sockets
2016-08-23 16:36:23 +04:00
Marek Kotewicz d4777f9296 fixed #1933 (#1979) 2016-08-23 13:31:03 +02:00
Gav Wood 35ecb396b6 Market-orientated transaction pricing (#1963)
* Market-orientated transaction pricing

Avoid a strict gas-limit and let the market decide through using
a priority queue based around gas pricing for transactions. In
periods of low transaction volume, they'll be processed for a lower
fee.

* Fix tests, add/clarify documentation, fix some logic.

* Change default to reflect CLI.

* Specify type.

* Make test more precise.

* Fix doc test
2016-08-23 13:30:33 +02:00
Nikolay Volf 2d0a7c33bb address grumbles 2016-08-23 13:41:12 +03:00