Commit Graph

256 Commits

Author SHA1 Message Date
keorn 68fd862671 simplify constructors 2016-09-14 13:56:28 +02:00
keorn 0880d4ad8f method to check if default address is_sealer 2016-09-14 10:49:44 +02:00
keorn 2bd82269e8 add tests, keep track of engine sealing status 2016-09-14 00:00:26 +02:00
keorn fef94205e3 enable internal sealing based on author 2016-09-13 19:59:34 +02:00
keorn 341e06481e Split internal sealing from work preparation (#2071)
* separate block preparation methods

* Split internal sealing from work sealing, add cli option

* replace cli with engine method, simplify

* More docs about sealing types. Bypass work in external txs.

* split requires_reseal, add test and new test miner
2016-09-13 15:09:07 +02:00
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
Marek Kotewicz b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

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

* fixed compiling

* fixed compiling

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

* add the recorder module

* get_recorded for tries, no virtual dispatch on readonly tries

* add recording test
2016-08-24 16:53:36 +02:00
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
Gav Wood ccdf80f4dc Fix several RPCs (#1926)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.
2016-08-17 19:25:02 +02:00
Tomasz Drwięga bcf6b0b7d8 Bump clippy, fix warnings (#1939)
* Bumping clippy

* Fixing warnings
2016-08-17 16:06:41 +02:00
Nikolay Volf 8bc92dacee Merge pull request #1891 from ethcore/miner-log
Adding more details to miner log
2016-08-09 17:13:59 +03:00
Tomasz Drwięga 73c19fd4b5 Fixing miner deadlock (#1885) 2016-08-09 11:45:07 +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
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
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
Arkadiy Paronyan 7093651d70 More performance optimizations (#1814)
* Buffered DB

* Use identity hash for MemoryDB

* Various tweaks

* Delayed DB compression

* Reduce last_hashes cloning

* Keep state cache

* Updating tests

* Optimized to_big_int

* Fixing build with stable

* Safer code
2016-08-03 22:03:40 +02:00
Gav Wood 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
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 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
Tomasz Drwięga 605d9d24a4 Adding more details to miner log 2016-07-18 13:50:45 +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
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
Robert Habermeier 7200cfcbc9 expunge &Vec<T> pattern (#1579)
* expunge &Vec<T> pattern

* fix travis
2016-07-12 10:28:35 +02:00
Tomasz Drwięga d7caae2241 Fixing clippy warnings (#1568)
* Fixing clippy warnings

* Fixing more warnings
2016-07-10 13:18:33 +02:00
Gav Wood 9a70f717ad Merge remote-tracking branch 'origin/master' into dynamic-gas-price 2016-07-09 12:29:23 +02:00
Gav Wood d4d63a5688 Merge branches 'kill_unwraps' and 'dynamic-gas-price' of github.com:ethcore/parity into dynamic-gas-price 2016-07-09 12:29:06 +02:00
Tomasz Drwięga b304ce5838 Uncommenting simple Miner tests (#1571) 2016-07-09 11:23:06 +02:00
Gav Wood 9b1d1dc336 Merge remote-tracking branch 'origin/master' into kill_unwraps 2016-07-08 20:42:11 +02:00
Gav Wood ef0a41c7b3 Merge remote-tracking branch 'origin/master' into dynamic-gas-price 2016-07-08 17:36:21 +02:00
Gav Wood 25e6b2b827 Initial implementation of dynamic gas pricer. 2016-07-08 17:26:06 +02:00
Tomasz Drwięga eef9586c57 Fixing deadlock in miner (#1569)
* Fixing deadlock in miner

* Adding more comments [ci skip]
2016-07-08 17:19:14 +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
Gav Wood 095e51c39c Fix indent of #1541 (#1555) 2016-07-06 17:42:01 +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
Robert Habermeier f8b56317b4 Merge pull request #1548 from ethcore/remove-soft
Remove soft-fork stuff.
2016-07-06 13:05:43 +02:00
Marek Kotewicz bcb63bce12 serde is no longer util dependency (#1534)
* removed old json-tests

* simplify folds in triehash.rs

* removed unused json_aid

* removed unused squeeze.rs

* json branching tests for trie

* removing todos from util

* separated UsingQueue and Table

* further cleanup, removing unused code

* serde serialization of hash moved to rpc module

* uint wrapper for rpc in progress

* serialization of uint moved to rpc module

* updated eth-secp256k1

* updated igd, serde is no longer dependency of util

* loading trie consensus tests

* renamed aliases in rpc imports
2016-07-06 11:23:29 +02:00
Gav Wood 488ff88562 Remove soft-fork stuff. 2016-07-05 18:18:35 +02:00
Tomasz Drwięga b8b55be0be Skipping transactions with invalid nonces when pushing to block. (#1545)
* Changing some logging levels

* Skipping invalid nonce errors
2016-07-05 17:51:41 +02:00
NikVolf 43027b36ea Merge branch 'master' into client-api-refact2 2016-07-01 22:43:51 +03:00
NikVolf 46b0af6121 flush work 2016-07-01 22:13:56 +03:00
Arkadiy Paronyan d91e8ccd34 Save the block reference in the queue on notification (#1501) 2016-07-01 19:38:37 +01:00
Gav Wood 1d780f456a Fix is_new. 2016-06-30 23:14:54 +02:00
Gav Wood 29b6ba4a87 Fix the reseal mechanism. 2016-06-30 22:35:59 +02:00
Gav Wood 9c58ebf2d2 Merge branch 'master' into clone-work 2016-06-30 13:16:48 +02:00
Gav Wood dff7d9603c Fix for fake new work packages. 2016-06-30 13:12:15 +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
Gav Wood 92edf7f511 Safe coloured logging. 2016-06-30 08:20:34 +02:00
Gav Wood 4a6206c514 Log for when we mine a block with lots of info.
Fixes #1468
2016-06-30 08:20:34 +02:00
Arkadiy Paronyan 60270083e5 Merge pull request #1491 from ethcore/work-notify
Work notification over HTTP
2016-06-30 08:19:45 +02:00
Gav Wood 86ba6f1912 Fix test compilation. 2016-06-29 22:05:00 +02:00
arkpar ee01ad1324 Shortcut sealed block into the chain 2016-06-29 21:49:22 +02:00
Gav Wood f24ba94fbd Merge branch 'work-notify' of github.com:ethcore/parity into work-notify 2016-06-29 20:14:32 +02:00
Gav Wood dc24448900 Include number in eth_getWork. 2016-06-29 20:09:13 +02:00
arkpar b3f37f3cb4 HTTP work notifier 2016-06-29 20:07:21 +02:00
Gav Wood e24f9c9936 Add CLI option and route to MinerOptions. 2016-06-29 20:06:03 +02:00
arkpar 5958c87e56 HTTP work notifier 2016-06-29 20:04:52 +02:00
Gav Wood 5d1ff3d7ba Introduce options for fine-grained management of work queue. (#1484)
* Introduce options for fine-grained management of work queue.

- Minimum reseal period between non-mandatory (transaction) reseals.
- Maximum historical cached block size.

Defaults changed to reflect real-world scenarios (2s, 20 blocks).

* Fix test bug.

* 50 -> 20.
2016-06-29 16:26:19 +02:00
Gav Wood 7c27f9dfed Add CLI option and route to MinerOptions. 2016-06-29 15:37:11 +02:00
Gav Wood 599a6104b7 Minor renaming. 2016-06-28 10:40:35 +02:00
Gav Wood 31de739122 U256 instead of Option<U256>. Fix up tests. 2016-06-28 10:21:29 +02:00
Gav Wood c221f69ccd Clean up some of the FP stuff. 2016-06-28 10:00:28 +02:00
Gav Wood 10aa32b0f5 Include RPC configurability for max tx gas limit.
Also Move the gas limit into the transaction queue from the miner.
2016-06-27 20:19:01 +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
Gav Wood 6c1802e412 Allow configuration of when to reseal blocks. 2016-06-27 17:23:54 +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
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 230c6c889a Ensure judging the SF trigger by relative branch (#1399)
Rather than just the canon chain.
2016-06-22 21:33:10 +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 613d4c95f6 Merge pull request #1364 from ethcore/miner-lock
Fix lock order when updating sealing
2016-06-21 17:41:44 +02:00
Arkadiy Paronyan b2891fcdda Update sealing on new transactions (#1365) 2016-06-21 16:00:34 +02:00
Gav Wood 840f961dc2 don't bother assigning queue. 2016-06-21 14:34:22 +02:00
arkpar b667378820 Release lock while pushing transactions 2016-06-21 11:26:43 +02:00
arkpar c912bb8c17 Fix lock order 2016-06-20 23:48:47 +02:00
Tomasz Drwięga a2f24a0083 Removing Default from Miner 2016-06-20 10:28:38 +02:00
Gav Wood 3ee3171b8c Merge branch 'master' into softforktrigger 2016-06-20 00:37:40 +02:00
Marek Kotewicz 6b074e8fb2 secret store separated from util (#1304)
* bump rust-crypto

* initial version of account provider utilizing secret store

* update lazy_static to latest version

* AccountProvider accounts method

* new AccountProvider tests in progress

* basic tests for new AccountProvider

* ethcore compiles with new account provider and secret store

* ethcore-rpc build now compiling with new AccountProvider

* most rpc tests passing with new accounts_provider

* fixed basic_authority tests

* fixed eth_transaction_count rpc test

* fixed mocked/eth.rs tests

* fixed personal tests

* fixed personal signer rpc tests

* removed warnings

* parity compiling fine with new sstore

* fixed import direction

* do not unlock temporarily when we have the password

* removed TODO in account import

* display warning on auto account import failure

* fixed compiling of ethstore on windows

* ethstore as a part of parity repo

* added ethkey
2016-06-20 00:10:34 +02:00
Gav Wood 08522eec37 --geth prevent getTransactionReceipt from using pending. (#1325)
This mimics the fucntionality of Geth and the current unratified
JSONRPC spec (but not the functionality of eth and the ratified
spec).
2016-06-19 14:51:51 +02:00
Tomasz Drwięga 8fad728e9b Fixing locks order (#1328) 2016-06-19 12:33:50 +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
debris 0b8710a2a1 removed redundant if condition 2016-06-14 03:04:06 +02:00
Marek Kotewicz 4ef4819bf9 removed try_seal from MinerClient interface (#1262) 2016-06-13 18:51:14 +02:00
debris 2a92e10fcd Merge branch 'master' of github.com:ethcore/parity into simplified_block_opening 2016-06-09 11:09:12 -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
Tomasz Drwięga 18ffd94674 Fixing warnings 2016-06-06 12:18:17 +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
Gav Wood a132fefcc7 Transaction tracing for eth_call. 2016-06-02 13:50:50 +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 c00b84e10b merge fixes 2016-06-01 12:54:47 +02:00
Nikolay Volf 0c782bf34b Merge branch 'master' into client-refact 2016-06-01 12:45:04 +02:00
Nikolay Volf d45a676dc0 all tests fixed 2016-05-31 22:24:32 +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