obscuren
5245bd7b20
core: added a test for missing nonces
...
This test showed the logic in the queue was slightly flawed sending out
transactions to its peer it couldn't even resolve itself.
2015-06-09 00:41:47 +02:00
obscuren
912cf7ba04
core: added fork test & double nonce test
2015-06-04 19:28:39 +02:00
obscuren
dcdb4554d7
core: documented changes in tx pool
2015-06-04 16:19:22 +02:00
obscuren
cf5ad266f6
core: only change the nonce if the account nonce is lower
2015-06-04 15:44:42 +02:00
obscuren
9dd12a64a7
core: renamed txs to pending
2015-06-04 13:16:31 +02:00
obscuren
140d883901
core: test updates
2015-06-03 22:53:33 +02:00
obscuren
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
2015-06-03 22:43:23 +02:00
Felix Lange
5721c43585
core: update documentation comments for TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
ca31d71107
core: remove unused code from TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
08befff8f1
core: compute less transaction hashes in TxPool
2015-06-03 22:43:23 +02:00
Jeffrey Wilcke
8610314918
Merge pull request #1167 from Gustav-Simonsson/check_ec_recover_err
...
Add missing err checks on From()
2015-06-03 10:29:47 -07:00
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
2015-06-01 22:12:03 +02:00
Gustav Simonsson
32e1b104f8
Add EC signature validations before call to libsecp256k1
2015-06-01 21:06:52 +02:00
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
2015-05-26 20:38:26 +02:00
obscuren
3c6c891680
core: optimise pending transaction processing
2015-05-11 11:39:33 +02:00
obscuren
dcfecebe1f
core: get transaction by hash from transaction pool
2015-05-07 18:22:57 +02:00
obscuren
92f998c7ef
core: use removeTx instead of delete
2015-05-06 18:30:55 +02:00
obscuren
88292f35db
core: remove txs from queue in addition to removal of pending
2015-04-30 00:20:59 +02:00
obscuren
145e02fc54
core, miner: added value check on tx validation
...
* Changed CalcGasLimit to no longer need current block
* Added a gas * price + value on tx validation
* Transactions in the pool are now re-validated once every X
2015-04-26 11:19:40 +02:00
obscuren
405720b218
xeth, core, cmd/utils: Transaction can not be over block gas limit
...
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
obscuren
7f14fbd579
core: pending txs now re-validated once every second
2015-04-23 11:50:12 +02:00
obscuren
fba40e18d9
core: added accessor for queued transactions
2015-04-23 11:50:12 +02:00
obscuren
d3be1a2719
eth: moved mined, tx events to protocol-hnd and improved tx propagation
...
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.
Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
obscuren
7138404cb0
core: only post event once per tx & fixed test
2015-04-23 11:50:11 +02:00
obscuren
498b24270a
core: implemented a queued approach processing transactions
...
Implemented a new transaction queue. Transactions with a holes in their
nonce sequence are also not propagated over the network.
N: 0,1,2,5,6,7 = propagate 0..2 -- 5..N is kept in the tx pool
2015-04-23 11:50:11 +02:00
obscuren
093d6d5074
core: removed nonce resetting from the block processor.
...
All nonce error handling has been moved to the worker
2015-04-21 11:27:12 +02:00
obscuren
6e2f78ebdd
Default log to stderr
2015-04-08 22:18:16 +02:00
obscuren
6184781b49
Improved transaction pool
...
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:
* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
2015-04-08 20:47:32 +02:00
obscuren
f08e9cbe42
ignore invalid txs right after being added if they prove incorrect
2015-04-08 18:08:21 +02:00
obscuren
a953f3ec97
Sync managed accounts to the network
2015-04-08 13:07:21 +02:00
obscuren
09147a50ed
Improved tx pool to ignore invalid transactions
...
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
2015-04-08 00:31:23 +02:00
Felix Lange
a59dd393e7
core: fix tests
2015-03-18 13:38:47 +01:00
Felix Lange
17c5ba2b6b
core: actually convert transaction pool
2015-03-17 12:16:21 +01:00
Felix Lange
b95387a0dc
core: convert transaction pool to common.{Address,Hash}
2015-03-17 11:59:26 +01:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
Matthew Wampler-Doty
de9f79133f
Introducing ethash
2015-03-02 22:29:34 -05:00
Ethan Buchman
5a827417d9
Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop
2015-02-26 17:54:57 -05:00
obscuren
ea9a549bbd
Removed exported fields from state object and added proper set/getters
2015-02-20 14:19:34 +01:00
obscuren
fa4cbad315
Optimisations and fixed a couple of DDOS issues in the miner
2015-02-19 22:33:22 +01:00
Ethan Buchman
2ba65f4fba
Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop
2015-02-17 19:25:18 -05:00
obscuren
cb382fa76b
Validate transactions sender before adding to pool. Closes #272
2015-01-31 17:22:17 +01:00
Ethan Buchman
2da367a2be
fix unchecked slice index on tx.From()
2015-01-26 10:57:23 -08:00
obscuren
60d9611c23
Fixed tests where txs weren't properly removed
2015-01-07 01:21:45 +01:00
obscuren
6abf8ef78f
Merge
2015-01-05 17:10:42 +01:00
obscuren
16f417f5af
Fixed bug where logging could crash client during tx adding
2015-01-02 22:19:58 +01:00
obscuren
d336e24dce
Removed the need of having a backend for the tx pool
2015-01-02 12:26:55 +01:00
obscuren
ae2c90cc28
Removed value check from tx validation
2015-01-02 12:24:36 +01:00
obscuren
48d2a8b8ee
Refactored tx pool and added extra fields to block
...
* chain manager sets td on block + td output w/ String
* added tx pool tests for removing/adding/validating
* tx pool now uses a set for txs instead of list.List
2015-01-02 12:09:38 +01:00
obscuren
207b6c50fb
Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ebuchman-badsig
...
Conflicts:
core/transaction_pool.go
2014-12-19 00:33:05 +01:00
obscuren
22d29a6d52
merge
2014-12-19 00:02:55 +01:00