Leif Jurvetson
b7bb2d8589
core: various typos
9 years ago
Jeffrey Wilcke
b6d88a0e9f
core, core/vm, crypto: fixes for homestead
...
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
9 years ago
Gustav Simonsson
371871d685
parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
9 years ago
Péter Szilágyi
d3642b0715
core, eth, rpc/api: rpc method to inspect the txpool queue
9 years ago
Péter Szilágyi
a2dc074b1d
core, core/types, miner: fix transaction nonce-price combo sort
9 years ago
Péter Szilágyi
649787a9bf
core: fix transaction reorg issues within the tx pool
9 years ago
zsfelfoldi
975c591261
core: tx pool skip price validation for "owned" transactions
9 years ago
Gustav Simonsson
1b1f293082
core/state, core, miner: handle missing root error from state.New
9 years ago
Péter Szilágyi
402fd6e8c6
core, eth, event, miner, xeth: fix event post / subscription race
9 years ago
Jeffrey Wilcke
eaa4473dbd
core, core/types: readd transactions after chain re-org
...
Added a `Difference` method to `types.Transactions` which sets the
receiver to the difference of a to b (NOTE: not a **and** b).
Transaction pool subscribes to RemovedTransactionEvent adding back to
those potential missing from the chain.
When a chain re-org occurs remove any transactions that were removed
from the canonical chain during the re-org as well as the receipts that
were generated in the process.
Closes #1746
9 years ago
Jeffrey Wilcke
b60a27627b
core: transaction nonce recovery fix
...
When the transaction state recovery kicked in it assigned the last
(incorrect) nonce to the pending state which caused transactions with
the same nonce to occur.
Added test for nonce recovery
9 years ago
Jeffrey Wilcke
7a75da63c6
core: added default genesis block
...
When a user runs a freshly setup geth w/o a database initialised the
default genesis block is decoded and inserted in to the database.
9 years ago
Bas van Kervel
7e31df3987
bugfix, pending transaction was resend with new gas price/limit but not removed from transaction pool
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
9 years ago
Felix Lange
ea54283b30
all: update license information
9 years ago
Jeffrey Wilcke
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)
10 years ago
Jeffrey Wilcke
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.
10 years ago
Felix Lange
1d42888d30
core/types: make blocks immutable
10 years ago
Felix Lange
654564e164
core/types: make transactions immutable
10 years ago
Bas van Kervel
a4a4e9fcf8
removed old rpc structure and added new inproc api client
10 years ago
obscuren
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
10 years ago
obscuren
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.
10 years ago
obscuren
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.
10 years ago
obscuren
6d817e16c1
core, miner: tx pool drops txs below ask price
10 years ago
obscuren
4407524d13
core: fixed race condition for subscriptions
10 years ago
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
10 years ago
obscuren
bc6031e7bb
core, xeth: moved nonce management burden from xeth to txpool
10 years ago
Felix Lange
73c355591f
core, eth: document that result of GetTransactions is modifiable
10 years ago
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.
10 years ago
obscuren
912cf7ba04
core: added fork test & double nonce test
10 years ago
obscuren
dcdb4554d7
core: documented changes in tx pool
10 years ago
obscuren
cf5ad266f6
core: only change the nonce if the account nonce is lower
10 years ago
obscuren
9dd12a64a7
core: renamed txs to pending
10 years ago
obscuren
140d883901
core: test updates
10 years ago
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).
10 years ago
Felix Lange
5721c43585
core: update documentation comments for TxPool
10 years ago
Felix Lange
ca31d71107
core: remove unused code from TxPool
10 years ago
Felix Lange
08befff8f1
core: compute less transaction hashes in TxPool
10 years ago
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
10 years ago
Gustav Simonsson
32e1b104f8
Add EC signature validations before call to libsecp256k1
10 years ago
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
10 years ago
obscuren
3c6c891680
core: optimise pending transaction processing
10 years ago
obscuren
dcfecebe1f
core: get transaction by hash from transaction pool
10 years ago
obscuren
92f998c7ef
core: use removeTx instead of delete
10 years ago
obscuren
88292f35db
core: remove txs from queue in addition to removal of pending
10 years ago
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
10 years ago
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
10 years ago
obscuren
7f14fbd579
core: pending txs now re-validated once every second
10 years ago
obscuren
fba40e18d9
core: added accessor for queued transactions
10 years ago