Commit Graph

186 Commits

Author SHA1 Message Date
Tomasz Drwięga
f044b61f42 Extract some parts of miner from ethcore. (#7353)
* Move miner away from ethcore.

* Fix ethcore to use miner/transaction.

* Fix tests and warnings.

* fixed incorrect merge of the test in the documentation
2018-01-11 17:49:10 +01:00
Nikolay Volf
8e252d5f1b refactored to merge client & client 2016-05-31 19:52:53 +02:00
Nikolay Volf
0cd8644292 split interfaces 2016-05-31 16:41:15 +02:00
Robert Habermeier
16432129b5 move transaction import error warning into miner implementation 2016-05-30 13:14:32 +02:00
Robert Habermeier
cf18c4bb0a make MinerService object-safe 2016-05-27 18:14:43 +02:00
Robert Habermeier
3f89362630 rename x_latest to latest_x in BlockChainClient 2016-05-27 16:35:42 +02:00
Robert Habermeier
c2a4ed6fc4 change nonce, balance, storage_at to *_latest counterparts 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
2b7fae8fa6 add state_at_id and balance_at_id, integrate with RPC 2016-05-27 16:35:41 +02:00
Tomasz Drwięga
5b0c936fee Fixing clippy warnings 2016-05-26 11:49:58 +02:00
Tomasz Drwięga
fa6b35ec8d Bumping clippy. Fixing warnings (#1139)
* Bumping clippy. Fixing warnings

* Removing unused import

* Fixing complexity and arguments warning on two functions
2016-05-25 17:03:58 +02:00
Marek Kotewicz
ebd0cdbc7a Fixpending (#1074)
* Fix --geth IPC for MacOS.

* fix pending_* methods in MinerService, add pending_receipts

* pending logs

* include pending logs when polling

* fixed returning pending logs multiple timees

* log type

* transactionHash is supplied to pending logs

* miner returns receipts together with hashes

* bring back miners all_transactions used by sync module
2016-05-24 21:56:32 +02:00
Gav Wood
90a272c519 Merge branch 'master' of github.com:ethcore/parity 2016-05-24 16:46:08 +02:00
Tomasz Drwięga
1def165c0b Adding info messages on mined blocks (#1127) 2016-05-23 18:47:11 +02:00
Gav Wood
11f1aeb36e Add info message for mined block. 2016-05-23 18:46:08 +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
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
Tomasz Drwięga
a950b81ee8 Fixing clippy warnings 2016-05-17 10:32:05 +02:00
Nikolay Volf
7c28b1cef9 removed engine retrieval from client public api 2016-05-16 19:43:48 +03:00
Nikolay Volf
994d056922 miner will use separate spec 2016-05-16 19:16:56 +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
Arkadiy Paronyan
ab288268bc Validate signature in Tx queue (#1068)
* moving deps to ethcore/hyper and bumping jsonrpc-http-server version

* Validate signature in tx queue
2016-05-10 11:43:26 +01: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
Tomasz Drwięga
1583f7d434 Prioritizing of local transaction (#1023)
* Changing is_local flag to TransactionOrigin enum

* Prioritize local transactions
2016-05-03 16:14:33 +02:00
Tomasz Drwięga
e2465b1eab Bumping clippy & fixing warnings (#1024)
* Bumping clippy

* Fixing warnings found by clippy
2016-05-02 13:13:12 +02: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
Tomasz Drwięga
ea669ac6b6 Enable pending block when there is local transaction pending. (#1005)
* Enabling sealing while importing own transaction

* Fixing import transaction deadlock

* Checking if there are local transactions in queue

* Updating hyper-mio

* Switching to rust-url#1.0.0
2016-04-28 16:36:53 +01:00
Gav Wood
b4fc75828e Update transaction_queue.rs
Avoid extraneous `U256` operations and split-state local.
2016-04-24 22:08:27 +01:00
Tomasz Drwięga
0f4fbadd36 Fixing transaction queue last_nonces update 2016-04-24 19:45:01 +02:00
Tomasz Drwięga
8b84b4f128 Merge branch 'master' into rpc-shared-miner
Conflicts:
	parity/main.rs
2016-04-22 12:16:15 +02:00
Tomasz Drwięga
08a0d42ed3 Compilation fix 2016-04-21 20:53:44 +02:00
Tomasz Drwięga
bacac7d0af Fixing transaction_queue deadlock 2016-04-21 20:42:36 +02:00
Tomasz Drwięga
ef9b49f0b2 Merge branch 'main-refactor' into rpc-shared-miner 2016-04-21 17:38:21 +02:00
Tomasz Drwięga
f5c2bea134 Shared instance of ExternalMiner 2016-04-21 17:32:53 +02:00
Tomasz Drwięga
c47d08e308 Fixing warnings 2016-04-21 16:06:54 +02:00
Tomasz Drwięga
f2a08d57e4 Merge branch 'master' into rpc-logs
Conflicts:
	rpc/src/v1/tests/ethcore.rs
	rpc/src/v1/traits/ethcore.rs
2016-04-19 19:59:50 +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
Tomasz Drwięga
407ab30503 Using ArrayVec to store logs 2016-04-19 19:22:14 +02:00
debris
314ced57c8 fixed transaction queue merge conflict 2016-04-19 16:20:04 +02:00
Marek Kotewicz
46c8324c52 Merge pull request #974 from ethcore/tx-limit-conf
Configurable limit for transaction queue (CLI & Ethcore-RPC)
2016-04-19 16:02:28 +02:00
Tomasz Drwięga
3c67ac636b Merge branch 'master' into tx-limit-conf
Conflicts:
	miner/src/transaction_queue.rs
2016-04-19 00:03:20 +02:00
Tomasz Drwięga
10e2659600 Fixing last_nonces updating when transactions are removed because of the limit 2016-04-19 00:00:55 +02:00
Tomasz Drwięga
5df817c8e0 Setting limit from CLI 2016-04-18 23:03:41 +02:00
Tomasz Drwięga
cd044ec096 Merge branch 'master' into tx-limit-bug
Conflicts:
	miner/src/transaction_queue.rs
2016-04-18 21:58:19 +02:00
Tomasz Drwięga
caf4d179a2 Even more detailed errors for transaction queue (#969)
* Even more detailed errors for transaction queue

* Small rename

* Removing macros in favour of functions+try!()
2016-04-18 10:34:59 -07:00
Tomasz Drwięga
58c47069d8 Enforce-limit + last_nonces bug 2016-04-18 18:39:14 +02:00
Tomasz Drwięga
41153dd37c Removing macros in favour of functions+try!() 2016-04-18 17:20:35 +02:00
Tomasz Drwięga
2812f8cae6 Small rename 2016-04-18 13:35:19 +02:00
Tomasz Drwięga
881678b613 Even more detailed errors for transaction queue 2016-04-18 13:16:46 +02:00
Tomasz Drwięga
d093c5755e Moving own transaction tracing to miner create 2016-04-17 20:36:37 +02:00
Tomasz Drwięga
5086880093 Additional logging for transactions 2016-04-17 18:26:15 +02: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
d909bc05c4 Sensible gas limits for eth_sendTransaction (#953)
* Sensible gas limits for eth_sendTransaction

Fixes #859

* Compile fix.

* Remove !.
2016-04-14 12:01:12 -07:00
Tomasz Drwięga
fbc28ce493 Additional methods for ethcore-specific rpc. Altering miner parameters (#934) 2016-04-12 15:04:40 -07:00
Tomasz Drwięga
3fe21f5931 Ethcore-specific RPC methods (#923)
* Ethcore-specific rpc methods

* Initializing ethcore-rpc
2016-04-11 12:06:32 -07:00
Gav Wood
c48374dbc6 Parameter to allow user to force the sealing mechanism (#918)
* Allow block sealing mechanism to be forced, even when not mining.

* Fix deadlock in dispatch_transaction. Fix tests.

* Horrible workaround for transaction importing.

* Reduce tracing. Cleanups.

* Remove logging.

* Remove broken code inherited from dodgy implementation.

* pre-query tx queue nonce also if any

* remove outside nonce queries

* remove queue nonces
2016-04-11 11:52:33 -07:00
arkpar
3438cda432 Propagate transaction queue 2016-04-06 23:03:07 +02:00
Arkadiy Paronyan
5685fde606 Merge pull request #890 from ethcore/fix_875
fixed #875 and added tests for eth_sendTransaction
2016-04-06 16:24:32 +02:00
debris
d14d590c2b fixed #875 and added tests for eth_sendTransaction 2016-04-06 12:15:20 +02:00
Tomasz Drwięga
85da55a537 Fixing warnings 2016-04-06 10:55:40 +02:00
Tomasz Drwięga
2a185963a9 More descriptive expectations to transaction queue consistency. 2016-04-04 08:56:59 +02:00
Gav Wood
5d626c7dd3 Use sensible gas price. 2016-03-28 18:53:33 +02:00
Gav Wood
d150529730 Merge remote-tracking branch 'origin/master' into bettermining 2016-03-27 22:16:24 +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
6cac296366 Remove comments. 2016-03-27 15:39:45 +02:00
NikVolf
254ac6f253 checking tx queue 2016-03-27 16:12:21 +03:00
Gav Wood
7d7b315511 Fix tests and a couple of warnings. 2016-03-26 23:35:36 +01:00
Gav Wood
993e16afbd Fix miner, 2016-03-26 20:36:03 +01:00
Gav Wood
b45ed30936 Disable two tests that will require an improved TestBlockChainClient 2016-03-25 16:41:01 +01: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
Arkadiy Paronyan
01a39e4f4e Merge pull request #807 from ethcore/tracegetwork
Fix mining from spinning
2016-03-24 18:27:17 +01:00
Gav Wood
3be2763929 Merge branch 'master' into bettermining 2016-03-24 16:43:17 +00:00
Gav Wood
e214489106 Fix compile. 2016-03-24 13:56:22 +00:00
Gav Wood
0ab57c48c3 Add tracing. 2016-03-24 13:51:51 +00:00
Gav Wood
1700b6a087 Add UsingQueue. 2016-03-24 07:49:54 +00: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
97449afbb9 Merge branch 'master' into bettermining 2016-03-23 14:18:16 +01:00
Tomasz Drwięga
c2d2e41624 Fixing future-current transactions clash 2016-03-23 12:23:50 +01:00
Gav Wood
0e026ed11f Fix author reporting. num_cpus for JSONRPC threads. 2016-03-22 19:12:17 +01:00
Gav Wood
a134f939e9 Non-functioning draft of code. 2016-03-22 13:05:18 +01:00
Tomasz Drwięga
ef10c6f637 Avoiding possible overflow when block number gets smaller. 2016-03-20 12:18:41 +01:00
Tomasz Drwięga
48be70e4a8 Fixing ethminer doctest 2016-03-18 20:45:07 +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
Gav Wood
a1fb0619bb Merge pull request #752 from ethcore/tx_queue_invalid
Removing transactions that failed to be pushed to block.
2016-03-18 18:03:11 +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
58bb5e967a Merge branch 'master' into tx_queue_gas_limit
Conflicts:
	miner/src/transaction_queue.rs
2016-03-18 12:25:36 +01:00
Tomasz Drwięga
942d38fb13 Removing allow dead_code 2016-03-18 10:22:00 +01:00
Tomasz Drwięga
cee45e1a8e Merge branch 'master' into tx_queue_live
Conflicts:
	miner/src/miner.rs
2016-03-18 09:48:35 +01:00
Tomasz Drwięga
a6bd15d333 Fixing compilation 2016-03-18 09:46:13 +01:00
Tomasz Drwięga
48c72a168c Merge branch 'master' into tx_queue_invalid 2016-03-18 09:44:31 +01:00
Tomasz Drwięga
7ae60056b2 Common error handling 2016-03-17 16:13:00 +01:00
Tomasz Drwięga
fece330ca4 Refactoring removing invalid transactions from queue 2016-03-17 15:30:03 +01:00
Tomasz Drwięga
309af743e0 Ignoring transactions slightly above gas_limit 2016-03-17 15:23:25 +01:00
Tomasz Drwięga
dec69651fd Attempting to add all transactions to mined block 2016-03-17 13:41:30 +01:00
Tomasz Drwięga
833c5fdd31 Merge branch 'master' into tx_queue_live
Conflicts:
	sync/src/chain.rs
2016-03-17 13:35:01 +01:00
Gav Wood
a76eb022d0 Merge pull request #746 from ethcore/tx_queue
Verify sender's balance before importing transaction to queue
2016-03-17 13:32:48 +01:00