Martin Holst Swende
081642ed25
Eip 1344 (ChainID opcode) ( #19921 )
...
* core/vm: implement EIP 1344 (ChainID opcode)
* core/vm: formatting
5 years ago
Martin Holst Swende
3e993ff64a
Eip 1884 v3 ( #19743 )
...
* core/vm, tests: implement EIP 1884, add support for feature-tests
* core/vm: 1884-changes to extcodehash, move selfbalance opcode
* tests: fix statetests
* core/vm: move constants, address review concerns
* core/vm: word formatting
Co-Authored-By: Péter Szilágyi <peterke@gmail.com>
5 years ago
gary rong
2433349c80
core/vm, params: implement EXTCODEHASH opcode ( #17202 )
...
* core/vm, params: implement EXTCODEHASH opcode
* core, params: tiny fixes and polish
* core: add function description
6 years ago
gary rong
cab1cff11c
core, crypto, params: implement CREATE2 evm instrction ( #17196 )
...
* core, crypto, params: implement CREATE2 evm instrction
* core/vm: add opcode to string mapping
* core: remove past fork checking
* core, crypto: use option2 to generate new address
6 years ago
Guillaume Ballet
598f786aab
core/vm: clear linter warnings ( #17057 )
...
* core/vm: clear linter warnings
* core/vm: review input
* core/vm.go: revert lint in noop as per request
6 years ago
kiel barry
a7720b5926
core: golint updates for this or self warning ( #16633 )
7 years ago
Martin Holst Swende
44d40ffce1
core, vm, common: define constantinople fork + shift ( #16045 )
...
* core, vm, common: define constantinople fork, start implementation of shift instructions
* vm: more testcases
* vm: add tests for intpool erroneous intpool handling
* core, vm, common: fix constantinople review concerns
* vm: add string<->op definitions for new opcodes
7 years ago
Jeffrey Wilcke
b70a73cd3e
core/vm: implement REVERT metropolis opcode
7 years ago
Jeffrey Wilcke
9bd6068fef
core/vm: implement RETURNDATA metropolis opcodes
7 years ago
Jeffrey Wilcke
3d123bcde6
core/vm: implement metropolis static call opcode
7 years ago
Jeffrey Wilcke
57f4e90257
Revert "params: core, core/vm, miner: 64bit gas instructions ( #3514 )"
...
This reverts commit 8b57c49490
.
8 years ago
Benjamin Brent
55522373fd
core/vm: fix GASPRICE string ( resolves #2553 )
8 years ago
Jeffrey Wilcke
b6d88a0e9f
core, core/vm, crypto: fixes for homestead
...
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
9 years ago
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
9 years ago
Jeffrey Wilcke
8c85532412
core/vm: added parsing utilities
9 years ago
Jeffrey Wilcke
b196278044
core/vm: added JIT segmenting / optimisations
...
* multi-push segments
* static jumps segments
9 years ago
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`.
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
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".
9 years ago
Jeffrey Wilcke
8b5a65c14a
core/vm: added str to op
9 years ago
Felix Lange
ea54283b30
all: update license information
9 years ago
obscuren
fa4aefee44
core/vm: cleanup and renames
10 years ago
obscuren
0330077d76
moved state and vm to core
10 years ago
obscuren
ca1b2a1a91
Changed prev_hash to block_hash, state transition now uses vm env
...
* PREVHASH => BLOCKHASH( N )
* State transition object uses VMEnv as it's query interface
* Updated vm.Enviroment has GetHash( n ) for BLOCKHASH instruction
* Added GetHash to xeth, core, utils & test environments
10 years ago
obscuren
3d9a4e7084
Fixed mem error in vm. Fixed logs tests
10 years ago
obscuren
cb4d168ecc
Updated LOG to match proper gas in all cases
10 years ago
obscuren
60cdb1148c
Transaction execution fixes
10 years ago
obscuren
1b1fa049fa
Fixed VM and added static analysis for EVM jumps
10 years ago
obscuren
141d3caabb
Re-org op codes
10 years ago
obscuren
272d58662c
Implemented LOG. Closes #159
10 years ago
obscuren
29b8a0bc5f
Updated the VM & VM tests
...
* Stack Error shouldn't revert to previous state
* Updated VM Test tool
* Added Transfer method to VM Env
10 years ago
obscuren
20c742e474
Moved ethvm => vm
10 years ago
obscuren
febec5ca4a
Switch EXT* codes
10 years ago
obscuren
c5bd32b0ad
Refactored VM to two separate VMs; std & debug
...
Standard VM should be about 10x faster than the debug VM. Some error
checking has been removed, all of the log statements and therefor quite
some unnecessary if-statements.
10 years ago
obscuren
9b60cf267a
Removed POST & moved CALLCODE
10 years ago
obscuren
a63b74e345
New OPCODES
...
* EXT- CODECOPY, CODESIZE
10 years ago
obscuren
3f904bf3ac
Implemented POST
10 years ago
obscuren
d03ab3c976
invalidated SWAP/DUP
10 years ago
obscuren
854d6d4e5c
DUP/SWAP n & ADD/MULMOD
10 years ago
obscuren
a289a77d5d
DUP n SWAP n
10 years ago
obscuren
1e8b54abfb
Refactored state, state object and vm
...
* The State and StateObject have been moved to their own package
* The VM is moved to it's own package
10 years ago
obscuren
1b431f29e5
Added missing types
11 years ago
obscuren
8a885c2606
Fixed GT and LT
11 years ago
obscuren
63883bf27d
Moving closer to interop
11 years ago
obscuren
d078e9b8c9
Refactoring state transitioning
11 years ago
obscuren
b855e5f7df
Changed opcode numbers and added missing opcodes
11 years ago
obscuren
98d4b51120
Changed opcode names
11 years ago
obscuren
281559d427
Canonical contract creation
11 years ago
obscuren
f0440e85dc
Removed value from closure.
11 years ago
obscuren
a0af7de58e
Optimizations
11 years ago