Jeffrey Wilcke
14013372ae
core: Added EVM configuration options
...
The EVM is now initialised with an additional configured object that
allows you to turn on debugging options.
2016-03-23 23:02:42 +01:00
Jeffrey Wilcke
342ae7ce7d
core, core/vm, tests: changed the initialisation behaviour of the EVM
...
The EVM was previously initialised and created for every CALL, CALLCODE,
DELEGATECALL and CREATE. This PR changes this behaviour so that the same
EVM can be used through the session and beyond as long as the
Environment sticks around.
2016-03-23 00:04:00 +01:00
Gustav Simonsson
371871d685
parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* 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
2016-02-18 10:08:11 +01:00
Gustav Simonsson
1b1f293082
core/state, core, miner: handle missing root error from state.New
2015-10-16 02:22:06 +02:00
Gustav Simonsson
e1616f77c7
core, core/vm, cmd/evm: remove redundant balance check
2015-10-06 12:42:34 +02:00
Jeffrey Wilcke
361082ec4b
cmd/evm, core/vm, test: refactored VM and core
...
* 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`.
2015-10-04 01:13:54 +02:00
Gustav Simonsson
7324176f70
Add tests for uncle timestamps and refactor timestamp type
2015-08-25 04:46:11 +02:00
Jeffrey Wilcke
9cacec70f9
cmd/evm, core/vm, tests: changed DisableVm to EnableVm
2015-08-11 18:43:22 +02:00
Jeffrey Wilcke
184e9ae9a8
core, tests: reduced state copy by N calls
...
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke
846f34f78b
core/vm, tests: implemented semi-jit vm
...
* changed stack and removed stack ptr. Let go decide on slice reuse.
2015-08-07 12:52:17 +02:00
Jeffrey Wilcke
8fc9830971
cmd/core,xeth: removed unneeded states & added batch writes
2015-07-23 10:45:31 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
bdae4fd573
all: add some godoc synopsis comments
2015-07-07 14:12:45 +02:00
Felix Lange
e813626ee1
all: remove @author comments
2015-07-07 14:12:44 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
2015-06-30 10:52:11 +02:00
obscuren
5cfae0536f
cmd/evm: print trace when running programs
2015-06-10 21:09:12 +02:00
obscuren
f249ccaa89
cmd/evm: implements vm.Environment
2015-06-10 16:46:43 +02:00
obscuren
a7750c929b
Fixed tests to reflect log changes
2015-04-08 20:45:39 +02:00
obscuren
f468364e4d
fixed tests
2015-04-01 11:42:02 +02:00
obscuren
9de1ad6546
fixed tests
2015-03-24 15:27:05 +01:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00
obscuren
13781b922a
converted to proper types
2015-03-22 12:12:29 +01:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
Felix Lange
80985f97da
cmd/evm, core, ethdb, state, tests/helper: remove ReadConfig calls
2015-03-10 02:39:53 +01:00
obscuren
ae45a39dc1
Secure trie
2015-02-28 20:52:29 +01:00
obscuren
57f95c1dc7
fixed test
2015-02-04 17:35:49 -08:00
obscuren
fed3e6a808
Refactored ethutil.Config.Db out
2015-01-07 13:17:48 +01:00
Felix Lange
be97785856
cmd/evm: add dummy implementation for GetHash
...
Fixes the build. AFAIK evm does not bother keeping a chain and
cannot provide a real implementation.
2015-01-06 12:23:37 +01:00
obscuren
117f66e823
Added license headers
2015-01-06 12:13:57 +01:00
obscuren
4dc7ee9087
Closure => Context
2015-01-02 16:14:12 +01:00
obscuren
1085960ed8
fixed trie
2014-12-30 15:58:40 +01:00
obscuren
795b14330a
Fixed EVM environment. Closes #215
2014-12-21 15:13:06 +01:00
obscuren
1fb84d3c5f
Fixed tests
2014-12-10 10:57:19 +01:00
obscuren
3043b233ea
Log is now interface
2014-12-04 12:35:23 +01:00
obscuren
bff5999efa
sort tests for evm
2014-12-04 12:09:22 +01:00
obscuren
3664cd58e3
Updated testing tools
2014-12-04 11:30:41 +01:00
obscuren
6c9e503eb8
Removed all implicit logging. Fixed gas issues and jump errors
2014-11-11 22:52:27 +01:00
obscuren
ad0acb5762
Moved messages eventing to chain manager
2014-11-10 13:27:24 +01:00
obscuren
ebb7db263f
Added dumps
2014-11-10 12:42:16 +01:00
obscuren
d30571a7a8
Added VM testing tool
2014-11-10 11:47:37 +01:00