aboutsummaryrefslogtreecommitdiffstats
path: root/eth/helper_test.go
Commit message (Collapse)AuthorAgeFilesLines
* cmd/geth, core: add support for recording SHA3 preimages (#3543)Nick Johnson2017-01-171-1/+2
|
* core/types: remove redundant SignECDSA wrappers, rename to SignTxFelix Lange2017-01-051-1/+1
|
* core: bugfix state change race condition in txpool (#3412)bas-vk2016-12-111-3/+5
| | | | | | | | 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-2/+2
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-2/+3
| | | | | | | | | | | | | | | This commit implements EIP158 part 1, 2, 3 & 4 1. If an account is empty it's no longer written to the trie. An empty account is defined as (balance=0, nonce=0, storage=0, code=0). 2. Delete an empty account if it's touched 3. An empty account is redefined as either non-existent or empty. 4. Zero value calls and zero value suicides no longer consume the 25k reation costs. params: moved core/config to params Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
* cmd, eth: added light client and light server modeszsfelfoldi2016-11-091-1/+1
|
* core, eth, internal, miner: optimize txpool for quick opsPéter Szilágyi2016-09-021-8/+14
|
* accounts, core, eth: pass chain config for chain maker to test DAOPéter Szilágyi2016-07-151-1/+1
|
* core, eth, miner: improve shutdown synchronisationFelix Lange2016-05-091-7/+7
| | | | | | | | | | | | | | | | | | | | Shutting down geth prints hundreds of annoying error messages in some cases. The errors appear because the Stop method of eth.ProtocolManager, miner.Miner and core.TxPool is asynchronous. Left over peer sessions generate events which are processed after Stop even though the database has already been closed. The fix is to make Stop synchronous using sync.WaitGroup. For eth.ProtocolManager, in order to make use of WaitGroup safe, we need a way to stop new peer sessions from being added while waiting on the WaitGroup. The eth protocol Run function now selects on a signaling channel and adds to the WaitGroup only if ProtocolManager is not shutting down. For miner.worker and core.TxPool the number of goroutines is static, WaitGroup can be used in the usual way without additional synchronisation.
* all: fix go vet warningsFelix Lange2016-04-151-4/+6
|
* all: update license informationFelix Lange2016-04-151-0/+16
|
* accounts, crypto: move keystore to package accountsFelix Lange2016-04-121-3/+3
| | | | | | | | | | The account management API was originally implemented as a thin layer around crypto.KeyStore, on the grounds that several kinds of key stores would be implemented later on. It turns out that this won't happen so KeyStore is a superflous abstraction. In this commit crypto.KeyStore and everything related to it moves to package accounts and is unexported.
* accounts/a/b/backends, core: chain maker homestead block set to 0Jeffrey Wilcke2016-04-011-2/+1
| | | | | | | The chain maker and the simulated backend now run with a homestead phase beginning at block 0 (i.e. there's no frontier). This commit also fixes up #2388
* core: added basic chain configurationJeffrey Wilcke2016-04-011-2/+5
| | | | | | | | | 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, rpc: split out block validator and state processorJeffrey Wilcke2015-11-181-2/+0
| | | | | | | | | | | | This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1).
* eth, p2p, rpc/api: polish protocol info gatheringPéter Szilágyi2015-10-281-1/+1
|
* eth: clean out light node notions from ethPéter Szilágyi2015-10-191-4/+4
|
* core, eth: receipt chain reconstructionPéter Szilágyi2015-10-191-1/+1
|
* cmd, eth: support switching client modes of operationPéter Szilágyi2015-10-191-2/+17
|
* core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-1/+2
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-10/+10
| | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* core, core/types: readd transactions after chain re-orgJeffrey Wilcke2015-09-221-1/+1
| | | | | | | | | | | | | | 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
* eth, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-0/+147