- Nov 27, 2015
-
-
Péter Szilágyi authored
-
- Nov 19, 2015
-
-
Péter Szilágyi authored
-
- Nov 18, 2015
-
-
Jeffrey Wilcke authored
The runtime environment can be used for simple basic execution of contract code without the requirement of setting up a full stack and operates fully in memory.
-
Jeffrey Wilcke authored
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).
-
- Oct 28, 2015
-
-
Péter Szilágyi authored
-
- Oct 22, 2015
-
-
Péter Szilágyi authored
-
- Oct 21, 2015
-
-
Péter Szilágyi authored
-
Jeffrey Wilcke authored
Make sure that we're fetching the hash from the current chain and not the canonical chain.
-
- Oct 19, 2015
-
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Oct 17, 2015
-
-
Felix Lange authored
The amount of gas available for tx execution was tracked in the StateObject representing the coinbase account. This commit makes the gas counter a separate type in package core, which avoids unintended consequences of intertwining the counter with state logic.
-
- Oct 16, 2015
-
-
Jeffrey Wilcke authored
-
Jeffrey Wilcke authored
* multi-push segments * static jumps segments
-
Jeffrey Wilcke authored
Moved the execution of instructions to the instruction it self. This will allow for specialised instructions (e.g. segments) to be execution in the same manner as regular instructions.
-
Jeffrey Wilcke authored
Log filtering is now using a MIPmap like approach where addresses of logs are added to a mapped bloom bin. The current levels for the MIP are in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are therefor filtered in batches of 1.000.
-
Gustav Simonsson authored
-
- Oct 15, 2015
-
-
Jeffrey Wilcke authored
-
- Oct 12, 2015
-
-
Péter Szilágyi authored
-
- Oct 11, 2015
-
-
Péter Szilágyi authored
-
- Oct 08, 2015
-
-
Jeffrey Wilcke authored
-
- Oct 07, 2015
-
-
Gustav Simonsson authored
-
- Oct 06, 2015
-
-
Gustav Simonsson authored
-
- Oct 05, 2015
-
-
Jeffrey Wilcke authored
Due to a rebase this probably got overlooked / ignored. This fixes the issue of a block insertion never writing the last block.
-
- Oct 03, 2015
-
-
Jeffrey Wilcke authored
* Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
-
Jeffrey Wilcke authored
* 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`.
-
- Oct 02, 2015
-
-
Jeffrey Wilcke authored
Moved the filtering system from `event` to `eth/filters` package and removed the `core.Filter` object. The `filters.Filter` object now requires a `common.Database` rather than a `eth.Backend` and invokes the `core.GetBlockByX` directly rather than thru a "manager".
-
Jeffrey Wilcke authored
This PR solves an issue with the chain manager posting a `RemovedTransactionEvent`, the tx pool will try to acquire the chainmanager lock which has previously been locked prior to posting `RemovedTransactionEvent`. This results in a deadlock in the core.
-
- Sep 29, 2015
-
-
Péter Szilágyi authored
-
- Sep 24, 2015
-
-
Péter Szilágyi authored
-
- Sep 22, 2015
-
-
Felix Lange authored
The test genesis block was not written properly, block insertion failed immediately. While here, fix the panic when shutting down "geth blocktest" with Ctrl+C. The signal handler is now installed automatically, causing ethereum.Stop to crash because everything is already stopped.
-
Felix Lange authored
-
Felix Lange authored
-
Gustav Simonsson authored
-
- Sep 21, 2015
-
-
Jeffrey Wilcke authored
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
-