aboutsummaryrefslogtreecommitdiffstats
path: root/core/transaction_pool.go
Commit message (Collapse)AuthorAgeFilesLines
* core, eth, rpc/api: rpc method to inspect the txpool queuePéter Szilágyi2016-02-011-0/+30
|
* core, core/types, miner: fix transaction nonce-price combo sortPéter Szilágyi2016-01-221-1/+1
|
* core: fix transaction reorg issues within the tx poolPéter Szilágyi2016-01-051-41/+78
|
* core: tx pool skip price validation for "owned" transactionszsfelfoldi2015-12-161-5/+62
|
* core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-10/+41
|
* core, eth, event, miner, xeth: fix event post / subscription racePéter Szilágyi2015-10-121-1/+1
|
* core, core/types: readd transactions after chain re-orgJeffrey Wilcke2015-09-221-5/+7
| | | | | | | | | | | | | | 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
* core: transaction nonce recovery fixJeffrey Wilcke2015-09-181-2/+2
| | | | | | | | 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
* Merge pull request #1569 from obscuren/default-genesisJeffrey Wilcke2015-08-031-1/+1
|\ | | | | core: added default genesis block
| * core: added default genesis blockJeffrey Wilcke2015-08-021-1/+1
| | | | | | | | | | 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.
* | Merge pull request #1461 from bas-vk/eth_resendJeffrey Wilcke2015-08-021-2/+3
|\ \ | |/ |/| Old transaction after resend was not removed from pool
| * bugfix, pending transaction was resend with new gas price/limit but not ↵Bas van Kervel2015-07-281-2/+3
| | | | | | | | removed from transaction pool
* | all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
|/ | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* all: update license informationFelix Lange2015-07-071-0/+16
|
* core: txpool listen for ChainHeadEvent instead of ChainEventJeffrey Wilcke2015-06-301-2/+2
| | | | | | | 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)
* core: reduce CPU load by reducing calls to checkQueueJeffrey Wilcke2015-06-301-26/+49
| | | | | | | | | | | | | | | | * 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.
* core/types: make blocks immutableFelix Lange2015-06-301-1/+1
|
* core/types: make transactions immutableFelix Lange2015-06-301-11/+8
|
* removed old rpc structure and added new inproc api clientBas van Kervel2015-06-221-1/+1
|
* core, core/vm: state improvements and tx pool speed upobscuren2015-06-171-9/+13
| | | | Removed full tx validation during state transitions
* core: moved check for max queue to checkQueueobscuren2015-06-151-16/+10
| | | | | Moved the queue to check to the checkQueue method so no undeeded loops need to be initiated or sorting needs to happen twice.
* core: reduce max allowed queued txs per addressobscuren2015-06-151-0/+19
| | | | | Transactions in the queue are now capped to a maximum of 200 transactions. This number is completely arbitrary.
* core, miner: tx pool drops txs below ask priceobscuren2015-06-151-3/+16
|
* core: fixed race condition for subscriptionsobscuren2015-06-101-2/+1
|
* core: fixed race condition in the transaction poolobscuren2015-06-101-30/+30
| | | | Removed `Stop/Start` mechanism from the transaction pool.
* core, xeth: moved nonce management burden from xeth to txpoolobscuren2015-06-101-10/+15
|
* core, eth: document that result of GetTransactions is modifiableFelix Lange2015-06-091-0/+1
|
* core: added a test for missing noncesobscuren2015-06-091-1/+1
| | | | | This test showed the logic in the queue was slightly flawed sending out transactions to its peer it couldn't even resolve itself.
* core: added fork test & double nonce testobscuren2015-06-051-20/+26
|
* core: documented changes in tx poolobscuren2015-06-041-3/+30
|
* core: only change the nonce if the account nonce is lowerobscuren2015-06-041-1/+3
|
* core: renamed txs to pendingobscuren2015-06-041-16/+16
|
* core: test updatesobscuren2015-06-041-1/+0
|
* core, eth, miner: moved nonce management to tx pool.obscuren2015-06-041-37/+51
| | | | | | | | 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).
* core: update documentation comments for TxPoolFelix Lange2015-06-041-22/+25
|
* core: remove unused code from TxPoolFelix Lange2015-06-041-41/+13
|
* core: compute less transaction hashes in TxPoolFelix Lange2015-06-041-72/+72
|
* Merge pull request #1167 from Gustav-Simonsson/check_ec_recover_errJeffrey Wilcke2015-06-041-1/+1
|\ | | | | Add missing err checks on From()
| * Add missing err checks on From() (skip RPC for now)Gustav Simonsson2015-06-021-1/+1
| |
* | Add EC signature validations before call to libsecp256k1Gustav Simonsson2015-06-021-6/+0
|/
* core: check negative value transactions. Closes #1109obscuren2015-05-271-0/+5
|
* core: optimise pending transaction processingobscuren2015-05-111-1/+1
|
* core: get transaction by hash from transaction poolobscuren2015-05-081-0/+21
|
* core: use removeTx instead of deleteobscuren2015-05-071-1/+1
|
* core: remove txs from queue in addition to removal of pendingobscuren2015-04-301-1/+22
|
* core, miner: added value check on tx validationobscuren2015-04-261-9/+9
| | | | | | * 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
* xeth, core, cmd/utils: Transaction can not be over block gas limitobscuren2015-04-241-1/+9
| | | | Transactions will be invalidated when the tx.gas_limit > block.gas_limit
* core: pending txs now re-validated once every secondobscuren2015-04-231-3/+27
|
* core: added accessor for queued transactionsobscuren2015-04-231-0/+12
|
* eth: moved mined, tx events to protocol-hnd and improved tx propagationobscuren2015-04-231-2/+4
| | | | | | | | | 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.
* core: only post event once per tx & fixed testobscuren2015-04-231-9/+15
|
* core: implemented a queued approach processing transactionsobscuren2015-04-231-22/+70
| | | | | | | 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
* core: removed nonce resetting from the block processor.obscuren2015-04-211-2/+4
| | | | All nonce error handling has been moved to the worker
* Default log to stderrobscuren2015-04-091-1/+0
|
* Improved transaction poolobscuren2015-04-091-42/+45
| | | | | | | | | | 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
* ignore invalid txs right after being added if they prove incorrectobscuren2015-04-091-0/+1
|
* Sync managed accounts to the networkobscuren2015-04-081-3/+2
|
* Improved tx pool to ignore invalid transactionsobscuren2015-04-081-8/+29
| | | | | Transaction pool will attempt to ignore invalid transactions it had previously encountered.
* core: fix testsFelix Lange2015-03-181-1/+1
|
* core: actually convert transaction poolFelix Lange2015-03-171-6/+9
|
* core: convert transaction pool to common.{Address,Hash}Felix Lange2015-03-171-33/+21
|
* Moved ethutil => commonobscuren2015-03-161-3/+3
|
* Introducing ethashMatthew Wampler-Doty2015-03-031-1/+1
|
* Merge branch 'develop' of https://github.com/ethereum/go-ethereum into developEthan Buchman2015-02-271-10/+25
|\
| * Removed exported fields from state object and added proper set/gettersobscuren2015-02-201-1/+1
| |
| * Optimisations and fixed a couple of DDOS issues in the minerobscuren2015-02-201-9/+24
| |
* | Merge branch 'develop' of https://github.com/ethereum/go-ethereum into developEthan Buchman2015-02-181-7/+13
|\|
| * Validate transactions sender before adding to pool. Closes #272obscuren2015-02-011-7/+13
| |
* | fix unchecked slice index on tx.From()Ethan Buchman2015-01-271-2/+7
|/
* Fixed tests where txs weren't properly removedobscuren2015-01-071-5/+5
|
* Mergeobscuren2015-01-061-31/+23
|
* Fixed bug where logging could crash client during tx addingobscuren2015-01-031-1/+9
|
* Removed the need of having a backend for the tx poolobscuren2015-01-021-13/+10
|
* Removed value check from tx validationobscuren2015-01-021-2/+6
|
* Refactored tx pool and added extra fields to blockobscuren2015-01-021-96/+34
| | | | | | * 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
* Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ↵obscuren2014-12-191-2/+6
| | | | | | | ebuchman-badsig Conflicts: core/transaction_pool.go
* mergeobscuren2014-12-191-15/+6
|\
| * Moved methods to messagesobscuren2014-12-181-6/+0
| |
| * Created generic message (easy for testing)obscuren2014-12-181-10/+7
| |
* | Merge fixesobscuren2014-12-181-4/+2
| |
* | Merged developobscuren2014-12-181-9/+15
|\|
| * Locks, refactor, testsobscuren2014-12-181-10/+16
| | | | | | | | | | | | * Added additional chain tests * Added proper mutex' on chain * Removed ethereum dependencies
* | transaction pool changeszelig2014-12-151-10/+16
|/ | | | | | - use eventer events to broadcast transactions - CurrentTransactions -> GetTransactions - add AddTransactions
* states moved to chainobscuren2014-12-111-1/+1
|
* Skip mining on transactions that don't meet the min accepted gas priceobscuren2014-12-051-4/+4
|
* Improved and simplified wallet functions and behaviourobscuren2014-12-041-1/+1
|
* Renamed State => StateDBobscuren2014-12-041-1/+1
|
* Renamed `chain` => `core`obscuren2014-12-041-0/+236