aboutsummaryrefslogtreecommitdiffstats
path: root/core/tx_pool_test.go
Commit message (Collapse)AuthorAgeFilesLines
* all: collate new transaction events togetherrjl4934564422018-05-181-13/+18
|
* all: get rid of error when creating memory database (#16716)gary rong2018-05-091-36/+18
| | | | | | | | * all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
* core: ensure local transactions aren't discarded as underpricedCrispin Flowerday2018-05-021-9/+13
| | | | | This fixes an issue where local transactions are discarded as underpriced when the pool and queue are full.
* core: txpool stable underprice drop order, perf fixesPéter Szilágyi2018-04-121-11/+74
|
* core: update txpool tests for the removal fixPéter Szilágyi2018-03-071-49/+110
|
* core, trie: intermediate mempool between trie and database (#15857)Péter Szilágyi2018-02-061-2/+2
| | | This commit reduces database I/O by not writing every state trie to disk.
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-117/+117
|
* core: fix panic when stat-ing a tx from a queue-only account (#15714)Péter Szilágyi2017-12-201-0/+57
|
* all: fix code comment typos (#15547)Ricardo Domingos2017-11-241-1/+1
| | | | | | | | | | | | * console: fix typo in comment * contracts/release: fix typo in comment * core: fix typo in comment * eth: fix typo in comment * miner: fix typo in comment
* all: gofmt -w -s (#15419)ferhat elmas2017-11-081-1/+1
|
* core: respect price bump threshold (#15401)Jim McDonald2017-10-301-10/+10
| | | | | | | | | | * core: allow price bump at threshold * core: test changes to allow price bump at threshold * core: reinstate tx replacement test underneath threshold * core: minor test failure message cleanups
* core: fire tx event on replace, expand testsPéter Szilágyi2017-10-201-3/+185
|
* core: use blocks and avoid deep reorgs in txpoolPéter Szilágyi2017-09-061-8/+8
|
* core: make txpool operate on immutable statePéter Szilágyi2017-09-051-186/+95
|
* core: Fix flaw where underpriced locals were removed (#15081)Martin Holst Swende2017-09-041-1/+61
| | | | | | * core: Fix flaw where underpriced locals were removed * core: minor code cleanups for tx pool tests
* core, light: send chain events using event.Feed (#14865)Miya Chen2017-08-181-69/+112
|
* core: fix txpool journal and test racesPéter Szilágyi2017-08-081-27/+27
|
* core: fix blockchain goroutine leaks in testsPéter Szilágyi2017-08-071-0/+7
|
* core: bump timeout test to avoid flakyness on overloaded ciPéter Szilágyi2017-08-071-2/+2
|
* cmd, core, eth: journal local transactions to disk (#14784)Péter Szilágyi2017-07-281-32/+140
| | | | | | | | | | * core: reduce txpool event loop goroutines and sync structs * cmd, core, eth: journal local transactions to disk * core: journal replacement pending transactions too * core: separate transaction journal from pool
* core: test locals support in txpool queue limits, fixPéter Szilágyi2017-07-061-75/+189
| | | | | | | | | | The commit reworks the transaction pool queue limitation tests to cater for testing local accounts, also testing the nolocal flag. In addition, it also fixes a panic if local transactions exceeded the global queue allowance (no accounts left to drop from) and also fixes queue eviction to operate on all accounts, not just the one being updated.
* core, eth, les: polish txpool API around local/remote txsPéter Szilágyi2017-07-051-57/+51
|
* core/state: access trie through Database interface, track errors (#14589)Felix Lange2017-06-271-12/+12
| | | | | | | | | With this commit, core/state's access to the underlying key/value database is mediated through an interface. Database errors are tracked in StateDB and returned by CommitTo or the new Error method. Motivation for this change: We can remove the light client's duplicated copy of core/state. The light client now supports node iteration, so tracing and storage enumeration can work with the light client (not implemented in this commit).
* core: ensure transactions correctly drop on pool limitingPéter Szilágyi2017-06-231-47/+88
|
* core: add testcase for txpoolMartin Holst Swende2017-06-231-0/+66
|
* core: only reorg changed account, not allPéter Szilágyi2017-06-011-7/+7
|
* core: check for gas limit exceeding txs too on new blockPéter Szilágyi2017-05-301-11/+40
|
* cmd, core, eth: configurable txpool parametersPéter Szilágyi2017-05-291-44/+44
|
* cmd, core, eth, miner: remove txpool gas price limits (#14442)Péter Szilágyi2017-05-171-19/+242
|
* core: refactor genesis handlingFelix Lange2017-03-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This commit solves several issues concerning the genesis block: * Genesis/ChainConfig loading was handled by cmd/geth code. This left library users in the cold. They could specify a JSON-encoded string and overwrite the config, but didn't get any of the additional checks performed by geth. * Decoding and writing of genesis JSON was conflated in WriteGenesisBlock. This made it a lot harder to embed the genesis block into the forthcoming config file loader. This commit changes things so there is a single Genesis type that represents genesis blocks. All uses of Write*Genesis* are changed to use the new type instead. * If the chain config supplied by the user was incompatible with the current chain (i.e. the chain had already advanced beyond a scheduled fork), it got overwritten. This is not an issue in practice because previous forks have always had the highest total difficulty. It might matter in the future though. The new code reverts the local chain to the point of the fork when upgrading configuration. The change to genesis block data removes compression library dependencies from package core.
* common: move big integer math to common/math (#3699)Felix Lange2017-02-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common: remove CurrencyToString Move denomination values to params instead. * common: delete dead code * common: move big integer operations to common/math This commit consolidates all big integer operations into common/math and adds tests and documentation. There should be no change in semantics for BigPow, BigMin, BigMax, S256, U256, Exp and their behaviour is now locked in by tests. The BigD, BytesToBig and Bytes2Big functions don't provide additional value, all uses are replaced by new(big.Int).SetBytes(). BigToBytes is now called PaddedBigBytes, its minimum output size parameter is now specified as the number of bytes instead of bits. The single use of this function is in the EVM's MSTORE instruction. Big and String2Big are replaced by ParseBig, which is slightly stricter. It previously accepted leading zeros for hexadecimal inputs but treated decimal inputs as octal if a leading zero digit was present. ParseUint64 is used in places where String2Big was used to decode a uint64. The new functions MustParseBig and MustParseUint64 are now used in many places where parsing errors were previously ignored. * common: delete unused big integer variables * accounts/abi: replace uses of BytesToBig with use of encoding/binary * common: remove BytesToBig * common: remove Bytes2Big * common: remove BigTrue * cmd/utils: add BigFlag and use it for error-checked integer flags While here, remove environment variable processing for DirectoryFlag because we don't use it. * core: add missing error checks in genesis block parser * common: remove String2Big * cmd/evm: use utils.BigFlag * common/math: check for 256 bit overflow in ParseBig This is supposed to prevent silent overflow/truncation of values in the genesis block JSON. Without this check, a genesis block that set a balance larger than 256 bits would lead to weird behaviour in the VM. * cmd/utils: fixup import
* core/types: remove redundant SignECDSA wrappers, rename to SignTxFelix Lange2017-01-051-5/+5
|
* core, light: allow zero cost txs from inexistent accounts tooPéter Szilágyi2016-12-161-4/+0
|
* core: bugfix state change race condition in txpool (#3412)bas-vk2016-12-111-7/+88
| | | | | | | | The transaction pool keeps track of the current nonce in its local pendingState. When a new block comes in the pendingState is reset. During the reset it fetches multiple times the current state through the use of the currentState callback. When a second block comes in during the reset its possible that the state changes during the reset. If that block holds transactions that are currently in the pool the local pendingState that is used to determine nonces can get out of sync.
* core/types, params: EIP#155Jeffrey Wilcke2016-11-131-23/+28
|
* core: add global (soft) limits on the pending transactionsPéter Szilágyi2016-10-141-0/+90
|
* core: abstract out a sorted transaction hash mapPéter Szilágyi2016-09-021-13/+13
|
* core: add upper bound on the queued transctionsPéter Szilágyi2016-09-021-14/+94
|
* core, eth, internal, miner: optimize txpool for quick opsPéter Szilágyi2016-09-021-92/+134
|
* core, eth, miner: only retain 1 tx/nonce, remove bad onesPéter Szilágyi2016-09-021-40/+93
|
* core: added basic chain configurationJeffrey Wilcke2016-04-011-1/+1
| | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
* core, eth: replace reorganiz with reorganisLeif Jurvetson2016-03-161-1/+1
|
* core: various typosLeif Jurvetson2016-03-161-1/+1
|
* core, core/vm, crypto: fixes for homesteadJeffrey Wilcke2016-02-181-0/+537
* Removed some strange code that didn't apply state reverting properly * Refactored code setting from vm & state transition to the executioner * Updated tests