aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/opcodes.go
Commit message (Collapse)AuthorAgeFilesLines
* core: vm: implement RAND opcode supportWei-Ning Huang2019-06-121-0/+3
| | | | | | DEXON has a built-in on chain random oracle that allow one to retrieve a random variable. Add a new opcode `RAND` to load the random variable onto the stack.
* core/vm, params: implement EXTCODEHASH opcode (#17202)gary rong2018-07-241-0/+3
| | | | | | | | * core/vm, params: implement EXTCODEHASH opcode * core, params: tiny fixes and polish * core: add function description
* core, crypto, params: implement CREATE2 evm instrction (#17196)gary rong2018-07-241-0/+3
| | | | | | | | | | * 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
* core/vm: clear linter warnings (#17057)Guillaume Ballet2018-06-261-16/+21
| | | | | | | | * core/vm: clear linter warnings * core/vm: review input * core/vm.go: revert lint in noop as per request
* core: golint updates for this or self warning (#16633)kiel barry2018-05-021-3/+3
|
* core, vm, common: define constantinople fork + shift (#16045)Martin Holst Swende2018-02-231-0/+9
| | | | | | | | | | | | * 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
* core/vm: implement REVERT metropolis opcodeJeffrey Wilcke2017-08-161-0/+3
|
* core/vm: implement RETURNDATA metropolis opcodesJeffrey Wilcke2017-08-161-151/+156
|
* core/vm: implement metropolis static call opcodeJeffrey Wilcke2017-08-151-0/+3
|
* Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"Jeffrey Wilcke2017-02-131-3/+3
| | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* core/vm: fix GASPRICE string (resolves #2553)Benjamin Brent2016-10-191-1/+1
|
* core, core/vm, crypto: fixes for homesteadJeffrey Wilcke2016-02-181-0/+1
| | | | | | * 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-5/+7
| | | | | | | | * 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: added parsing utilitiesJeffrey Wilcke2015-10-171-3/+11
|
* core/vm: added JIT segmenting / optimisationsJeffrey Wilcke2015-10-171-0/+12
| | | | | * multi-push segments * static jumps segments
* cmd/evm, core/vm, test: refactored VM and coreJeffrey Wilcke2015-10-041-1/+1
| | | | | | | | | | | | | | | | | * 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`.
* 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".
* core/vm: added str to opJeffrey Wilcke2015-07-091-0/+136
|
* all: update license informationFelix Lange2015-07-071-0/+16
|
* core/vm: cleanup and renamesobscuren2015-06-041-0/+334