Commit Graph

739 Commits

Author SHA1 Message Date
Tomasz Drwięga
4ea67ff91d Disable personal APIs by default (#2834) 2016-10-24 15:10:13 +02:00
Arkadiy Paronyan
44a560e964 CLI option to skip seal check when importing (#2842) 2016-10-24 15:09:13 +02:00
Tomasz Drwięga
e5f86c62ad Dapps port RPC (#2819) 2016-10-24 12:21:15 +02: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
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
keorn
aa52b04e31 Unify major syncing detection (#2699)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state
2016-10-19 18:35:39 +02:00
Tomasz Drwięga
5e67c89b4b Remove obsolete dapps and update security headers (#2694)
* Embed allowed only on signer port

* Adding security headers to dapps

* Adding security headers to signer

* Removing old dapps
2016-10-19 11:02:21 +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
Nikolay Volf
dba2d79b56 fix issues with no test dir present (#2659) 2016-10-18 16:44:40 +02: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
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
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
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
e343153f06 mixed merge and changes... 2016-10-11 18:37:31 +01:00
Robert Habermeier
ea68546616 Network-specific nodes file (#2569)
* network-specific nodes.json

* save nodes.json periodically

* squash warnings
2016-10-11 18:42:20 +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
Arkadiy Paronyan
d6cad29f49 Print backtrace on panic (#2535) 2016-10-08 17:33:38 +02: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
keorn
5f0ed9ddce Trim password from file (#2503)
* trim password

* indicate trimming in doc
2016-10-07 09:39:16 +02:00
Robert Habermeier
745a50dfdf configurable state cache size 2016-10-07 00:28:42 +02:00
Tomasz Drwięga
a9391f91f7 Increase size of transaction queue by default 2016-10-06 10:20:05 +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
svyatonik
0e8dda740f * PR 2464: human-readable error message + struct documentation 2016-10-05 00:13:07 +03:00
svyatonik
abc5db0f80 Remove redundant Box-ing. 2016-10-04 16:01:39 +03:00
svyatonik
cb0e0abc4a closes ethcore/parity#1918 2016-10-04 11:44:47 +03:00
Robert Habermeier
d205c0800c Merge pull request #2437 from ethcore/signer
Fixing Signer token RPC API
2016-10-03 20:34:55 +02:00
Arkadiy Paronyan
10d572e24f Fixed FatDB check (#2443) 2016-10-03 19:31:50 +02:00
Tomasz Drwięga
a0a13600ef Fixing Signer token RPC API 2016-10-03 15:01:10 +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
Nikolay Volf
1029f8438c using arc (#2420) 2016-10-01 14:33:19 +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
Nikolay Volf
6df1c3d157 Merge pull request #2334 from ethcore/fix-migrations
fix migration system for post-consolidation migrations, better errors
2016-09-28 19:54:34 +04: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
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
Robert Habermeier
3ebfbf3342 fix migration system, better errors 2016-09-26 18:08:04 +02:00
Gav Wood
84ba75f7cb Add hash as CLI function (#1995)
* Add hash as CLI function

* Use streaming SHA3.
2016-09-23 15:28:09 +02:00
Tomasz Drwięga
b7e2afd5c0 New signer token RPC & Initial signer connection without token. (#2096)
* Allowing signer to use initial token

* Generating new tokens via RPC

* Fixing RPC tests

* Fixing signer doctest

* whitespace

[ci:skip]

* whitespace

[ci:skip]
2016-09-21 11:44:49 +01:00
Tomasz Drwięga
7f7e74869c Bump clippy & Fix warnings (#2109)
* Bump clippy

* Fixing warnings
2016-09-16 23:03:26 +02:00
arkpar
0124f985c3 Added docs 2016-09-16 12:18:27 +02:00
arkpar
cc845c61d3 Import summary 2016-09-15 16:56:10 +02:00
Tomasz Drwięga
27d30fca22 Fixing tests 2016-09-12 14:18:33 +02:00
Tomasz Drwięga
d046a7d5d4 no-config flag 2016-09-12 09:01:47 +02:00
Tomasz Drwięga
db59d9a4ae Merge branch 'master' into config-files 2016-09-12 00:57:25 +02:00
Tomasz Drwięga
b7bf10d62d Adding nice error messages for invalid configs. 2016-09-12 00:36:38 +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
fd4361e284 import: keep informant going until finished (#2065) 2016-09-11 14:04:56 +02:00
Tomasz Drwięga
62de1c3891 Config files WiP 2016-09-10 22:14:15 +02:00
Robert Habermeier
53b22da1c1 Merge pull request #2046 from ethcore/ipc-tweaks-3
IPC tweaks
2016-09-09 17:31: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
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
Robert Habermeier
09bc675e6a address grumbles 2016-09-05 22:59:34 +02:00
debris
aa8b871e49 handling invalid spec jsons properly, additional tests, closes #1840 2016-09-05 17:41:34 +02:00
Robert Habermeier
f0ef5e6943 keep snapshot watcher alive 2016-09-05 14:25:56 +02:00
Tomasz Drwięga
e2377dd510 Merge branch 'master' into dapps-sync
Conflicts:
	dapps/src/handlers/fetch.rs
2016-09-05 08:43:07 +02:00
Nikolay Volf
2fc70902e7 further tweaking of ipc entities lifecycle 2016-09-03 11:31:29 +03:00
Robert Habermeier
a0541738ab disabling of periodic snapshots with the --no-periodic-snapshot flag 2016-09-02 20:30:06 +02:00
Robert Habermeier
1c450f616d register the watcher as a ChainNotify 2016-09-02 18:48:07 +02:00
Robert Habermeier
bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Robert Habermeier
74ffcff99c port parity itself 2016-09-01 14:55:07 +02:00
Nikolay Volf
3439c06a1c Synchronization tweaks for IPC services (#2028)
* using sequentally consistent checks

* making shutdown method synchronous

* redndant line
2016-09-01 12:04:19 +02:00
Tomasz Drwięga
89f1444c51 Displaying special page when syncing. 404 instead of redirection 2016-09-01 11:16:19 +02:00
Nikolay Volf
efc846bb3e Control service for IPC (#2013)
* hypervisor extension

* sorted with shutdown-wait

* hypervisor lifecycle alter
2016-08-30 14:05:02 +02:00
Marek Kotewicz
6da60afaba Merge pull request #2005 from ethcore/dapps-hosts
CLI for valid hosts for dapps server
2016-08-29 16:58:09 +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
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
Tomasz Drwięga
0baa8a53a5 dapps-hosts configuration 2016-08-25 09:00:05 +02:00
Nikolay Volf
d631162440 Stratum IPC service (#1959)
* boot binaries reorg & helpers

* stratum ipc service

* spaces in cli
2016-08-24 18:35:38 +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
Tomasz Drwięga
59ede63eda CLI for Signer interface (#1980)
* # This is a combination of 2 commits.
# The first commit's message is:

CLI to specify signer interface

# This is the 2nd commit message:

Fixing paths on windows

* CLI to specify signer interface
2016-08-23 16:53:24 +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
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
Chiu-Hsiang Hsu
869803f60e Fix open on FreeBSD 2016-08-23 13:53:27 +08:00
Nikolay Volf
7c5435d3bb fix to use relative socket path 2016-08-22 19:41:58 +03:00
Tomasz Drwięga
f69b3f8522 Create network-specific nodes files (#1970) 2016-08-21 11:23:47 +02:00
Nikolay Volf
34de330ed9 remove binaries from hypervisor (#1960) 2016-08-19 14:49:58 +02:00
Robert Habermeier
9adf77581c move column family constants into db module (#1955) 2016-08-18 18:24:49 +02:00
Tomasz Drwięga
bcf6b0b7d8 Bump clippy, fix warnings (#1939)
* Bumping clippy

* Fixing warnings
2016-08-17 16:06:41 +02:00
Arkadiy Paronyan
e2cf8a894f DB WAL size limit (#1935)
* Limit WAL size

* Check pruning by db modification date (#1924)
2016-08-17 15:55:26 +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
Tomasz Drwięga
f114a933a3 Peers RPC + UI displaying active/connected/max peers (#1915)
* Peers API

* Bumping Parity-UI

* Fixing tests
2016-08-11 17:19:20 +02:00
Nikolay Volf
588529e578 polling & connection timeouts (#1910) 2016-08-10 21:07:01 +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
4ae83f3004 Fix ipc compilation and add ipc feature to test targets (#1902)
* fix compilation and add it to the ci run

* no separator?

* use quotes and spaces
2016-08-10 13:06:24 +02:00
NikVolf
dcdd42fec4 fix regression with geth dir 2016-08-09 18:59:01 +03: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
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
keorn
b6f827e3c8 fix deprecated typo 2016-08-05 11:06:01 +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
5da24e5dc3 fixed parsing export params, fixes #1826 2016-08-04 09:22:54 +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
Tomasz Drwięga
40a304b177 Fixing account naming (#1810)
* Fixing account naming

* Using geth format for files. Avoid re-importing existing keys with different names.

* Adding expect for time format
2016-08-03 17:58:22 +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
Tomasz Drwięga
0c7ab34c32 Development mode for Signer UI (#1788)
* Development mode for Signer

* CLI option for signer-dev

* Renaming CLI option

* Make obvious that CLI option is insecure.

[ci:skip]

* Additional warning over security
2016-08-02 17:53:53 +01:00
Tomasz Drwięga
b165059327 Fixing unlock parsing (#1802) 2016-08-02 06:12:33 -07:00
Arkadiy Paronyan
9e5e57fdcd Fix block body migration (#1777) 2016-07-30 17:33:08 -07: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
arkpar
8c47240248 Min and Max peers setting 2016-07-29 17:30:02 +02: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
keorn
29e07755e9 add new line when printing start strings (#1766) 2016-07-29 13:35:27 +02:00
Gav Wood
24c6561bc1 Add test. 2016-07-29 10:48:05 +02:00
Gav Wood
a44ef73b33 Whitespacey lines are not invalid in reserved peers file.
Fixes #1622
2016-07-29 10:22:51 +02:00
Gav Wood
360ed1a1f1 Remove bad error message.
Closes #1759
2016-07-29 10:04:05 +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
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
Marek Kotewicz
80a7e4b964 handle keys deserialization errors, fixes #1592 (#1701)
* handle keys deserialization errors, fixes #1592

* warning on unsuccesfull geth accounts import
2016-07-28 20:26:07 +02:00
Arkadiy Paronyan
6b1e722a6b Disconnect peers on a fork (#1738) 2016-07-27 21:38:22 +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
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
Arkadiy Paronyan
6c15a47acc Fix importing blocks from a pipe file (#1724) 2016-07-26 10:44:01 +02:00
Nikolay Volf
f614a69929 moving to the single binary (#1710) 2016-07-26 00:21:08 +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
431ba5e260 Restore new block informant message (#1716) 2016-07-26 00:19:37 +02:00
Gav Wood
b220e07feb Fix broken internal names. (#1711) 2016-07-25 17:45:55 +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
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
9cdd2d265a Informant tidyup. (#1699)
* Informant tidyup.

Clean indent.
Don't skip skipping.

* Move string to right place

[ci:skip]
2016-07-24 17:38:29 +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
Arkadiy Paronyan
247495fba2 Prevent syncing to ancient blocks (#1693)
* Don't try to sync to ancient blocks

* Fixed test
2016-07-23 17:27:23 +02:00
Tomasz Drwięga
10bdfe6926 Disabling signer when in geth-compatibility mode (#1676) 2016-07-22 14:47:31 +02:00
Nikolay Volf
8ab56ea3d1 IPC (feature-gated) (#1654)
* moving ipc deriving to trait

* refactoring of the client

* all compiled

* proved all working

* warnings purged

* allow hypervisor to specify initialization payload in two ways

* using binary initialisation payload for sync

* some docs

* logger to separate crate

* log settings for sync bin

* forwarding logging arguments to the sync
2016-07-20 18:13:56 +02:00
Arkadiy Paronyan
b007770ba8 Moved syncing log out of the client (#1670) 2016-07-20 12:36:20 +02:00
Tomasz Drwięga
0cba70fba3 Host validation (again) (#1666)
* Revert "Revert "Validating Host headers in RPC requests" (#1663)"

This reverts commit 3cc3dbef66.

* Fixing binding on MacOS
2016-07-20 12:34:17 +02:00
gregg dourgarian
d67369a01c fix typos (#1644) 2016-07-19 20:42:23 +02:00
Gav Wood
3cc3dbef66 Revert "Validating Host headers in RPC requests" (#1663) 2016-07-19 13:15:25 +02:00
Tomasz Drwięga
6e79a36ef6 Validating Host headers in RPC requests (#1658)
* Validating Host headers in RPC requests

* Fixing convention [ci skip]

* Remove extra indent.

[ci:skip]
2016-07-19 12:53:58 +02:00
Tomasz Drwięga
038862fa9d Fixing clippy warnings (#1660) 2016-07-19 09:25:51 +02:00
Arkadiy Paronyan
4e447ccc68 More performance optimizations (#1649)
* Use tree index for DB

* Set uncles_hash, tx_root, receipts_root from verified block

* Use Filth instead of a bool

* Fix empty root check

* Flush block queue properly

* Expunge deref
2016-07-19 09:23:53 +02:00
NikVolf
028d6f6853 Merge branch 'master' into sync-svc 2016-07-18 15:20:57 +02:00
NikVolf
6a47fd176b remove import glob 2016-07-18 15:20:25 +02:00
Gav Wood
0d2f516ad7 Multi-mode logging. (#1643)
* Multi-mode logging.

Better for miners (they get immediate notification of new block).
Better for general use (less superfluous information shown).

* Remove comment.

[ci:skip]

* Minor string change

[ci:skip]

* Minor message tweak.

* Minor tweaks and indentation fix.
2016-07-17 23:00:57 +02:00
NikVolf
a44e95b0ec hashing secret on the sync side 2016-07-17 10:39:35 +02:00
NikVolf
9eed51ed20 comments - 2016-07-16 19:25:28 +02:00
NikVolf
c3ef5c10a3 got rid of the generic parameter for ipc interface 2016-07-16 19:24:45 +02:00
NikVolf
77bbab009e got rid of Arc<T> dispatch 2016-07-16 19:09:14 +02:00
NikVolf
8e26977693 review fixes 2016-07-16 18:51:06 +02:00
NikVolf
be25e930e5 Merge branch 'master' into sync-svc 2016-07-16 15:57:30 +02:00
NikVolf
4cb1c906b0 rpc dependencies relayout 2016-07-16 15:51:06 +02:00
NikVolf
98ddff1326 dependancies layout 2016-07-16 14:24:57 +02:00
Gav Wood
799c69c8d5 DAO hard-fork (#1483)
* Minor additions to allow resetting of code.

* Add test.

* Provisional DAO hard-fork proposal.

* Change to reflect latest HF spec.

* Include extradata restrictions and overrides.

* Introduce new tests.

* Update tests to new spec format.

* Allow JSON chain spec fields to be optional.

* Remove superfluous definitions. Fix overflow risk.

* Fix build.

* Add missing file.

* Remove old flag.

* Update to latest address set.

* Update tests and test spec to latest.

Change the mining default to release only on own transactions.
2016-07-16 13:02:56 +02:00
keorn
78007cf80b Die if the DB is newer than the one supported. (#1630)
* die on DB from the future

* use error type to print messages, print db path
2016-07-16 10:41:09 +02:00