aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/contract.go
Commit message (Collapse)AuthorAgeFilesLines
* core, core/vm: implemented a generic environment (#3348)Jeffrey Wilcke2016-12-061-8/+5
| | | | | | | | Environment is now a struct (not an interface). This reduces a lot of tech-debt throughout the codebase where a virtual machine environment had to be implemented in order to test or run it. The new environment is suitable to be used en the json tests, core consensus and light client.
* cmd, core, internal, light, tests: avoid hashing the code in the VMPéter Szilágyi2016-10-011-4/+7
|
* all: update license informationFelix Lange2016-04-151-1/+1
|
* core: Added EVM configuration optionsJeffrey Wilcke2016-03-241-3/+3
| | | | | The EVM is now initialised with an additional configured object that allows you to turn on debugging options.
* core, core/vm, crypto: fixes for homesteadJeffrey Wilcke2016-02-181-15/+29
| | | | | | * Removed some strange code that didn't apply state reverting properly * Refactored code setting from vm & state transition to the executioner * Updated tests
* parmas, crypto, core, core/vm: homestead consensus protocol changesGustav Simonsson2016-02-181-1/+15
| | | | | | | | * change gas cost for contract creating txs * invalidate signature with s value greater than secp256k1 N / 2 * OOG contract creation if not enough gas to store code * new difficulty adjustment algorithm * new DELEGATECALL op code
* core/vm: resolve circular dependency to debug vm storagePéter Szilágyi2016-01-121-0/+7
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-2/+2
| | | | | | * 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-0/+126
* 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`.