- Update CALL opcode to pass blockchain tests
- Update gas calculations for CALL and RETURN opcodes
- Move state management out of the EVM and use
AccountInterface
instead
- Add basic implementation of the CALL opcode
- Update interfaces to match
Blockchain
downstream - Add
Block.Header.hash/1
function
- Subtract gas before running operations
- Move program counter logic to its own module
- Refactor memory gas cost calculations
- Update gas cost calculations
- Move process counter manipulation into the opcode implementations
- Fixed
BLOCKHASH
opcode
- Add in a full debugger
- Add in parameters that could be tweaked by different chains (e.g.
min_gas_limit
in Ropsten) - Add Bitwise logic opcodes and SHA3
- Add
CREATE
,CALL
,CALLCODE
andDELEGATECALL
op calls - Add block information opcodes
- Large refactor / cleanup of how opcodes are run / organized.
- Added significant number of mathematic opcodes.
- Added common test suite for verify result of opcodes.
- Fixed gas calculation for a number of opcodes.
- Expand allowed trie definition from EVM.
- Fix typespec to allow nil return from
EVM.VM.run/3
.
- Fix all typespec issues and get dialyzer returning straight greens.