Commit Graph

1322 Commits

Author SHA1 Message Date
Arkadiy Paronyan 3b54b49b0b Resilient warp sync (#5018) 2017-03-24 18:55:57 +01:00
Marek Kotewicz 044d070667 rlp deserialization refactor, 30% faster (#4901)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* moved rlp benches and rlp tests

* rlp deserialization refactor, 30% faster

* removed redundant comment, print

* fixed compiling parity with new rlp deserialization

* removed redundant double-space

* fixed failing test

* updated rlp docs, removed unused traits

* fixed rlp benchmarks

* replace usage of WriteBytesExt with ByteOrder

* removed unused, commented out code

* fixed merge conflict
2017-03-22 14:41:46 +01:00
Tomasz Drwięga 7e87e9e8ad Updating JSON-RPC crates (#4934)
* New version of jsonrpc.

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* Using dedicated branch for jsonrpc

* Bump
2017-03-22 07:02:14 +01:00
Marek Kotewicz d530cc86f3 splitting part of util into smaller crates (#4956)
* split path module from util

* moved RotatingLogger from util to logger crate

* fix tests

* fix tests

* use only one version of ansi_term crate
2017-03-22 06:23:40 +01:00
Marek Kotewicz a555686bcd rlp serialization refactor (#4873)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* removed redundant comment, print

* removed redundant double-space

* replace usage of WriteBytesExt with ByteOrder
2017-03-20 19:14:29 +01:00
Marek Kotewicz 8a67a0a80a removed redundant (and unused) FromJson trait (#4871) 2017-03-13 11:42:27 +01:00
Marek Kotewicz 3fe3353696 removed redundant FixedHash trait, fixes #4029 (#4866) 2017-03-11 22:58:15 +04:00
Arkadiy Paronyan bc9464fcbd Removed link directive (#4841) 2017-03-10 15:25:02 +01:00
Robert Habermeier 8a3b5c6332 Remote transaction execution (#4684)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future
2017-03-08 14:39:44 +01:00
Arkadiy Paronyan ae3f85bd5b v1.7 (#4730) 2017-03-07 17:29:27 +01:00
Robert Habermeier da3c13f0a2 split adding and dropping columns tests 2017-02-27 18:57:22 +01:00
Robert Habermeier 868624c6a9 return correct path for in-place migration 2017-02-26 19:30:54 +01:00
Robert Habermeier ac82a838b8 test case and handle in-place migration correctly 2017-02-26 19:22:51 +01:00
Robert Habermeier ed0a2567d8 docs 2017-02-26 19:11:19 +01:00
Robert Habermeier c2c699abb9 change migration to v11 to be faster 2017-02-26 18:41:40 +01:00
Robert Habermeier 3cc007b4d6 add and remove column families dynamically 2017-02-26 18:29:35 +01:00
Robert Habermeier d8b1cfe082 Merge branch 'master' into lightrpc 2017-02-20 18:01:29 +01:00
Robert Habermeier 62b340f2b9 Save pending local transactions in the database (#4566)
* Create new column family for local node info

* remove DBTransaction::new reliance on DB

* KeyValueDB trait

* InMemory KeyValueDB implementation

* journaldb generic over KVDB

* make most of `ethcore` generic over KVDB

* fix json tests compilation

* get all tests compiling

* implement local store (just for transactions)

* finish local store API, test

* put everything into place

* better test for skipping bad transactions

* fix warning

* update local store every 15 minutes

* remove superfluous `{}`s
2017-02-20 17:21:55 +01:00
Tomasz Drwięga 1949d44d0c Hash-fetch errors in case upstream returns non-200 (#4599) 2017-02-20 16:30:14 +01:00
Arkadiy Paronyan 0aad8a87ae Added pending transaction info to eth_getTransactionByHash (#4570)
* Return condition info for pending transactions

* Fixed warnings
2017-02-20 16:19:43 +01:00
Robert Habermeier 7a857a24ae use new histogram/corpus 2017-02-17 16:18:31 +01:00
Robert Habermeier 59315b0cb7 stats utility in its own crate 2017-02-17 15:16:28 +01:00
Arkadiy Paronyan c2540dc215 Check for matching session before deregistering (#4563) 2017-02-17 12:20:25 +01:00
Tomasz Drwięga f1e99ea2e4 Serde 0.9 (#4508)
* Porting json

* Dapps

* Rpc & Ethstore

* New ethabi

* Last bunch of fixes

* Fixing last test

* Removing build script

* Adding ethcore-ipc-tests back

* Fixing grumbles

* Fixing blockchain tests (inference regression?)
2017-02-13 18:38:47 +03:00
Robert Habermeier 6bf97de9d8 Merge branch 'master' into lightrpc 2017-02-10 02:44:12 +01:00
arkpar cdc09a6d8a Static link for snappy 2017-02-08 22:43:23 +01:00
Robert Habermeier 0246d5c734 Merge branch 'master' into lightrpc 2017-02-08 19:20:35 +01:00
keorn b0248cad0b sort corpus when hitting genesis (#4470) 2017-02-08 08:55:56 +01:00
Robert Habermeier 4172a5369c Include total difficulty in CHTs and hide implementation details from consumers (#4428)
* CHT builder and prover

* use CHT abstraction in provider

* hide CHT internals from header chain

* fix itertools conflict by updating all to 0.5

* cht proof checker, use it in on_demand
2017-02-06 17:21:35 +01:00
Robert Habermeier 484b93abdc Merge branch 'cht-td' into lightrpc 2017-02-04 17:14:47 +01:00
Robert Habermeier ca11138ce8 fix itertools conflict by updating all to 0.5 2017-02-04 17:07:39 +01:00
Robert Habermeier 02142e3a57 Merge branch 'master' into cht-td 2017-02-03 19:56:52 +01:00
Robert Habermeier e874df5155 hide CHT internals from header chain 2017-02-03 19:50:23 +01:00
Tomasz Drwięga 015425d447 Restarting fetch client every now and then (#4399) 2017-02-02 19:11:28 +01:00
Robert Habermeier 3b9ac7648c with_context on LightSync 2017-02-02 17:02:46 +01:00
Robert Habermeier 5b2b4717f6 fix earliest_era on empty db (#4316) 2017-01-30 17:20:41 +01:00
Arkadiy Paronyan 43cc4ea13d Fixed deadlock in external_url (#4354) 2017-01-30 17:08:21 +01:00
Gav Wood 8404edb656 Fix whitespace (#4299)
* Fix whitespace.

* Update copyright years/owner.

* Push release only for tags.
2017-01-25 18:51:41 +01:00
Robert Habermeier 203fd8a471 Memory-based pruning history size (#4114)
* prune states based on memory param

* pruning memory CLI and usage in sync

* return purged value from memorydb

* calculate memory used incrementally in overlayrecentdb

* refactor shared history pruning code in client

* Fixed usage alignment

* journal_size function for fast memory calculation
2017-01-20 13:25:53 +01:00
Robert Habermeier 3ff9324ec0 LES Peer Info (#4195)
* connected peers function for network service

* get LES peer info in sync API

* new peer info in RPC
2017-01-20 12:41:49 +01:00
Arkadiy Paronyan 8852a05301 Prevent duplicate incoming connections (#4180) 2017-01-17 16:02:29 +01:00
Arkadiy Paronyan cfb6dd2ea8 Optimized hash lookups (#4144)
* Optimize hash comparison

* Use libc
2017-01-13 08:52:23 +00:00
Tomasz Drwięga 41da1a0a79 New jsonrpc-core with futures and metadata support (#3859)
* Bumping serde & serde_json

* Super-initial usage of new jsonrpc

* Single event loop for jsonrpc

* Metadata

* Supporting metadata extraction for eth_accounts

* Fixing Cargo.lock

* Removing uneccessary clones

* Fixing unused import

* Unused import

* Fixing test
2017-01-11 20:02:27 +01:00
Tomasz Drwięga 21006da125 Get rid of unsafe code in ethkey, propagate incorrect Secret errors. (#4119)
* Implementing secret

* Fixing tests
2017-01-11 12:16:47 +01:00
Arkadiy Paronyan 148ea37687 v1.6 in master (#4113) 2017-01-10 15:41:59 +01:00
keorn be30c44179 Validator/authority contract (#3937)
* dir

* simple validator list

* stub validator contract

* make the engine hold Weak<Client> instead of IoChannel

* validator set factory

* register weak client with ValidatorContract

* check chain security

* add address array to generator

* register provider contract

* update validator set on notify

* add validator contract spec

* simple list test

* split update and contract test

* contract change

* use client in tendermint

* fix deadlock

* step duration in params

* adapt tendermint tests

* add storage fields to test spec

* constructor spec

* execute under wrong address

* create under correct address

* revert

* validator contract constructor

* move genesis block lookup

* add removal ability to contract

* validator contract adding validators

* fix basic authority

* validator changing test

* more docs

* update sync tests

* remove env_logger

* another env_logger

* cameltoe

* hold EngineClient instead of Client

* add a comment about lock scope
2017-01-10 12:23:59 +01:00
Arkadiy Paronyan d67ceec50c Update registration after every write (#4102) 2017-01-10 12:11:32 +01:00
Robert Habermeier 9c00eb4e8a Zero-alloc trie lookups (#3998)
* triedb cleanup

* factor out common portion of trie query

* allocate far fewer times in node decoding

* fix bench compilation

* introduce OwnedNode variant to make iter fast again

* generalize recorder trait to Query

* decode trie outputs cost-free in state

* test for passing closure as query
2017-01-06 16:18:45 +01:00
Robert Habermeier b4e713efdc return old trie values on insert and remove (#4053)
* return old trie values on insert and remove

* fix json tests
2017-01-05 21:15:43 +01:00
Tomasz Drwięga 8d1a91b3b8 Removing orphaned Cargo.toml 2017-01-04 12:36:37 +01:00
Robert Habermeier 4101396fc4 remove node journal: dead code 2016-12-29 11:06:00 +01:00
Tomasz Drwięga 3067a8de3e Additional fetch tests (#3983)
* First bunch of tests

* Dapps zip tests
2016-12-28 12:45:25 +00:00
Tomasz Drwięga bc3dacc952 Fetch tests (first batch) (#3977)
* Customizable fetch

* Some basic Fetch tests
2016-12-27 15:38:55 +00:00
Robert Habermeier 80eae8cc49 remove some old (unused/duplicate) files (#3975) 2016-12-27 12:41:22 +00:00
Robert Habermeier 8125b5690c Port `try` macro to new `?` operator. (#3962)
* initial untry sweep

* restore try in ipc codegen, fix inference

* change a few missed try instances
2016-12-27 12:53:56 +01:00
Tomasz Drwięga c7c309d152 Web Based Dapps (#3956)
* Dapps web

Conflicts:
	dapps/src/apps/fetcher.rs
	dapps/src/handlers/fetch.rs

* Rewriting fetch

* Parity-wide fetch service

* Obey the limits and support cancellation.

* Removing temporary files.

* Actually use Fetch for dapps

* Re-implementing file fetching to avoid temporary files.

* Serde to 0.8.19

* Fixing content & dapps fetch

* Serving web content and injecting scripts

* Don't wait for old content, start a new download

* Supporting timeouts and query

* Simple GUI for the browser

* Proxy tokens validation

* Recovering from invalid web-based requests

* Remember last visisted URL

* Removing unused variables

* Addressing review comments

* Setting default account in web3

* Adding WebBrowser dapp to the list

* Actually prune old entries when generating new token
2016-12-27 10:15:02 +00:00
Tomasz Drwięga 6251289b85 Rising the limit for fetch (#3964) 2016-12-23 17:23:31 +01:00
Nikolay Volf e7ca4445e2 Bring integer arithmetic up to crates.io (#3943)
* split initial

* decouple crate

* fix tests compilation

* fix rlp tests
2016-12-23 16:53:06 +01:00
Tomasz Drwięga f0387c33c6 Global Fetch Service (#3915)
* Dapps web

Conflicts:
	dapps/src/apps/fetcher.rs
	dapps/src/handlers/fetch.rs

* Rewriting fetch

* Parity-wide fetch service

* Obey the limits and support cancellation.

* Removing temporary files.

* Actually use Fetch for dapps

* Re-implementing file fetching to avoid temporary files.

* Serde to 0.8.19

* Fixing content & dapps fetch
2016-12-22 18:26:39 +01:00
Paul Peregud b444d23b3a code example: do start before register_protocol (#3947) 2016-12-22 16:15:26 +01:00
Gav Wood b418cb8da3
Merge remote-tracking branch 'origin/master' into fix-win-ci 2016-12-17 15:10:17 +01:00
Gav Wood b2b3a0eb34
Final fixups for updater
- Wire up platforms to match those of CI.
- Introduce "final" feature to tag version with "nightly".
2016-12-17 14:36:30 +01:00
Arkadiy Paronyan 4c0741e568 Fixed windows stub signature 2016-12-16 22:26:12 +01:00
Gav Wood 14e4fefbcf
Fix updater permissions and refactor existing code. 2016-12-16 18:17:15 +01:00
Jaco Greeff 054a6a9daf Merge branch 'master' into check-updates
# Conflicts:
#	.gitlab-ci.yml
#	js/webpack/dev.server.js
2016-12-15 13:52:28 +01:00
keorn fa504e510f Merge branch 'master' into auth-bft 2016-12-12 21:28:46 +01:00
Gav Wood ab4d666681
Merge remote-tracking branch 'origin/master' into check-updates 2016-12-12 16:35:11 +01:00
Gav Wood c0a2d5c8f5 Merge pull request #3796 from ethcore/tx-broadcast
Avoid broadcasting transactions to peers that send them
2016-12-12 04:13:56 +01:00
Gav Wood d8ad09b654
Make updater an IPC module. 2016-12-11 22:47:43 +01:00
Gav Wood 94f5501c61
authors & homepage => Parity 2016-12-11 19:43:58 +01:00
Gav Wood 58b72c521d
Rename ethcore -> parity in licenses. 2016-12-11 19:31:31 +01:00
Gav Wood 17cc2be4b5
Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
Gav Wood 10b0898bdf
Crate tidyups.
- Move Updater into its own crate.
- Change ethcore -> parity in authors, homepages and licenses.
2016-12-11 19:14:42 +01:00
Tomasz Drwięga b56f12adc6 Merge branch 'master' into tx-broadcast
Conflicts:
	ethcore/light/src/net/context.rs
	ethcore/light/src/net/tests/mod.rs
2016-12-11 17:31:56 +01:00
arkpar c777362d02 Sync channel for consensus test 2016-12-11 12:32:01 +01:00
Gav Wood 0a494962e4
Merge remote-tracking branch 'origin/master' into check-updates 2016-12-11 02:13:52 +01:00
Gav Wood fa30dfd4b9
Refactor into system service, add exe redirect. 2016-12-10 23:58:39 +01:00
Tomasz Drwięga 1f9adc8622 Merge branch 'master' into txqueue-gc
Conflicts:
	ethcore/src/miner/miner.rs
2016-12-10 17:00:29 +01:00
Tomasz Drwięga aaf6da4c00 Returning persistent node id 2016-12-10 16:55:29 +01:00
arkpar 02c788a403 Network connectivity fixes 2016-12-10 14:20:34 +01:00
Gav Wood 316c25d9f8
Merge remote-tracking branch 'origin/master' into check-updates 2016-12-10 14:08:41 +01:00
Robert Habermeier d427d60156 Merge pull request #3776 from ethcore/p2p-event-ordering
network: process packets only after connection handler finishes
2016-12-09 23:00:59 +01:00
Robert Habermeier b772901d77 network: process packets only after connection handler finishes 2016-12-09 21:17:05 +01:00
Gav Wood 46af3d18da
Merge remote-tracking branch 'origin/master' into check-updates 2016-12-09 20:45:15 +01:00
Tomasz Drwięga 5d054f08c3 Clearing old transactions 2016-12-09 15:05:03 +01:00
arkpar 364dd9dda4 Make stop const 2016-12-09 13:25:02 +01:00
arkpar 22a63f6fd3 Added IO Service explicit stop 2016-12-09 11:45:16 +01:00
Gav Wood 8903384840
Merge branch 'master' into check-updates 2016-12-07 19:19:44 +01:00
Gav Wood 1f0a02b638 Merge pull request #3633 from ethcore/fix-tx-rpc
Fix up the transaction JSON serialisation for RPC.
2016-12-07 14:34:51 +01:00
Robert Habermeier 085b8ad553 Merge pull request #3527 from ethcore/client-provider
LES Part 2
2016-12-07 09:31:50 +01:00
Gav Wood 5e1fdc4b11
Merge remote-tracking branch 'origin/master' into fix-tx-rpc 2016-12-05 10:44:19 -08:00
NikVolf 42fc770d30 use crates.io crate 2016-12-05 16:25:03 +03:00
Gav Wood 90a20a217f
Merge branch 'master' into check-updates 2016-12-04 09:01:50 -08:00
Robert Habermeier 6e1a1f9dec Merge branch 'master' into client-provider 2016-12-02 10:06:09 +01:00
Gav Wood d3e684698a
Merge remote-tracking branch 'origin/master' into fix-tx-rpc 2016-11-30 17:15:05 -08:00
Gav Wood d525a6d7f0 Merge pull request #3654 from ethcore/clippy-bump
Bumping clippy
2016-11-29 18:00:13 +01:00
Gav Wood d58905ae13 fix comment 2016-11-29 17:59:17 +01:00
Gav Wood 436016ef02
Introduce to_hex() utility in bigint. Fix tests. 2016-11-29 13:46:06 +01:00
Tomasz Drwięga 64b1b898f1 Fixing compilation on stable 2016-11-28 17:43:38 +01:00
Tomasz Drwięga 2b3d100de2 Fixing some clippy warnings 2016-11-28 15:54:22 +01:00
Tomasz Drwięga e1e7886918 Bumping clippy 2016-11-28 12:23:06 +01:00
arkpar c7b359fcee Style 2016-11-28 01:37:25 +01:00
arkpar 3aceac60de Use sha3 for fat key 2016-11-28 01:37:24 +01:00
arkpar b0555fbe7c State export 2016-11-28 01:37:24 +01:00
arkpar 8b3cdc513b Seekable iterator 2016-11-28 01:37:24 +01:00
Gav Wood 8cddf9976a
Better information. 2016-11-25 15:43:49 +01:00
Gav Wood 90b5d1c62d
Merge remote-tracking branch 'origin/master' into check-updates 2016-11-23 20:13:47 +01:00
arkpar 4e9c690640 Use patched MIO 2016-11-23 19:08:40 +01:00
Gav Wood 45dead9d49
Naming consistency and make Updater improvements.
- ID -> Id (consistency with rust libs)
2016-11-22 10:24:22 +01:00
Robert Habermeier 06f5bf809f Merge branch 'master' into client-provider 2016-11-21 12:19:11 +01:00
Gav Wood 601e0fb0fd
Merge remote-tracking branch 'origin/master' into check-updates 2016-11-21 11:43:29 +01:00
Tomasz Drwięga cc8a9d410b Adding fetch API to the crate 2016-11-20 18:44:23 +01:00
Robert Habermeier f1c665081a Merge branch 'master' into client-provider 2016-11-18 16:07:50 +01:00
Gav Wood 28aabcdb6c
Merge branch 'master' into check-updates 2016-11-18 11:45:04 +08:00
Robert Habermeier abf39fde0a implement provider for client 2016-11-15 14:53:30 +01:00
keorn ae5ae765a6 Merge branch 'master' into auth-round 2016-11-14 18:04:44 +00:00
Tomasz Drwięga 9f002a8a94 Fixing benches 2016-11-14 13:29:49 +01:00
keorn 501f6d3f49 Merge branch 'master' into auth-round 2016-11-14 10:08:14 +00:00
Gav Wood 4bb4ed9551
Initial checking. 2016-11-13 15:52:33 +01:00
Arkadiy Paronyan 67fa58db14 Optimize memory footprint (#3376) 2016-11-12 12:07:02 +01:00
Robert Habermeier 3854b8a689 LES Part 1 (#3322)
* stub implementations of light client trait

* Light provider trait

* light client sync stubs

* LES boilerplate

* stub implementation of provider for client

* skeleton and request traits

* request definitions

* new_list -> begin_list

* handle unknown packet

* revise light implementation strategy

* make verification module public

* Move all light client work to own crate

* experiment with answering requests

* buffer flow scaffolding

* remove LESv2 requests

* buffer flow basics, implement cost table

* begin status module

* implement handshake parsing and creation

* implement announcement serialization

* errors, punishment, and handshake

* handle announcements

* making announcements, clean up warnings

* allow dead code temporarily
2016-11-10 18:30:17 +01:00
keorn 49f2a72d5d Merge branch 'master' into auth-round 2016-11-09 10:35:00 +00:00
Arkadiy Paronyan f1e61c87b4 Fixed IO service shutdown (#3286) 2016-11-08 21:07:18 +01:00
arkpar 8cad185a57 Set version to unstable 2016-11-07 12:10:29 +01:00
Arkadiy Paronyan d37f4cc82f v1.5 (#3195) 2016-11-04 17:27:11 +01:00
keorn 255ec0c139 Merge branch 'master' into auth-round 2016-11-04 11:35:17 +00:00
Tomasz Drwięga 7ff73a9533 Exposing v,r,s from transaction signature in RPC (#3172) 2016-11-04 12:05:10 +01:00
Arkadiy Paronyan e8b2635545 Version=beta (#3157) 2016-11-04 00:24:36 +01:00
keorn 0c2cfc9b6e Fix histogram (#3150)
* fix histogram

* remove outdated comment
2016-11-03 21:15:27 +01:00
keorn 12125dcfee Merge branch 'master' into auth-round 2016-11-03 16:51:38 +00:00
Arkadiy Paronyan 3413989c8a Fixed peer ping timeout (#3137) 2016-11-03 16:12:25 +01:00
Gav Wood f9a389c4b6 Minor typo fixed. (#3110) 2016-11-03 08:22:35 +01:00
keorn 03c9760de2 Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet 2016-11-02 13:01:31 +00:00
keorn a33e2f2e0d fix deadlock after merge 2016-11-01 17:52:52 +00:00
Robert Habermeier 19d5f93745 Merge pull request #3020 from ethcore/fix-old-migrations
apply post-consolidation migrations after consolidating
2016-11-01 14:32:23 +01:00
Arkadiy Paronyan 2e70abdc40 Sweep panickers from IO and network (#3018)
* Sweep panickers from IO and network

* Typo and logging
2016-10-31 19:58:47 +01:00
Robert Habermeier 5d41d38dff open column families after reparing db corruption (#3017) 2016-10-31 18:21:44 +01:00
Robert Habermeier 0139dfcc39 apply post-consolidation migrations after consolidating 2016-10-31 16:18:20 +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
Arkadiy Paronyan 568a18d8bd Prevent connecting to self (#2997) 2016-10-31 12:54:50 +01:00
keorn 37ca1fa497 Merge remote-tracking branch 'parity/master' 2016-10-30 20:45:28 +00:00
Arkadiy Paronyan 6931878ff1 Networking and syncing tweaks (#2990)
* Reduce periodic snapshot delay

* Prevent connecting to peers over the min_peers limit

* Smaller block requests for slower connections
2016-10-30 15:39:36 +01:00
Arkadiy Paronyan bccc56b6b0 mio version bump (#2982) 2016-10-30 09:56:34 +01:00
arkpar ffb9cc7b18 Fixed build 2016-10-29 20:41:07 +02:00
arkpar fca545ce98 Removed junk file 2016-10-29 17:59:27 +02:00
Arkadiy Paronyan 99d6d87e78 Discovery performance optimization (#2972) 2016-10-29 17:38:34 +02:00
Tomasz Drwięga f17cad9dff Fixing clippy warnings 2 (#2961) 2016-10-29 13:08:49 +02:00
keorn 63cc5c0e60 Merge remote-tracking branch 'parity/master' 2016-10-28 17:52:48 +01: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
arkpar 6978042c16 Packet id tracing 2016-10-27 16:20:11 +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 4ee669b77e Merge remote-tracking branch 'parity/master' 2016-10-26 16:53:30 +01:00
Arkadiy Paronyan 5b978be034 Get rid of MemoryDB denote (#2881) 2016-10-26 13:53:47 +02:00
Robert Habermeier 33748c2046 Sweep some more panics (#2848)
* purge unwraps from ethcrypto, ethstore

* sweep panics from util
2016-10-25 22:34:52 +02:00
Arkadiy Paronyan 135d5d0e4c Snapshot fixes and optimizations (#2863) 2016-10-25 18:40:01 +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
Arkadiy Paronyan edbd667696 Prevent database corruption on OOM (#2832)
* Prevent database corruption on OOM

* Renamed write_flushing
2016-10-24 18:32:06 +02:00
Arkadiy Paronyan 1a5bae8ef1 Extended network options (#2845)
* More network configuration options

* Filter UDP requests

* Fixed tests

* Fixed test warning
2016-10-24 18:25:27 +02:00
Arkadiy Paronyan 9ec091e0cf Move snapshot sync to a subprotocol (#2820) 2016-10-24 16:24:35 +02:00
Robert Habermeier 7bd37e3972 flush DB changes on drop (#2795) 2016-10-22 14:22:34 +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
Tomasz Drwięga d3ae463a75 Using SipHasher from crates.io 2016-10-21 11:57:30 +02:00
Tomasz Drwięga 5aadda95c3 Using DefaultHasher instead of SipHasher 2016-10-21 11:26:29 +02:00
Tomasz Drwięga 0017a43364 Making Trie.iter non-recursive (#2733) 2016-10-20 14:49:44 +02:00
Arkadiy Paronyan 906dcd7bfe Block import optimization (#2748)
* Block import optimization

* whitespace

[ci:none]
2016-10-20 14:49:12 +02:00
Tomasz Drwięga cd4e21e1b4 Fixing small files fetching (#2742)
* Fixing small files fetching

* Fixing a case where tranfer encoding is not chunked
2016-10-20 12:57:48 +02:00
Robert Habermeier 146cefdb32 bump parking_lot to 0.3.x series (#2702) 2016-10-19 18:35:56 +02:00
Arkadiy Paronyan 487dfb0208 Snapshot sync part 2 (#2098)
* Split block downloader into a module

* Snapshot sync progress

* Warp sync CLI option

* Increased snapshot chunk and ping timeouts

* Fixed an issue with delayed writes

* Updated bootnodes

* Don't run pending IO tasks on shutdown

* Optional first_block; removed insert_snapshot_block

* Fixing expect calls

* Fixed stalled sync

* style and docs

* Update block_sync.rs

[ci:skip]
2016-10-18 18:16:00 +02:00
Nikolay Volf dba2d79b56 fix issues with no test dir present (#2659) 2016-10-18 16:44:40 +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 835cd13c0e Database performance tweaks (#2619) 2016-10-14 15:44:11 +03:00
Robert Habermeier 92f7f46fd3 Merge branch 'master' into journaldb_commit 2016-10-13 13:02:53 +02:00
Svyatoslav Nikolsky c9ce25c8f3 Added peers details to ethcore_netPeers RPC (#2580)
* added peers details to ethcore_netPeers RPC

* fixed build (traits autoimplemented)

* - documentation fixes
- spaces -> tabs
- Rust-way Option's handling

* prepare for new protocols in ethcore_netPeers

* commas & documentation
2016-10-12 20:18:59 +02: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
Robert Habermeier 5e22d23994 update bigint crate to 0.1.1 2016-10-11 12:53:50 +02:00
Arkadiy Paronyan 533af43313 Fixed overflow panic in handshake_panic (#2495) 2016-10-07 10:34:06 +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
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
NikVolf 18630496d5 asterisk space 2016-09-30 21:02:16 +03:00
NikVolf fa050246af removed redundant memcopy 2016-09-30 20:43:57 +03:00
NikVolf 59c0551ff4 separate mod for tests 2016-09-29 13:39:13 +03:00
NikVolf b477ca17fe bloom filter crate 2016-09-29 13:19:39 +03: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
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
Tomasz Drwięga d7bbc5cc3f Hash Content RPC method (#2355)
* Moving file fetching to separate crate.

* ethcore_hashContent

* Tests running on mocked fetch.

* Limiting size of downloadable assets
2016-09-27 16:27:06 +02:00
keorn 5fac941738 Merge remote-tracking branch 'parity/master' 2016-09-27 12:14:40 +02:00
Robert Habermeier b8b3f066c4 add a test 2016-09-26 18:25:11 +02:00
Robert Habermeier 3ebfbf3342 fix migration system, better errors 2016-09-26 18:08:04 +02:00
Robert Habermeier 238b4962f0 split journaldb commit into two functions: journal_under and mark_canonical 2016-09-26 17:14:44 +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
Arkadiy Paronyan 0688716af6 Handle RLP to string UTF-8 decoding errors (#2217) 2016-09-21 12:59:46 +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
keorn 551b5d7b6c Merge remote-tracking branch 'parity/master' 2016-09-19 14:33: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 bdba4230aa Merge remote-tracking branch 'parity/master' 2016-09-13 16:01:51 +02:00
Robert Habermeier 42a8ea0002 prepare bigint for crates.io 2016-09-13 15:27:18 +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
keorn c31eab53ea add non renewing timer 2016-09-08 10:36:19 +02:00
debris ba806a6359 Merge branch 'master' of github.com:ethcore/parity into spec_load_errors 2016-09-07 10:24:58 +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
Tomasz Drwięga 59f18ab958 Fetching content from HTTPS using `rustls` (#2024)
* Fetching https

* Fetching dispatcher (HTTP, HTTPS)

* Fetching from github

* Chunked encoding parser

* Abort support

* Fixing tests and review comments

* Cargo.lock order [ci skip]

* Relaxed -> SeqCst
2016-09-03 01:34:32 +02:00
Robert Habermeier bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Robert Habermeier d763664d16 port network, sync, rpc 2016-09-01 14:49:12 +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 ca03cfa58a Merge pull request #2016 from ethcore/archivedb-assert
Disable ArchiveDB counter check
2016-09-01 11:50:48 +02:00
Robert Habermeier c61da07516 always process trie death row on commit, add more tracing 2016-08-31 14:28:56 +02:00
arkpar 4394c31a21 Disabled counter check 2016-08-29 12:07:49 +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
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
Arkadiy Paronyan f07a1e6baf Fixed neighbours collection (#1996) 2016-08-24 17:00:14 +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
Tomasz Drwięga 33e0a234f2 Validating sha3 of a dapp bundle (#1993)
* Validating sha3 of a file

* sha3 in utils

* Removing devtools
2016-08-24 16:53:07 +02:00
Tomasz Drwięga f4826d1b2a Bump clippy (#1982) 2016-08-23 10:10:19 +02:00
Tomasz Drwięga f69b3f8522 Create network-specific nodes files (#1970) 2016-08-21 11:23:47 +02:00
Nikolay Volf 0c38197b43 Merge pull request #1956 from ethcore/db-cache
Apply settings to column families
2016-08-18 21:55:53 +04:00
Arkadiy Paronyan 8159d743ef ECIES without MAC (#1948)
* Use random IV for ECIES AES

* ECIES encrypt/decrypt for a single message

* Derive IV from shared secret
2016-08-18 18:08:02 +02:00
arkpar f0cb835f44 Apply settings to column families 2016-08-18 18:04:54 +02:00
Robert Habermeier 57dbdaada9 remove impossible panickers related to infallible db transaction (#1947) 2016-08-18 09:43:56 +02:00
Robert Habermeier eed3ef403a remove randomness from bigint benches, fix warnings (#1945) 2016-08-17 22:36:55 +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
NikVolf b45020fc7f add doc for address 2016-08-16 11:47:12 +03:00
Nikolay Volf 9e88acb8c8 fix benches compilation (#1931) 2016-08-15 22:02:53 +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
Arkadiy Paronyan 0e7b06d3eb Save nodes removed from backing_overlay until commit (#1917) 2016-08-11 18:58:11 +02:00
Arkadiy Paronyan 417b70f90f Don't return deleted nodes that are not yet flushed (#1908) 2016-08-10 20:49:26 +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 7f5c178b1c Merge pull request #1886 from ethcore/ver-bump
v1.4.0 in master
2016-08-09 17:15:01 +03:00
arkpar 69d1c1f237 v1.4.0 2016-08-09 11:40:57 +02:00
debris 974d537849 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-09 09:58:18 +02:00
Arkadiy Paronyan 7ed4bded52 Reduce max open files (#1876) 2016-08-08 17:18:29 +02:00
debris 8269887949 parse().unwrap() -> into() 2016-08-08 11:18:48 +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 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 74c9ecbfd6 fixed compiling 2016-08-05 14:09:21 +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