aboutsummaryrefslogtreecommitdiffstats
path: root/core/block_processor_test.go
Commit message (Collapse)AuthorAgeFilesLines
* core, eth, rpc: split out block validator and state processorJeffrey Wilcke2015-11-181-89/+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).
* core, eth: receipt chain reconstructionPéter Szilágyi2015-10-191-8/+8
|
* core: differentiate receipt concensus and storage decodingPéter Szilágyi2015-10-191-2/+2
|
* core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-1/+1
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-3/+3
| | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* cmd/evm, core/vm, test: refactored VM and coreJeffrey Wilcke2015-10-041-1/+2
| | | | | | | | | | | | | | | | | * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * core/vm: byte code VM moved to jump table instead of switch * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * Byte code VM now shares the same code as the JITVM * Renamed Context to Contract * Changed initialiser of state transition & unexported methods * Removed the Execution object and refactor `Call`, `CallCode` & `Create` in to their own functions instead of being methods. * Removed the hard dep on the state for the VM. The VM now depends on a Database interface returned by the environment. In the process the core now depends less on the statedb by usage of the env * Moved `Log` from package `core/state` to package `core/vm`.
* core, eth, miner: use pure header validationPéter Szilágyi2015-09-161-2/+2
|
* Add tests for uncle timestamps and refactor timestamp typeGustav Simonsson2015-08-251-2/+2
|
* core, eth, trie, xeth: merged state, chain, extra databases in oneJeffrey Wilcke2015-08-081-4/+4
|
* 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".
* cmd, core, eth, common: genesis preparationJeffrey Wilcke2015-07-101-2/+2
| | | | | Implemented the --genesis flag thru which we can set a custom genesis block, including the official Ethereum genesis block.
* all: update license informationFelix Lange2015-07-071-0/+16
|
* core, eth, miner, xeth: receipt storage fixJeffrey Wilcke2015-07-041-7/+4
| | | | | * Added GetReceiptsFromBlock, GetReceipt, PutReceipts * Added ContractAddress to receipt. See #1042
* core, miner: miner header validation, transaction & receipt writingJeffrey Wilcke2015-07-031-2/+2
| | | | | | | | * Miners do now verify their own header, not their state. * Changed old putTx and putReceipts to be exported * Moved writing of transactions and receipts out of the block processer in to the chain manager. Closes #1386 * Miner post ChainHeadEvent & ChainEvent. Closes #1388
* core, eth, rpc: avoid unnecessary block header copyingFelix Lange2015-06-301-2/+2
|
* core: add GenerateChain, GenesisBlockForTestingFelix Lange2015-06-301-3/+4
|
* core/types: make blocks immutableFelix Lange2015-06-301-9/+7
|
* core: ValidatedHeader (method => function)obscuren2015-06-181-3/+5
| | | | | Changed header validation method to function in preparation of @karalabe's PR.
* core: settable genesis nonceobscuren2015-06-091-1/+6
| | | | | | | You can set the nonce of the block with `--genesisnonce`. When the genesis nonce changes and it doesn't match with the first block in your database it will fail. A new `datadir` must be given if the nonce of the genesis block changes.
* core: don't remove transactions after block processingFelix Lange2015-06-041-1/+1
| | | | | The transaction pool drops processed transactions on its own during pool maintenance.
* core: fixed an issue with storing receiptsobscuren2015-05-281-0/+32
|
* core: fixed testsobscuren2015-05-191-3/+3
|
* Improved chain manager, improved block processor, fixed testsobscuren2015-04-041-1/+2
| | | | | | * ChainManager allows cached future blocks for later processing * BlockProcessor allows a 4 second window on future blocks * Fixed tests
* core: fix testsFelix Lange2015-03-181-2/+3
|
* Add additional extra database for non-protocol related dataobscuren2015-03-121-1/+1
| | | | * Add transaction to extra database after a successful block process
* Fixed testsobscuren2015-03-071-4/+5
|
* Added GetBlock GetUncle with OOB guardobscuren2015-02-181-0/+34