Commit Graph

1647 Commits

Author SHA1 Message Date
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
Nikolay Volf 7c5435d3bb fix to use relative socket path 2016-08-22 19:41:58 +03:00
Robert Habermeier 0e0cc20d84 keep track of first block in blockchain (#1937) 2016-08-18 22:01:57 +02:00
Nikolay Volf d7c184bd72 Merge pull request #1953 from ethcore/state_module
introduce ethcore/state module
2016-08-18 21:56:08 +04:00
Robert Habermeier 9adf77581c move column family constants into db module (#1955) 2016-08-18 18:24:49 +02:00
Robert Habermeier 8c9f7a3e64 fix up tests, remove dead code 2016-08-18 18:17:21 +02:00
Robert Habermeier eed7d006f1 Fix up tests, remove dead state-diff code 2016-08-18 18:13:32 +02:00
Robert Habermeier b5c64da612 file moving 2016-08-18 17:56:05 +02:00
Nikolay Volf d279794c32 remove unused imports (#1951) 2016-08-18 15:01:24 +02:00
Robert Habermeier 57dbdaada9 remove impossible panickers related to infallible db transaction (#1947) 2016-08-18 09:43:56 +02:00
Arkadiy Paronyan 108024e98d Cache address hash (#1943) 2016-08-18 09:42:46 +02:00
Gav Wood ccdf80f4dc Fix several RPCs (#1926)
* 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.
2016-08-17 19:25:02 +02:00
Tomasz Drwięga bcf6b0b7d8 Bump clippy, fix warnings (#1939)
* Bumping clippy

* Fixing warnings
2016-08-17 16:06:41 +02:00
Nikolay Volf 46f029e65c Use explicit global namespaces in codegen (#1928)
* ipc as a deault feature

* first part of purge

* second part of ns purge
2016-08-17 15:54:24 +02:00
Nikolay Volf e01ba60dd9 add drop with timeout (#1934) 2016-08-17 15:53:34 +02:00
Marek Kotewicz c39761c042 ethkey and ethstore use hash structures from bigint (#1851)
* 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

* fixed compiling
2016-08-15 15:09:00 +02:00
Gav Wood ca54b8e493 RPC for importing geth keys (#1916)
* Address book for local addresses.

* Simple disk-backed address book.

* Add test and keep file with keys.

* View and import Geth keys.

* Fix test.

* Fix up author info.

[ci:skip]
2016-08-11 18:31:28 +02:00
Gav Wood 286b67d54b Wallet rpcs (#1898)
* Add wallet RPCs.

* Add wordlist file.

* Add standard brain wallet tests.

* Allow import of JSON wallets.

* Address grumble.
2016-08-10 17:57:40 +02:00
Tomasz Drwięga a427208f79 Purging .derefs, fixing clippy warnings. (#1890)
* Fixing clippy warnings

* Purging derefs

* Simplifying engine derefs

* Simplifying more engine derefs
2016-08-10 16:29:40 +02:00
Nikolay Volf 8bc92dacee Merge pull request #1891 from ethcore/miner-log
Adding more details to miner log
2016-08-09 17:13:59 +03:00
Marek Kotewicz 3b6bc974f3 Merge pull request #1827 from ethcore/move_hash
moved hash.rs to bigint library
2016-08-09 14:57:57 +02:00
Marek Kotewicz 505a054d10 Merge pull request #1877 from ethcore/cache_manager_order
fixed cache_manager lock order
2016-08-09 14:12:58 +02:00
Tomasz Drwięga 73c19fd4b5 Fixing miner deadlock (#1885) 2016-08-09 11:45:07 +02:00
debris 974d537849 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-09 09:58:18 +02:00
Robert Habermeier 2f1ade8116 take snapshot at specified block and slightly better informants (#1873)
* prettier informant for snapshot creation

* allow taking snapshot at a given block

* minor tweaks

* elaborate on cli
2016-08-08 18:41:30 +02:00
Tomasz Drwięga 59b0f8c7a3 RPC errors & logs (#1845)
* Refactoring errors in RPC

* Updating jsonrpc-core

* Fixing code_at

* Avoid mentioning obvious segments in proof

[ci:skip]
2016-08-08 17:25:15 +02:00
Arkadiy Paronyan 6762447229 Use UntrustedRlp for block verification (#1872) 2016-08-08 16:56:35 +02:00
Robert Habermeier 9732da5101 replace cache manager with mutex; reduce lock hold times 2016-08-08 16:25:48 +02:00
debris c5a0024eeb fixed cache_manager lock order 2016-08-08 16:14:37 +02:00
Arkadiy Paronyan 35451e31d4 Update cache usage on commiting block info (#1871) 2016-08-08 13:47:00 +02:00
debris 8269887949 parse().unwrap() -> into() 2016-08-08 11:18:48 +02:00
Tomasz Drwięga 10b18db833 Validating u256->usize conversion 2016-08-08 10:26:28 +02:00
Tomasz Drwięga bdf6a5660e Fixing gas conversion 2016-08-08 09:59:00 +02:00
debris 88c5f555a9 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-06 00:03:07 +02:00
Robert Habermeier e72fc5398a miner and client take spec reference (#1853)
* miner and client take spec reference

* fix tests
2016-08-05 23:33:55 +02:00
Arkadiy Paronyan 2f52425387 Unlock account with timeout for geth compatibility (#1854)
* Unlock account with timeout for geth compatibility

* Fixed test
2016-08-05 23:33:14 +02:00
Robert Habermeier 76a7246369 Snapshot creation and restoration (#1679)
* to_rlp takes self by-reference

* clean up some derefs

* out-of-order insertion for blockchain

* implement block rebuilder without verification

* group block chunk header into struct

* block rebuilder does verification

* integrate snapshot service with client service; flesh out implementation more

* initial implementation of snapshot service

* remove snapshottaker trait

* snapshot writer trait with packed and loose implementations

* write chunks using "snapshotwriter" in service

* have snapshot taking use snapshotwriter

* implement snapshot readers

* back up client dbs when replacing

* use snapshot reader in snapshot service

* describe offset format

* use new get_db_path in parity, allow some errors in service

* blockchain formatting

* implement parity snapshot

* implement snapshot restore

* force blocks to be submitted in order

* fix bug loading block hashes in packed reader

* fix seal field loading

* fix uncle hash computation

* fix a few bugs

* store genesis state in db. reverse block chunk order in packed writer

* allow out-of-order import for blocks

* bring restoration types together

* only snapshot the last 30000 blocks

* restore into overlaydb instead of journaldb

* commit version to database

* use memorydbs and commit directly

* fix trie test compilation

* fix failing tests

* sha3_null_rlp, not H256::zero

* move overlaydb to ref_overlaydb, add new overlaydb without on-disk rc

* port archivedb to new overlaydb

* add deletion mode tests for overlaydb

* use new overlaydb, check state root at end

* share chain info between state and block snapshotting

* create blocks snapshot using blockchain directly

* allow snapshot from arbitrary block, remove panickers from snapshot creation

* begin test framework

* blockchain chunking test

* implement stateproducer::tick

* state snapshot test

* create block and state chunks concurrently, better restoration informant

* fix tests

* add deletion mode tests for overlaydb

* address comments

* more tests

* Fix up tests.

* remove a few printlns

* add a little more documentation to `commit`

* fix tests

* fix ref_overlaydb test names

* snapshot command skeleton

* revert ref_overlaydb renaming

* reimplement snapshot commands

* fix many errors

* everything but inject

* get ethcore compiling

* get snapshot tests passing again

* instrument snapshot commands again

* fix fallout from other changes, mark snapshots as experimental

* optimize injection patterns

* do two injections

* fix up tests

* take snapshots from 1000 blocks efore

* address minor comments

* fix a few io crate related errors

* clarify names about total difficulty

[ci skip]
2016-08-05 17:00:46 +02:00
debris 316c9093db Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-05 10:53:34 +02:00
Arkadiy Paronyan 05bfdc508e Split IO and network crates (#1828)
* Abort on panic

* Split IO and network crates

* Restore panic handler

* Fixed doc tests
2016-08-05 10:32:04 +02:00
debris df29fcff1a Merge branch 'split_hash' into move_hash 2016-08-05 09:56:36 +02:00
debris 1ed2de1d9b Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-05 09:30:01 +02:00
Nikolay Volf aa59aa439d Fix state not using "account_starting_nonce" (#1830)
* failng test

* use account_starting_nonce instead of zero

* simplier test

* jsons are getting closer

* incorrect test client and incorrect tests fix

* null_morden is using 0x0 starting nonce

* replaced json with the correct one

* superwhatever line
2016-08-04 18:17:39 +02:00
Tomasz Drwięga 25aabe6e52 Supporting blockid in eth_call and trace_call/trace_raw (#1837)
* Supporting blockid in eth_call and trace_call/trace_raw

* Nicer state diff handling

* Purging deref.deref
2016-08-04 18:17:21 +02:00
debris a1867a7ba6 bloomable trait 2016-08-04 15:38:16 +02:00
debris 24c7392500 removed redundant helper methods 2016-08-04 14:48:09 +02:00
debris efca92b766 Merge branch 'master' into move_hash 2016-08-04 14:22:16 +02:00
Marek Kotewicz ab079fd7bf Merge pull request #1833 from ethcore/trace-deadlock-fix
Fixing another deadlock in trace db
2016-08-04 10:36:45 +02:00
Marek Kotewicz dd60146c24 Merge pull request #1829 from ethcore/fix-vm-trace
Fix up the VM trace.
2016-08-04 10:36:20 +02:00
arkpar 8b3836a7d6 Another deadlock in trace db 2016-08-04 08:56:28 +02:00
debris 4051524462 improved naming 2016-08-04 08:52:31 +02:00
debris 03c3d16744 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-04 08:41:30 +02:00
Gav Wood 9bb9a84d40 Fix test. 2016-08-03 23:23:45 +02:00
Arkadiy Paronyan 7093651d70 More performance optimizations (#1814)
* Buffered DB

* Use identity hash for MemoryDB

* Various tweaks

* Delayed DB compression

* Reduce last_hashes cloning

* Keep state cache

* Updating tests

* Optimized to_big_int

* Fixing build with stable

* Safer code
2016-08-03 22:03:40 +02:00
Gav Wood 52355855fc Fix up the VM trace. 2016-08-03 20:07:30 +02:00
Tomasz Drwięga deceb5fd56 Bumping clippy & fixing warnings (#1823)
* Bumping clippy

* Fixing clippy warnings

* Cargo.lock (latest nightly?)
2016-08-03 19:01:48 +02:00
Robert Habermeier 11b65ce53d Remove (almost all) panickers from trie module (#1776)
* memorydb ub patch and other cleanup

* fix denote invocations

* move trie traits into trie module

* replace "denote" with shim

* triedb returns results and no longer panics

* fix warnings

* get ethcore compiling

* warn on trie errors in ethcore

* remove unsafety from node decoder

* restore broken denote behavior for this branch

* fix overlayrecent fallout

* fix triedb tests

* remove unwrap in state

* alter Trie::get to return Result<Option<_>>

* fix refcell error in require

* fix test warnings

* fix json tests

* whitespace

[ci:skip]

* Avoid unneeded match/indentation

* whitespace

* prettify map_or_else

* remove test warning
2016-08-03 18:35:48 +02:00
debris e8c451ac82 cleaning up hash reexports 2016-08-03 18:05:17 +02:00
Tomasz Drwięga c5ffb5af79 No block number in get work while in geth-compat mode. (#1821) 2016-08-03 15:31:00 +02:00
Arkadiy Paronyan 087ebcf94e Fixing cache update after reorg (#1816) 2016-08-03 10:35:04 +02:00
Gav Wood 9de579366a Miner tweaks (#1797)
* Mining fixes.

- Use queue to determine whether we're mining
- Kick stale hash rates

Fixes #1794
Fixes #1641

* Fix tests.

* Address grumbles.
2016-08-02 17:53:32 +01:00
Nikolay Volf 93b4b15c15 Merge pull request #1795 from ethcore/ipc-codegen-dry
DRYing build scripts
2016-08-02 15:25:54 +03:00
Nikolay Volf 21c65a99ea Merge pull request #1790 from ethcore/spec-code
Allow code from spec json
2016-08-01 21:41:46 +03:00
NikVolf d8a3137ce8 drying ethcore 2016-08-01 19:39:53 +02:00
Gav Wood de531c9a1e Minor simplification 2016-08-01 10:14:12 -07:00
Arkadiy Paronyan d891e80ad7 Commit best block after closing transaction (#1791) 2016-08-01 10:10:13 -07:00
keorn e99753d6e3 deserialized to pod_account conversion 2016-08-01 13:35:45 +02:00
Nikolay Volf f19b00b6ca Merge pull request #1779 from ethcore/dynamic_keys_pickup
dynamic keys pickup
2016-07-31 19:20:46 +03:00
Robert Habermeier 7c015f023f Merge pull request #1780 from ethcore/trace-deadlock-fix
Prevent deadlock on trace GC
2016-07-31 15:24:44 +02:00
Marek Kotewicz dbfc5cd31c fixed trace_transaction crash when block contained suicide (#1781) 2016-07-31 13:47:29 +02:00
arkpar b0b7a3aa39 Prevent deadlock on trace GC 2016-07-31 12:43:16 +02:00
debris 489722b83f dynamic keys pickup 2016-07-31 10:46:28 +02:00
Marek Kotewicz bcf8cd6dc0 cache manager and clearing tracing cache (#1769)
* removed configure_cache method

* generic cache_manager struct

* fixed #1743, tracing caches are cleared

* removed deadlocks in garbage_collect, implemented HeapSizeOf for traces

* trace cache config

* fixed carbage typo
2016-07-30 15:19:27 -07:00
keorn b672d51a74 Instant sealing engine (#1767)
* add an instant sealing engine

* add sealing engine tests

* rename to InstantSeal

* update name in json

* whitespace

[ci:skip]
2016-07-30 14:42:31 -07:00
Robert Habermeier 53f1d7b6ff fix state unsafety with a mostly-guaranteed handle (#1755)
* fix state unsafety with a mostly-guaranteed handle

* ensure_cached takes a closure directly
2016-07-30 06:45:16 -07:00
Tomasz Drwięga f56b89010d Gas for mem optimization (#1768)
* Optimizing mem_gas_cost calculations

* Memoizing current mem gas cost

* Optimizing jump destinations
2016-07-30 06:38:44 -07:00
Arkadiy Paronyan 57faa37623 Disable WAL (#1765)
* Disable WAL

* Make WAL optional

* Fix tests.

* Update cli.rs
2016-07-29 15:36:00 +02:00
Tomasz Drwięga 5d4925d582 Merge pull request #1764 from ethcore/log-tweak
Log tweak
2016-07-29 12:39:19 +02:00
Arkadiy Paronyan b37086722a Don't call update_sealing on importing own block (#1762) 2016-07-29 09:56:55 +02:00
Gav Wood 4304f4a2a4 Minor tweak to logging. Fix CLI help. 2016-07-29 00:22:46 +02:00
Tomasz Drwięga e4f0c0b215 Single DB (#1741)
* Consolidation migration

* Started db amalgamation

* Using client constants for columns

* Adding with_columns constructor

* Migrating to single db

* Fixing tests.

* test.sh without verbose

* Fixing warnings

* add migration tests that catch the bug

* make multiple migrations more robust

* add moved v9

* Merge branch 'noop-migrations' into single-db

* spurious line

* clean up migrations ordering

* update comment [ci skip]

* Bumping default number of max_open_files & re-ordering columns.

* fix merge

* fix ignored analysis tests

* Caching best block content

* Faster best_block_header

* Adding progress to v8 migration

* clean up warnings

* Separate hashes and bodies in the DB

* Separate hashes and bodies in the DB

* Fixed tests
2016-07-28 23:46:24 +02:00
Gav Wood 0934a283b2 Tweak format of log so it's not so verbose. (#1758) 2016-07-28 23:45:56 +02:00
Gav Wood 297d25dd65 Combine mining queue and enabled into single locked datum (#1749)
* Combine mining queue and enabled into single locked datum

Additional tracing.

* Fix bug uncovered by test.

* Fix typo

* Remove unneeded log initialisation in test.

[ci:skip]
2016-07-28 21:06:36 +02:00
keorn 11cb544c24 Collect consensus/null engines into a single module (#1754)
* collect consesnsus engine code into module

* move Engine to mod

* fix json test
2016-07-28 20:32:20 +02:00
Marek Kotewicz 9746b944f1 Stackoverflow fix (#1742)
* executive tracer builds flat traces without intermediate struct

* temporarilt commented out tests for traces

* fixed new way of building trace address

* fixed new way of building trace address

* updating state tests with flat tracing in progress

* fixed flat tracing tests

* fixed compiling ethcore-rpc with new flat traces

* removed warnings from ethcore module

* remove unused data structures
2016-07-28 20:31:29 +02:00
Marek Kotewicz f33cd60dc2 compaction profile used during migration, fixes #1750 (#1751)
* compaction profile used during migration, fixes #1750

* whitespace

[ci:skip]
2016-07-28 20:29:58 +02:00
Arkadiy Paronyan 6b1e722a6b Disconnect peers on a fork (#1738) 2016-07-27 21:38:22 +02:00
Gav Wood eaa41ea568 Add RPC & client call to replay a transaction. (#1734)
* Add RPC & client call to replay a transaction.

* Address grumbles
2016-07-27 21:34:32 +02:00
Gav Wood ccb62d3b55 Trace other types of calls (#1727)
* Trace through DELEGATECALL and CALLCODE

Add them to the JSON output and RLP database store.

* Fix tests.

* Fix all tests.

* Fix one more test.
2016-07-27 17:41:21 +02:00
Tomasz Drwięga edda0b2380 Fixing compilation on latest nightly (#1736) 2016-07-27 17:12:14 +02:00
keorn 02cf48681d Blocks and snapshot compression (#1687)
* new Compressible rlp trait

* new Compressible rlp trait

* make compressed rlp iterable

* make compressed rlp iterable

* invalid rlp slice swapper

* switch compress to swapper, add reverse swapper test case

* add basic account compression test

* add new rlp trait

* new Compressible rlp trait

* make compressed rlp iterable

* invalid rlp slice swapper

* invalid rlp slice swapper

* switch compress to swapper, add reverse swapper test case

* switch compress to swapper, add reverse swapper test case

* add account compress/ decompress test

* make compressor cleaner, use hashmaps for swapper

* improve compression tests

* add a DecompressingDecoder, change Decoder to take refernce

* separate rlp compression related stuff

* new Compressible rlp trait

* new Compressible rlp trait

* new Compressible rlp trait

* make compressed rlp iterable

* make compressed rlp iterable

* make compressed rlp iterable

* invalid rlp slice swapper

* invalid rlp slice swapper

* invalid rlp slice swapper

* switch compress to swapper, add reverse swapper test case

* switch compress to swapper, add reverse swapper test case

* switch compress to swapper, add reverse swapper test case

* add basic account compression test

* add new rlp trait

* add account compress/ decompress test

* make compressor cleaner, use hashmaps for swapper

* improve compression tests

* add a DecompressingDecoder, change Decoder to take refernce

* separate rlp compression related stuff

* DecompressingDecoder test

* initial compressing HashDB wrapper

* remove unused test

* change CompressedDB to struct wrapper with overlay

* simplify compressor

* failed RefCell attempt

* use denote to return reference

* compiled compresseddb

* compressdb test, add overlay emplace

* fix overlay reference count handling

* add immutable compresseddb, make account use hashdb

* simplify using trait objects

* enable hashdb for account

* initial state compression attempt

* wrap state db

* add tests for analyzing db

* add account predicate

* try to compress data fields as rlp too

* remove compression for storage trie

* add a compressing migration

* more compression stats tests

* fix migration import

* nested encoding compression test

* fix decompression, move db stats tests to rlpcompression

* added malformed rlp tests, cover a few edge cases

* new CompressingEncoder struct

* extend migrations to state

* first version working on the whole db

* clean up Compressible impl

* tests cleanup

* add a testing migration

* refactor deep compression using option, add simple compression

* put tests in a module

* fix compressed overlay loading

* simple compression for snapshots

* remove unused DecompressingDecoder

* add a general compressing migration

* add more common rlps to compress

* use static slices for swapper

* add precomputed hashes and invalid rlps

* make decoder private again

* cover more cases with tests

* style

* fix weird indentation

* remove possible panic in payload_info

* make prefix checking safe

* fix db existence check

* remove db dir from test

* pass usize by value [ci skip]

* Improve comment on panic removal.

* add common blocks db rlps

* add compression to blockchain db

* add blocks db migration

* fix the migrations

* remove state compression

* add a separate snapshot swapper

* ability to use different swappers and traversal

* update tests to new interface

* clean up code ordering

* update usage

* fix compilation

* remove unnecessary changes

* move methods to functions to reduce interface

* move test to module

* update common rlps to blocks db

* move tests to tests modules

* remove redundant &
2016-07-27 17:11:41 +02:00
Arkadiy Paronyan c65ee93542 Use std::sync::Condvar (#1732)
test
2016-07-27 11:39:24 +02:00
Tomasz Drwięga 3f41186b2e Fixing some clippy warnings (#1728)
* Fixing warnings

* Fixing unnecessary ref

* Removing unnecessary operation
2016-07-26 20:31:25 +02:00
Gav Wood 7cf807d1b4 Various improvements to tracing & diagnostics. (#1707)
* Various improvements to tracing & diagnostics.

- Manage possibility of `Account` not having code for `PodAccount`
- New RPC: `trace_sendRawTransaction`
- See raw transaction dump when inspecting over RPC

* Fix test

* Remove one of the dupe error messages

* Remove unneeded `&`s

* Reformat and extremely minor optimisation

* Minor optimisation

* Remove unneeded let

* Fix tests.

* Additional fix.

* Minor rename.

[ci:skip]

* Bowing to the pressure.
2016-07-26 16:48:50 +02:00
Arkadiy Paronyan 22a87b1203 Use transaction for writing blocks (#1718) 2016-07-26 00:25:49 +02:00
Gav Wood 856657e39a Log a chain-reorg. (#1715)
* Log a chain-reorg.

* Nicer output

* Use imported rather than enacted.

Enacted can include previously imported blocks which makes the
info incorrect.
2016-07-26 00:20:37 +02:00
Arkadiy Paronyan 898f1410a5 Rotate blockchain cache (#1709) 2016-07-25 18:17:45 +02:00
Marek Kotewicz 226fe8e0bb cli overhaul (#1600)
* cli commands

* cleanup parity/signer

* cleanup parity/signer

* remove redundant import of signer crate from main.rs

* cli cleanup in progress

* cli cleanup in progress

* moved few commonly used functions to separate methods with tests

* cleaning up blockchain import in progress

* cleaning up blockchain import in progress2

* cleaning up blockchain import in progress3

* tests for database compaction profile parsing

* cleaning up blockchain import in progress4

* cleaning up blockchain import in progress5

* blockchain import

* export blockchain in progress

* cleanup execute_export

* Configuration::to_duration cleaned up

* removed unused code, tests for to_duration

* cleanup Configuration::mode function

* parsing some of the cli params in params.rs

* rpc and signer are no longer optional

* move importing extern crates to main.rs file

* swipe dies from rpc module

* swipe dies from dapps

* finding deprecated

* several tests and fixes for parity

* parity cleanup in progress

* cleanup price parsing

* parity cleanup in progress

* swiped all dies

* parity cleanup in progress

* replace usages of from_str with parse() in parity/params.rs

* removed few more from_str

* split parity/params.rs into params and helpers

* removed wildcard import from configuration.rs

* cleanup directories/path creation

* cleaning up run cmd

* moved LoggerConfig

* defaults for cli params

* fixed indention in raise_fd_limit

* tests for rpc_apis

* tests for default ipc and rpc settings

* ipc socket

* cleanup in progress

* account service

* cleanup miner config

* BlockChain commands use Directiores structure now

* client_config

* network settings and dapps configuration

* removing warnings

* default logger config

* fixed client_path

* overhaul

* fixing export && import

* default export DataFormat

* import and export also upgrade db

* fixed export && import

* polishing pr

* polishing pr

* fixed custom bootnodes

* fixed daemonize on windows

* fixed setting up enable network

* finished pr

* fixed compiling on windows

* Fixed warning; windows build

* Better cache management

* Fixed tests on windows

* Fixed test

* Restored pruning method names

* --cache alias

* Fixed more tests

* Ensure default options actually listed as valid

[ci:skip]
2016-07-25 16:09:47 +02:00
Gav Wood 435ba186f8 Key files include timestamp in name. (#1700)
* Key files include timestamp in name.

Introduce timestamp into new key files; keep filename around, so
that we don't accidentally duplicate keys.

* Remove unnecessary clone

* Fix test code.

* Remove log module from ethstore
2016-07-25 10:45:45 +02:00
Arkadiy Paronyan f048839a4b Fixing warnings (#1705) 2016-07-25 10:21:02 +02:00
Gav Wood e734810293 Ethereum classic (#1706)
* Add Ethereum Classic support

(Rename homestead-dogmatic -> classic)

* Additional change needed.

* More needed changes.

* Separate database path for known forks.

* Address minor grumble.
2016-07-25 10:20:22 +02:00
Gav Wood 3f841cc578 Name and meta in accounts (#1695)
* Introduce persistent name() and meta() in SecretStore.

* Quick stash.

* Fix build.

* Add ethcore_set methods.

* Bug fixes for default values.

* Move to personal to ensure set API exposed.

* Add UUID to accounts info.

* Add tests.
2016-07-24 17:38:21 +02:00