ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
a748afce03
core: txpool listen for ChainHeadEvent instead of ChainEvent
...
Changed the transaction pool to listen for ChainHeadEvent when resetting
the state instead of ChainEvent. It makes very little sense to burst
through transactions while we are catching up (e.g., have more than one
block to process)
2015-06-30 17:27:47 +02:00
61ca780f3b
core: reduce CPU load by reducing calls to checkQueue
...
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool
queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue
previously
1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
2015-06-30 14:01:12 +02:00
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
654564e164
core/types: make transactions immutable
2015-06-29 18:51:47 +02:00
a4a4e9fcf8
removed old rpc structure and added new inproc api client
2015-06-22 09:17:09 +02:00
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
2015-06-17 17:10:22 +02:00
e79cc42dfe
core: moved check for max queue to checkQueue
...
Moved the queue to check to the checkQueue method so no undeeded loops
need to be initiated or sorting needs to happen twice.
2015-06-15 16:46:45 +02:00
21fa29111b
core: reduce max allowed queued txs per address
...
Transactions in the queue are now capped to a maximum of 200
transactions. This number is completely arbitrary.
2015-06-15 12:16:29 +02:00
6d817e16c1
core, miner: tx pool drops txs below ask price
2015-06-15 11:33:08 +02:00
4407524d13
core: fixed race condition for subscriptions
2015-06-10 17:13:32 +02:00
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
bc6031e7bb
core, xeth: moved nonce management burden from xeth to txpool
2015-06-09 21:01:02 +02:00
73c355591f
core, eth: document that result of GetTransactions is modifiable
2015-06-09 17:07:10 +02:00
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
912cf7ba04
core: added fork test & double nonce test
2015-06-04 19:28:39 +02:00
dcdb4554d7
core: documented changes in tx pool
2015-06-04 16:19:22 +02:00
cf5ad266f6
core: only change the nonce if the account nonce is lower
2015-06-04 15:44:42 +02:00
9dd12a64a7
core: renamed txs to pending
2015-06-04 13:16:31 +02:00
140d883901
core: test updates
2015-06-03 22:53:33 +02:00
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
5721c43585
core: update documentation comments for TxPool
2015-06-03 22:43:23 +02:00
ca31d71107
core: remove unused code from TxPool
2015-06-03 22:43:23 +02:00
08befff8f1
core: compute less transaction hashes in TxPool
2015-06-03 22:43:23 +02:00
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
147a699c65
Add missing err checks on From() (skip RPC for now)
2015-06-01 22:12:03 +02:00
32e1b104f8
Add EC signature validations before call to libsecp256k1
2015-06-01 21:06:52 +02:00
c37389f19c
core: check negative value transactions. Closes #1109
2015-05-26 20:38:26 +02:00
3c6c891680
core: optimise pending transaction processing
2015-05-11 11:39:33 +02:00
dcfecebe1f
core: get transaction by hash from transaction pool
2015-05-07 18:22:57 +02:00
92f998c7ef
core: use removeTx instead of delete
2015-05-06 18:30:55 +02:00
88292f35db
core: remove txs from queue in addition to removal of pending
2015-04-30 00:20:59 +02:00
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
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
7f14fbd579
core: pending txs now re-validated once every second
2015-04-23 11:50:12 +02:00
fba40e18d9
core: added accessor for queued transactions
2015-04-23 11:50:12 +02:00
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
7138404cb0
core: only post event once per tx & fixed test
2015-04-23 11:50:11 +02:00
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
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
6e2f78ebdd
Default log to stderr
2015-04-08 22:18:16 +02:00
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
f08e9cbe42
ignore invalid txs right after being added if they prove incorrect
2015-04-08 18:08:21 +02:00
a953f3ec97
Sync managed accounts to the network
2015-04-08 13:07:21 +02:00
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
a59dd393e7
core: fix tests
2015-03-18 13:38:47 +01:00
17c5ba2b6b
core: actually convert transaction pool
2015-03-17 12:16:21 +01:00
b95387a0dc
core: convert transaction pool to common.{Address,Hash}
2015-03-17 11:59:26 +01:00
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
de9f79133f
Introducing ethash
2015-03-02 22:29:34 -05:00