Commit Graph

488 Commits

Author SHA1 Message Date
keorn
77f06be7fb fix error propagation 2016-08-24 15:55:47 +02:00
keorn
1cb3c164da propose step 2016-08-24 11:58:49 +02:00
keorn
99a143eb37 change broadcast interface, add basic message handling 2016-08-23 17:19:23 +02:00
Nipunn Koorapati
2a550c2adf Add timeout for eth_getWork call (#1975) 2016-08-23 17:07:00 +02:00
arkpar
207f9d02f2 Started inf networking 2016-08-23 15:52:05 +02:00
Robert Habermeier
9adf77581c move column family constants into db module (#1955) 2016-08-18 18:24:49 +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
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
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
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
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
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
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
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
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
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
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
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
NikVolf
d8a3137ce8 drying ethcore 2016-08-01 19:39:53 +02:00
Arkadiy Paronyan
d891e80ad7 Commit best block after closing transaction (#1791) 2016-08-01 10:10:13 -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
Arkadiy Paronyan
57faa37623 Disable WAL (#1765)
* Disable WAL

* Make WAL optional

* Fix tests.

* Update cli.rs
2016-07-29 15:36:00 +02:00
Arkadiy Paronyan
b37086722a Don't call update_sealing on importing own block (#1762) 2016-07-29 09:56:55 +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
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
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
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
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
Arkadiy Paronyan
9a8fdeead9 Enable WAL and disable DB repair (#1696)
* Enable WAL

* Disable rewind
2016-07-23 17:05:34 +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
gregg dourgarian
d67369a01c fix typos (#1644) 2016-07-19 20:42:23 +02:00
debris
f31e7d54af fixed failing master 2016-07-19 10:54:25 +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
Nikolay Volf
459dcbcef1 Removing unused client code (#1645)
* moving ipc deriving to trait

* refactoring of the client
2016-07-19 09:21:41 +02:00
NikVolf
028d6f6853 Merge branch 'master' into sync-svc 2016-07-18 15:20:57 +02:00
Arkadiy Paronyan
dd17c766b8 Blockchain repair on missing state root (#1646)
* BC locking; Recovery batch

* Missing state root recovery

* Test
2016-07-17 23:03:29 +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
Arkadiy Paronyan
5ab18d1313 Performance optimizations (#1642)
* Optimize ethash verification

* disable WAL for puts

* Clear account cache after commit

* Commit only modified accounts

* Optimize existing block check

* Cache last hashes
2016-07-17 09:18:15 +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
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
Nikolay Volf
7b5d39e0a1 fix network_start regression (#1629)
* fix network_start regression

* network io handler

* move registration to the network start
2016-07-16 11:31:59 +02:00
Gav Wood
d14b6871a5 Cleanup of colour code. Use is_a_tty. (#1621)
* Cleanup of colour code. Use is_a_tty.

* Fix test build.

* Another fix.
2016-07-15 10:11:14 +02:00
Gav Wood
598833d1ea Fix "pending" parameter on RPC block requests (#1602)
* Initial commit.

* Pending blocks work.

* Address grumbles.

* Fix up for new API.
2016-07-14 15:24:12 +02:00
Tomasz Drwięga
6c205067b1 Miner tests (#1597)
* Un-ignoring RPC test

* Additional tests for importing transactions
2016-07-14 12:16:53 +02:00
Nikolay Volf
44bc8a08fb Sync IPC interface (#1584)
* chain notify trait

* replaced network service with io service

* fix ethcore crate warnings

* refactored network service without generic

* ethcore fix

* ethsync refactoring

* proper linking of notify

* manage network interface

* rpc crate rebinding

* full rewire

* sync internal io service

* fix deadlock

* fix warnings and removed async io

* sync imported message propagation

* fix rpc warnings

* binart warnings

* test fixes

* rpc mocks and tests

* fix util doctest

* fix message name and removed empty notifier

* pointers mess & dark mode fixed

* fixed sync doctest

* added few warnings

* fix review

* new convention match

* fix error unwraps

* doctest fix

* basic library re-layout

* missing files to relayout

* duplicating network config on sync level

* binary serializers for config

* ipc endpoint for manage

* ipc endpoint for sync

* handshake sorting out

* sorting out the multi-interface dispatch scenario

* fixing tests

* fix doctest
2016-07-14 12:07:33 +02:00
Robert Habermeier
36d3d0d7d7 replace synchronization primitives with those from parking_lot (#1593)
* parking_lot in cargo.toml

* replace all lock invocations with parking_lot ones

* use parking_lot synchronization primitives
2016-07-13 19:59:59 +02:00
Nikolay Volf
d956b7cea3 Merge pull request #1577 from ethcore/pv64
bring snapshotting work into master
2016-07-12 13:46:55 +02:00
Robert Habermeier
7200cfcbc9 expunge &Vec<T> pattern (#1579)
* expunge &Vec<T> pattern

* fix travis
2016-07-12 10:28:35 +02:00
Nikolay Volf
d3695d0b72 Major sync <-> client interactions refactoring (#1572)
* chain notify trait

* replaced network service with io service

* fix ethcore crate warnings

* refactored network service without generic

* ethcore fix

* ethsync refactoring

* proper linking of notify

* manage network interface

* rpc crate rebinding

* full rewire

* sync internal io service

* fix deadlock

* fix warnings and removed async io

* sync imported message propagation

* fix rpc warnings

* binart warnings

* test fixes

* rpc mocks and tests

* fix util doctest

* fix message name and removed empty notifier

* pointers mess & dark mode fixed

* fixed sync doctest

* added few warnings

* fix review

* new convention match

* fix error unwraps

* doctest fix
2016-07-11 17:02:42 +02:00
Robert Habermeier
3dd7ce5566 merge accountdb_migration 2016-07-11 11:08:41 +02:00
Tomasz Drwięga
d7caae2241 Fixing clippy warnings (#1568)
* Fixing clippy warnings

* Fixing more warnings
2016-07-10 13:18:33 +02:00
Robert Habermeier
36dfa4743e merge accountdb migration 2016-07-09 17:33:14 +02:00
Tomasz Drwięga
b304ce5838 Uncommenting simple Miner tests (#1571) 2016-07-09 11:23:06 +02:00
Gav Wood
d7077c8ef7 Fix build. 2016-07-07 11:28:33 +02:00
Gav Wood
9f43526c88 Merge branch 'master' into kill_unwraps 2016-07-07 09:40:12 +02:00
Nikolay Volf
8282c7dd50 Client IPC Interface (#1493)
* btree map serializer

* serde tests

* state diff serialization

* basic layout

* more missing serializaers

* uncle returns rlp

* block queue info

* sorting with transaction result

* sorting out util imports

* transaction import result sorting also

* sorting filters & ranges

* error sorting out

* deriving ipc service compiling

* rpc & sync recompile

* sorting rpc using uncles

* fix compilation

* fix merging bugs

* fix unused imports

* fix all warnings

* tests stub

* some merge bugs

* ethcore compilation

* fix rpc compilation

* deriving attribute

* tests (and fixes)

* rpc test working

* fix warnings again

* rs.in -> rs

* missing attribute

* refactored tree changes

* paste reformat mess fix

* pub mod actually

* intendation fix
2016-07-07 09:39:32 +02:00
Gav Wood
3b662c285f Switch out .X().unwrap() for .unwrapped_X 2016-07-07 09:37:31 +02:00
Gav Wood
456ad9e21b Remove .lock().unwrap() idiom into locked(). 2016-07-06 19:52:34 +02:00
Gav Wood
cd7b046d80 Fix and add info messages (#1552)
* Display information on journal database on startup.

* Minor restyling.

* Client handles the enode message to avoid repeats.

* Avoid unneeded copies *and* reduce code.

* Fix up typo.
2016-07-06 18:28:11 +02:00
Nipunn Koorapati
4a9b9dc305 Update sealing just once when externally importing many blocks (#1541)
Fixes Issue #1372
2016-07-06 17:15:59 +02:00
Gav Wood
488ff88562 Remove soft-fork stuff. 2016-07-05 18:18:35 +02:00
Gav Wood
c26cfc1c5a Silent running operating modes (#1477)
* Command=line options.

* Keep alive for the eth protocol.

* Wire up final pieces.

* No network when dark.

* Passive and dark mode work.

* Ensure all RPCs keep alive.

* Fix tests.

* Fix minor bug.

* Minor whitespace.

* Split out some of the sleep-state.

* Fix help text.
2016-07-05 17:50:46 +02:00
Robert Habermeier
465aae71e7 merge branch accountdb_migration into pv64 2016-07-04 12:53:01 +02:00
NikVolf
43027b36ea Merge branch 'master' into client-api-refact2 2016-07-01 22:43:51 +03:00
NikVolf
edb8663195 ethcore finished 2016-07-01 22:34:50 +03:00
NikVolf
46b0af6121 flush work 2016-07-01 22:13:56 +03:00
Nikolay Volf
8102fb9306 Client api cleaning - uncles are returned as rlp (#1516)
* uncle as rlp in the api

* uncle rlp in block view

* fix warning
2016-07-01 19:37:17 +01:00
NikVolf
07521c17b4 dedicated types 2016-07-01 21:33:59 +03:00
Marek Kotewicz
d8a4cca817 Fatdb integration with CLI (#1464)
* fatdb integration

* --fat-db

* rerun with --pruning=archive comment
2016-07-01 19:29:56 +01:00
NikVolf
0907722fc8 fix warning 2016-07-01 16:34:15 +03:00
NikVolf
d4ff3e51e9 uncle rlp in block view 2016-07-01 16:33:37 +03:00
NikVolf
7ad8599324 uncle as rlp in the api 2016-07-01 13:26:44 +03:00
Tomasz Drwięga
5c2ca9a0cb Fixing warnings 2016-07-01 02:08:14 +02:00
Gav Wood
9c58ebf2d2 Merge branch 'master' into clone-work 2016-06-30 13:16:48 +02:00
Gav Wood
9c07e5c355 Optionally clone block behind work-package. 2016-06-30 12:56:58 +02:00
Gav Wood
6ca2e6b29b Remove extraneous messages. 2016-06-30 08:20:34 +02:00
arkpar
ee01ad1324 Shortcut sealed block into the chain 2016-06-29 21:49:22 +02:00
Robert Habermeier
6ecd6eaa12 batch state trie writes 2016-06-29 18:37:17 +02:00
NikVolf
580913fa7d vm factory to mining client 2016-06-29 17:23:29 +03:00
Robert Habermeier
6977d335e9 Merge branch 'master' into pv64 2016-06-29 16:11:06 +02:00
Robert Habermeier
49024a4f28 Merge with master 2016-06-29 14:46:29 +02:00
Marek Kotewicz
af891f65a7 verifier is no longer a template type of client (#1467)
* verifier is no longer a template type of client

* added missing ,
2016-06-28 13:23:15 +02:00
Gav Wood
af935df553 Merge branch 'master' into miner-improvements 2016-06-28 10:02:33 +02:00
Gav Wood
495e56034f Merge branch 'master' into miner-improvements 2016-06-27 21:02:55 +02:00
arkpar
150d7c1c78 Merge remote-tracking branch 'origin/master' into db-config-ext 2016-06-27 20:33:07 +02:00
Arkadiy Paronyan
60b70dada1 Reduced IO messages; removed panics on IO notifications (#1457) 2016-06-27 19:30:13 +02:00
Gav Wood
2a51a30d41 Fix up the pending set stuff. 2016-06-27 19:06:54 +02:00
Gav Wood
1667808ecb More miner options.
- Optional limit for the amount of gas transactions may have;
- option to restruct transactions returned/queried to only those
which have been executed.
2016-06-27 18:27:06 +02:00
Arkadiy Paronyan
6859152c21 Fixed losing queued blocks on ancient block error (#1453) 2016-06-27 15:59:45 +02:00
Nikolay Volf
2e5d5f12dd ethcore client config 2016-06-27 13:58:12 +02:00
Tomasz Drwięga
6bbaced3cd Merge branch 'master' into miner-no-default
Conflicts:
	ethcore/src/miner/miner.rs
	parity/main.rs
2016-06-26 22:44:34 +02:00
Arkadiy Paronyan
3c63244c00 Merge pull request #1418 from ethcore/newblocknumber
Update SF blocknumber to 1800000.
2016-06-24 17:50:03 +02:00
Gav Wood
60d259c9d5 Update SF blocknumber to 1800000. 2016-06-24 14:20:50 +02:00
Tomasz Drwięga
6edb981bfa Merge branch 'master' into miner-no-default
Conflicts:
	sync/src/lib.rs
2016-06-23 21:18:43 +02:00
Gav Wood
8fcec20398 Gas limit ceiling option. 2016-06-23 14:29:16 +02:00
Gav Wood
129ce97ad5 Constants for SF# and update. 2016-06-23 11:30:48 +02:00
Gav Wood
1602906b56 Shortcut SF condition when canon known 2016-06-22 21:37:29 +02:00
Gav Wood
5302a7dd58 Ensure judging the SF trigger by relative branch
Rather than just the canon chain.
2016-06-22 19:49:07 +02:00
Arkadiy Paronyan
7c94b1495e Merge pull request #1329 from ethcore/softforktrigger
Install trigger for DAO-rescue soft-fork.
2016-06-21 22:25:24 +02:00
Arkadiy Paronyan
b2891fcdda Update sealing on new transactions (#1365) 2016-06-21 16:00:34 +02:00
Arkadiy Paronyan
f58e211b11 Merge pull request #1335 from ethcore/tx_perf
Transaction processing queue
2016-06-20 23:47:35 +02:00
arkpar
09b8116cde TX processing queue 2016-06-20 18:42:50 +02:00
Arkadiy Paronyan
8b845e56da Merge pull request #1348 from ethcore/db-cache-size
Configurable rocksdb cache size
2016-06-20 17:29:18 +02:00
Nikolay Volf
7e452ab2e0 configurable cache size 2016-06-20 13:42:04 +03:00
arkpar
1dd87a39f5 Fixed tests 2016-06-20 10:44:15 +02:00
Tomasz Drwięga
a2f24a0083 Removing Default from Miner 2016-06-20 10:28:38 +02:00
Gav Wood
2582253f95 Install trigger for DAO-rescue soft-fork.
Soft-fork should only be primed to trigger if the gas-limit of
block #1760000 is at most 4,000,000.

To accomplish this we pass in the gas limit of that block to
EnvInfo so it can inform Schedule. This gets marshalled through
`OpenBlock`/`ClosedBlock` and the `enact` functions much like
`last_hashes`. `block.rs`'s `env_info()` takes care to ensure
that if the current block happens to be #1760000, then we
populate with the current `gas_limit`.
2016-06-18 20:26:44 +02:00
Gav Wood
335bce85e8 Gas price statistics. (#1291)
* Gas price statistics.

Affects eth_gasPrice.
Added ethcore_gasPriceStatistics.

Closes #1265

* Fix a bug in eth_gasPrice

* Fix tests.

* Revert minor alteration.

* Tests for gas_price_statistics.

- Tests;
- Additional infrastructure for generating test blocks with
transactions.
2016-06-18 10:52:50 +02:00
Robert Habermeier
8ed2b9c7d9 refactor out common parts of write_chunk 2016-06-14 15:32:49 +02:00
Robert Habermeier
5b6ea41d9d no longer lock the state db 2016-06-13 20:02:20 +02:00
Robert Habermeier
22a19819c6 rename pv64 module to snapshot 2016-06-13 20:00:00 +02:00
Marek Kotewicz
4ef4819bf9 removed try_seal from MinerClient interface (#1262) 2016-06-13 18:51:14 +02:00
Robert Habermeier
6ec282fe98 Merge with latest master 2016-06-13 16:35:59 +02:00
Robert Habermeier
98c7677ce1 expose only chunk_blocks and chunk_state APIs 2016-06-13 16:29:26 +02:00
Robert Habermeier
446d59426a io error handling and slight blockchunker refactoring 2016-06-13 16:21:23 +02:00
Robert Habermeier
f400da405a state chunk creation tracing 2016-06-13 14:17:47 +02:00
Robert Habermeier
d696a66d71 add account reader. trie walking not functional yet 2016-06-13 12:39:09 +02:00
Robert Habermeier
5c252f2a60 output manifest to correct file 2016-06-11 13:08:22 +02:00
Robert Habermeier
3b1cca5622 add manifestdata struct, write manifest file at the end 2016-06-10 17:19:55 +02:00
Robert Habermeier
f689792481 added tracing 2016-06-10 14:43:01 +02:00
Robert Habermeier
f12add6958 take_snapshot now chunks blocks 2016-06-10 13:10:12 +02:00
Robert Habermeier
997fd93016 finish implementing basic block chunking 2016-06-10 12:45:46 +02:00
Robert Habermeier
5e0ba1c310 take_snapshot and block chunking skeleton 2016-06-10 12:19:50 +02:00
debris
2a92e10fcd Merge branch 'master' of github.com:ethcore/parity into simplified_block_opening 2016-06-09 11:09:12 -07:00
Robert Habermeier
13968aaa38 Refactor triedb constructors to error on invalid state root (#1230)
* add TrieError, refactor Trie DB creation

* remove Result type alias due to glob import conflicts

* fix fallout in state.rs

* add debug, display impl for TrieError

* fix fallout in account.rs

* ethcore::Error::TrieError variant

* fix remaining fallout in ethcore crate

* added From<TrieError> impl for Error, removed map_err calls

* fix test breakages

* fix doc tests

* update docs

[ci skip]
2016-06-07 11:44:09 -07:00
Gav Wood
4efd658577 Merge branch 'master' into txtracingforcall 2016-06-06 19:19:32 -07:00
debris
79919bdc3c simplified block opening 2016-06-06 14:34:23 +02:00
Marek Kotewicz
ba8c7bc959 Merge pull request #1217 from rphmeier/state_at_state_root
Verify the state root exists before creating a State
2016-06-06 11:29:39 +02:00
Robert Habermeier
64b74eae43 fix travis build 2016-06-05 23:50:27 +02:00
Robert Habermeier
3dff5a9f3f add early exit for pruned blocks 2016-06-05 22:14:40 +02:00
Robert Habermeier
e6921144dc simplify conditional in state_at 2016-06-05 22:05:01 +02:00
Gav Wood
4675b7408f Merge branch 'switchrpcns' into txtracingforcall 2016-06-05 21:35:58 +02:00
Gav Wood
4153052148 Fix fn call in miner.rs same as client.rs. 2016-06-05 17:23:27 +02:00
Robert Habermeier
aa465fa2cd conditional style fix 2016-06-03 12:15:27 +02:00
Robert Habermeier
6f850ebdac does_pruning -> is_pruned 2016-06-03 12:10:10 +02:00
Robert Habermeier
1e10445f82 exists -> contains 2016-06-02 21:23:43 +02:00
Robert Habermeier
6c6229c963 check if state root is valid for old blocks 2016-06-02 20:52:21 +02:00
Robert Habermeier
d7b79c1274 don't return a state in state_at if the db prunes and the block is before guaranteed history 2016-06-02 20:34:38 +02:00
Gav Wood
a132fefcc7 Transaction tracing for eth_call. 2016-06-02 13:50:50 +02:00
Gav Wood
b17581d7de VM tracing and JSON RPC endpoint for it. (#1169)
* Groundwork for basic VM tracing.

* RPC endpoint for VM tracing and ser/de types ready.

* Create VMTracer trait.

* Rearchitected VM tracing to reflect existing tracing.

Should more or less work now.

* Integrated VM tracing into JSONRPC.

* Fix ethcore module tests.

* Add tests for VM tracing.

* Fix consensus test code.

* Fix mock tests.

* Added VM trace information for post-execution stuff.

* Fix max-value calls and add "creates" field to getTransaction.

* Tests for VM tracing.

* Don't implement the trait with unimplemented.

* Remove invlaid comment.

* Fix tests.
2016-06-02 12:40:31 +02:00
Gav Wood
b9ec87548d Minor renaming diff -> state_diff 2016-06-02 12:39:25 +02:00
Gav Wood
bc5c3da2af Merge branch 'vmtracing' into diffing 2016-06-02 12:28:09 +02:00
Gav Wood
26da38a439 Merge remote-tracking branch 'origin/master' into vmtracing 2016-06-02 11:40:39 +02:00
Nikolay Volf
1ef4db82e8 doctest fixes 2016-06-01 14:50:06 +02:00
Nikolay Volf
0c782bf34b Merge branch 'master' into client-refact 2016-06-01 12:45:04 +02:00
Nikolay Volf
db749dc564 fix remaining tests & doctest 2016-06-01 12:44:11 +02:00
Nikolay Volf
d45a676dc0 all tests fixed 2016-05-31 22:24:32 +02:00
Nikolay Volf
2a08fb8fe3 and conditional dispatch 2016-05-31 21:17:46 +02:00
Gav Wood
34edecd59d State diffing, exposed through JSONRPC. 2016-05-31 21:03:44 +02:00
Nikolay Volf
a845e08bc6 rename of the trait 2016-05-31 20:33:26 +02:00
Nikolay Volf
8e252d5f1b refactored to merge client & client 2016-05-31 19:52:53 +02:00
Nikolay Volf
4f732972bc refactoring to hold miner within the client 2016-05-31 19:01:37 +02:00
Robert Habermeier
ff7c755930 mostly purge x! from ethcore 2016-05-31 16:59:01 +02:00
Nikolay Volf
0cd8644292 split interfaces 2016-05-31 16:41:15 +02:00
Gav Wood
649767b911 Merge remote-tracking branch 'origin/master' into vmtracing 2016-05-31 12:05:23 +02:00
Gav Wood
8082fdb3ff Fix max-value calls and add "creates" field to getTransaction. 2016-05-30 22:27:28 +02:00
arkpar
d1fc5a5611 Tweaked some constansts for slower machines 2016-05-28 17:17:10 +02:00
Gav Wood
c1ed520de0 RPC endpoint for VM tracing and ser/de types ready. 2016-05-28 16:52:33 +02:00
Robert Habermeier
3f89362630 rename x_latest to latest_x in BlockChainClient 2016-05-27 16:35:42 +02:00
Robert Habermeier
a3b1cdb175 add docs for nonce_latest 2016-05-27 16:35:41 +02:00
Robert Habermeier
5afa4621f9 added balance_latest, storage_at_latest utilities
with modus ponens panickers
2016-05-27 16:35:41 +02:00
Robert Habermeier
3c7e4b8c6c added nonce, nonce_latest 2016-05-27 16:35:41 +02:00
Robert Habermeier
86eab79d9d consolidate [balance/storage]_at and _at_id functionality 2016-05-27 16:35:41 +02:00
Robert Habermeier
3405f3eab1 implement storage_at_id 2016-05-27 16:35:41 +02:00
Robert Habermeier
2b7fae8fa6 add state_at_id and balance_at_id, integrate with RPC 2016-05-27 16:35:41 +02:00
Marek Kotewicz
7370776af1 Bloomchain (#1014)
* use bloomchain crate in blockchain module. remove obsole chainfilter submodule

* update database version to 6.0

* removed redundant line

* simple db migration

* make migration slightly more functional

* bloomchain migration

* migration version is just a single unsigned integer

* updated migration v6

* parity migration

* db migration

* removed hardcoded migration dir

* replace ptr::copy with clone_from_slice, removed potential endianess problem from trace/db.rs

* removed superfluous line

* blockchains log blooms config is not exposed any more
2016-05-26 18:24:51 +02:00
Arkadiy Paronyan
fba5082b00 Propagate uncles (#1134) 2016-05-24 21:56:17 +02:00
Gav Wood
564a996620 Basic hex block exporting. 2016-05-23 09:51:36 +02:00
Gav Wood
828bf7cb9e Make receipt's gasUsed property work properly.
Fixes #1111
2016-05-21 14:49:21 +02:00
Marek Kotewicz
852155959d Merge pull request #1098 from ethcore/trace_err
pretty print trace error
2016-05-19 18:00:39 +02:00
arkpar
ca6c91f591 New sync algorithm 2016-05-19 16:16:11 +02:00
debris
95365670e4 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 14:15:05 +02:00
debris
506ca15a15 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 11:07:53 +02:00
debris
634679966e Make Id/ID and db/Db/DB usage consistent 2016-05-19 11:00:32 +02:00
Nikolay Volf
6c6bbe9c57 Merge branch 'master' into miner-spec-refact
Conflicts:
	ethcore/src/client/client.rs
	ethcore/src/client/mod.rs
	ethcore/src/client/test_client.rs
	miner/src/miner.rs
2016-05-19 03:51:05 +03:00
debris
55ebab2392 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 01:03:55 +02:00
Marek Kotewicz
6cff58055d CLI option for using JITEVM (#1103)
* easily configurable vm (in progress)

* completely removed vm_factory from engine

* --jitvm command line flag
2016-05-19 00:44:49 +02:00
debris
14b6b389f2 propagate trace error to the top 2016-05-18 11:34:15 +02:00
Nikolay Volf
8cc321fe24 fix warnings 2016-05-16 19:45:16 +03:00
Nikolay Volf
7c28b1cef9 removed engine retrieval from client public api 2016-05-16 19:43:48 +03:00
Nikolay Volf
4e41cbca81 Moving all Client public API types to separate mod & binary serialization codegen for that mod (#1051)
* transaction moved

* trash remove

* ids move

* receipt

* tree-route

* blockchain info

* log_entry move

* trace filter moved

* executed & trace moved

* localized trace moved

* block status moved

* build scripts and codegen refs

* Cargo.lock update

* binary for blockstatus, blockchaininfo

* binary for trace

* trace filters binary ser

* binary for log entries & executed

* binary for receipt

* special case for u8 & transaction binary attribute

* resolved remaining issues & error binary serialization

* json-tests util import

* fix warnings

* ids attr

* add missing attributes

* Update build.rs
2016-05-16 18:33:32 +02:00
Gav Wood
f4d5c7b48e Fix uncle getter
Uncle blocks don't necessarily have BlockDetails, so can't get total
difficulty directly.
Closes #1057
2016-05-16 12:46:09 +02:00
Nikolay Volf
2d992d0c29 Merge branch 'master' into types-binary
Conflicts:
	ethcore/src/error.rs
2016-05-14 23:12:18 +03:00
Nikolay Volf
354ac7d6e5 Limiting result of the execution to execution-specific errors (#1071)
* execution error/result limiting

* missing trailing comma

* fix executive tests

* adding original error as string to the generic transaction error

* 'mallformed'-s all around
2016-05-14 13:28:44 +01:00
Nikolay Volf
14bcca54d2 block status moved 2016-05-06 00:47:47 +04:00
Nikolay Volf
beb33672bd blockchain info 2016-05-05 23:47:07 +04:00
Nikolay Volf
271d3f3e57 ids move 2016-05-05 22:37:30 +04:00
Tomasz Drwięga
15a8860e8a Fixing clippy warnings 2016-05-04 15:22:22 +02:00
Gav Wood
ac73b2628a Basic Authority (#991)
* Firt commit.

* First non-functional but correct implementation of BasicAuthority.

Still needs:
- Sealing infrastructure.

* Punch a hole to give miner access to key store.

* Fix test built.

* Basic version of synchronous mining.

This will seal a block whenever a new transaction comes through.
To be made better we need a timer which will wait for one second after the
last block before sealing a new one - better still would be to cooperatively
interleave blocks with other sealing nodes.

* Add tests.

* Fix minor issues from repotting.

* Address grumbles.
2016-05-03 17:23:53 +02:00
Marek Kotewicz
7c2adc4137 Tracedb interface && cli (#997)
* traces cli and jsonrpc api

* missing if in docs

* adding traces to modules
2016-05-02 12:17:30 +02:00
Marek Kotewicz
66477a9476 Core tracedb functionality. (#996)
* fixed encoding 0u8

* simplified if else stmt

* tracedb core

* more comprehensive tracedb tests

* fixed minor review issues

* addresses filter

* fixed typos

* replace malformed with corrupted

* trace switch

* db key is generic and can be made smaller

* smaller tracedb keys

* tracedb version

* fixed ignored tests

* rename Tracedb -> TraceDB

* fixed typos

* proves

* trace only top level calls to builtins to avoid DDoS attacks

* fixed tracedb config switches

* fix comments fat replaced with trace

* vector-addressing scheme for localized traces

* removed comments

* removed first, redundant 0 from trace address

* updated db.trace method

* additional tests for tracedb.trace()
2016-04-30 16:41:24 +01:00
Arkadiy Paronyan
8f7624f5cb Support 'pending' block in RPC (#1007)
* Support `pending` block in RPC

* Forward calls from miner to client in case no pending block is available
2016-04-28 20:47:44 +01:00
Arkadiy Paronyan
e47af7f745 Merge pull request #966 from ethcore/from-bytes-extend
Addressing binary serialization for db types
2016-04-20 18:17:00 +02:00
Marek Kotewicz
225a5ee825 removed redundant unwraps (#935)
* removed redundant unwraps

* fixed compilation error, removed warnings

* fixed transaction queue merge conflict

* fixed failing ethminer doc test
2016-04-19 10:35:32 -07:00
Nikolay Volf
3138584320 generalized fixedsized structs with macro 2016-04-17 18:52:44 +03:00
Tomasz Drwięga
00372cf747 Removing a transaction from queue now removes all from this sender with lower nonces. (#950)
* Changing  to wipe-out all transactions from particular sender lower then given nonce.

* Changing given nonce to be client_nonce

* Fixing test_client to support proper nonces when transactions are added to blockchain

* Fixing logic for transactions from new blocks in chain
2016-04-14 22:38:23 -07:00
Gav Wood
32ca8066e9 Tracing and docs. (#952) 2016-04-13 11:26:41 -07:00
Gav Wood
fa95419c27 --pruning=auto option. 2016-04-11 18:42:50 -07:00
Marek Kotewicz
373284ca0a spec loading cleanup (#858)
* spec loading cleanup in progress

* changed engine field in json spec

* refactored engine params

* polishing spec loading refactor

* fixed compiling json tests

* fixed compiling parity

* removed warnings

* removed commented out code

* fixed failing test

* bringing back removed TODO in spec.
2016-04-09 10:20:35 -07:00
arkpar
9b7c48110a Fixed eth_call nonce and gas handling 2016-04-06 13:05:58 +02:00
debris
0681346201 fixed #855 2016-04-01 11:26:14 +02:00
Gav Wood
ad86feb667 Rename spawn -> boxed_clone 2016-03-28 09:42:50 +02:00
Gav Wood
7c5b171e3f Differentiate between ClosedBlock (can be reopened) and LockedBlock (cannot).
`ClosedBlock`s still keep the pre-finalised state (i.e. state after the last transaction).
`LockedBlock`s do not. New mining algo needs to reopen these `ClosedBlock`s, however enactment
system does not (and `ClosedBlock`s are slower & more hungry), hence the distinction.
2016-03-27 20:33:23 +02:00
Gav Wood
d50c9f9fac Merge remote-tracking branch 'origin/master' into bettermining 2016-03-24 23:10:54 +01:00
Gav Wood
830ef7ddfc New mining framework.
Fixes #756.
2016-03-24 23:03:22 +01:00
arkpar
416040f313 Fixed test 2016-03-24 17:09:41 +01:00
Gav Wood
4e013ba2fc Refactor pending_block to always return invalid txs and sometimes a block.
Docuemnt SealingWork properly.
2016-03-23 16:28:02 +00:00
Gav Wood
d7fb464fa9 Merge pull request #798 from ethcore/eth_rpc
another batch of rpc improvements
2016-03-22 18:38:55 +01:00
debris
0cdac6de3c uncle 2016-03-22 16:07:42 +01:00
debris
068c0f3782 test for eth_getTransactionReceipt 2016-03-21 11:47:50 +01:00
Gav Wood
74f7f3f016 Merge pull request #792 from ethcore/eth_getTransactionReceipt
eth_getTransactionReceipt
2016-03-20 19:43:49 +01:00
debris
52e9801721 client implementation of transaction receipt 2016-03-20 18:44:57 +01:00
debris
2a3e695f8a LocalizedReceipt 2016-03-20 17:29:39 +01:00
Gav Wood
dcb23de65c Merge pull request #771 from ethcore/tx_queue_timeout
Disable preparing work package if miners don't ask for it.
2016-03-20 16:29:13 +01:00
Tomasz Drwięga
40fc3dc060 Merge branch 'master' into tx_queue_timeout 2016-03-20 12:16:57 +01:00
debris
aa47d944e1 implemented rpc eth_estimateGas method, added tests for rpc eth_call and eth_estimateGas 2016-03-20 11:34:19 +01:00
debris
fef8237701 fixes after merge 2016-03-20 10:07:50 +01:00
debris
46bfed6750 Merge branch 'call' into eth_call 2016-03-20 10:05:22 +01:00
debris
521f2a1433 implemented eth_call 2016-03-19 21:37:11 +01:00
Gav Wood
66837452c2 Expose tracing all the way to BlockChain; now it's up to blockchain to integrate. 2016-03-19 13:37:47 +01:00
Gav Wood
1bfcbca8af Add doumentation, make tracing optional and expose at OpenBlock level. 2016-03-19 12:54:34 +01:00
Tomasz Drwięga
f8dd1a6354 Merge branch 'master' into tx_queue_timeout
Conflicts:
	ethcore/src/client/test_client.rs
	miner/src/miner.rs
2016-03-18 19:36:32 +01:00
Gav Wood
2309e19fd9 Merge pull request #760 from ethcore/tx_queue_gas_limit
Avoid importing transactions with gas above 1.1*block_gas_limit to transaction queue
2016-03-18 18:05:26 +01:00
Tomasz Drwięga
7d77324765 BlockGasLimit taken from push_transaction result 2016-03-18 14:22:50 +01:00
Tomasz Drwięga
0dc1ddef9a Flipping sealing_enabled flag after no requests for sealing_block for some time 2016-03-18 13:59:11 +01:00
Tomasz Drwięga
7fb365634a Updating gas_limit in test_client generated blocks 2016-03-18 10:36:01 +01:00
Tomasz Drwięga
c4021a77ca Stop adding transactions right after we know that no other will make it to block. 2016-03-17 14:40:40 +01:00
Tomasz Drwięga
c382fa7eab Removing invalid transactions from queue 2016-03-17 12:29:55 +01:00
Gav Wood
7ba396b8d3 Merge pull request #687 from ethcore/pv63-receipts
PV63 receipts response
2016-03-14 20:18:10 +01:00
Gav Wood
7628df6fe6 Merge pull request #723 from ethcore/rpc_tests
another batch of rpc tests
2016-03-14 19:18:08 +01:00