aboutsummaryrefslogtreecommitdiffstats
path: root/eth/handler_test.go
Commit message (Collapse)AuthorAgeFilesLines
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-2/+2
| | | | | This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.
* core: refactor genesis handlingFelix Lange2017-03-231-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* all: swap out the C++ ethash to the pure Go one (mining todo)Péter Szilágyi2017-03-091-1/+2
|
* params: core, core/vm, miner: 64bit gas instructionsJeffrey Wilcke2017-02-141-6/+8
| | | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"Jeffrey Wilcke2017-02-131-8/+6
| | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* params: core, core/vm, miner: 64bit gas instructions (#3514)Jeffrey Wilcke2017-02-021-6/+8
| | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* cmd/geth, core: add support for recording SHA3 preimages (#3543)Nick Johnson2017-01-171-1/+2
|
* all: fix spelling errorsPéter Szilágyi2017-01-071-1/+1
|
* all: gofmt -w -sFelix Lange2017-01-061-6/+6
|
* core/types: remove redundant SignECDSA wrappers, rename to SignTxFelix Lange2017-01-051-6/+6
|
* core/types, params: EIP#155Jeffrey Wilcke2016-11-131-6/+8
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-2/+2
| | | | | | | | | | | | | | | 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
|
* eth: monitor malicious header retrieval requestsPéter Szilágyi2016-10-051-0/+15
|
* eth, eth/downloader, eth/fetcher: delete eth/61 codeFelix Lange2016-07-221-154/+0
| | | | | The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic.
* cmd/utils, eth: display the user's current fork, minor text tweakPéter Szilágyi2016-07-161-0/+1
|
* accounts, core, eth: pass chain config for chain maker to test DAOPéter Szilágyi2016-07-151-1/+1
|
* core, eth: enforce network split post DAO hard-forkPéter Szilágyi2016-07-151-0/+73
|
* core: improved chainDb using sequential keyszsfelfoldi2016-06-071-5/+5
|
* all: fix go vet warningsFelix Lange2016-04-151-7/+6
|
* all: update license informationFelix Lange2016-04-151-0/+16
|
* eth: various typosLeif Jurvetson2016-03-161-2/+2
|
* all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()Ricardo Catalinas Jiménez2016-02-221-1/+1
| | | | As we aren't really using the standarized SHA-3
* eth: fix #2076, where end of hash query was interpreted number queryPéter Szilágyi2015-12-161-0/+20
|
* core, eth, trie: fix data races and merge/review issuesPéter Szilágyi2015-10-211-1/+3
|
* eth: clean out light node notions from ethPéter Szilágyi2015-10-191-16/+11
|
* eth/downloader: add fast and light sync strategiesPéter Szilágyi2015-10-191-8/+5
|
* cmd, eth: support switching client modes of operationPéter Szilágyi2015-10-191-7/+37
|
* core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-2/+3
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-79/+79
| | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* eth: kill off protocol eth/60 in preparation for eth/62Péter Szilágyi2015-08-241-3/+0
|
* eth, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-0/+525