* Add random to block metadata and fix `sys_prevrandao`
* Minor
* Observe block_random
* Write block_random
* cargo fmt
* block_random: H256
* Move sys_prevrandao to metadata.asm and delete syscall_stubs.asm
* Set block_random in set_block_metadata_target
* Minor
* Minor
* Fix call gas + precompiles can be non-existent
* Memory expansion before call gas
* Minor
* Add call_gas.asm
* EIP-2200: If gasleft is less than or equal to gas stipend, fail the current call frame with ‘out of gas’ exception.
* Start
* Some sha256 test passing
* precompiles folder
* Files reorg
* Progress
* Minor
* Start of sha2 interface
* All call opcodes
* ecrec
* rip160
* Fix copy_returndata_to_mem
* id
* bn_add
* bn_mul
* TODOs for snarkv and blake2
* Comments
* Use charge_gas_const when possible
* Minor
* Minor
* Minor
* PR feedback
* Add new segment and global metadata
* Insert into self-destruct set
* Implement sys_selfdestruct
* PR feedback
* Fix stack underflow
* Forgot that NOT 1 ≠ 0. Added %not_bit macro for that.
* Implement syscalls for BYTE, SIGNEXTEND, SAR, SLT and SGT.
* Implement SDIV and SMOD; minor documentation and tidying.
* Implement EXP.
* Add sys_byte to the syscall jumptable.
* Test suite for signed syscalls.
* Handle `EXIT_KERNEL` "properly".
* Add gas charges; rename label.
* Uppercase all opcodes.
* Add test for BYTE; fix bug in BYTE.
* Calculate and charge gas for calling `EXP`.
* Fix gas calculation for `exponent = 0`.
* Address Jacqui's comments.
* Remove BYTE syscall as it will be implemented natively.
* Oops, forgot to remove this bit.
The old code was outdated in various ways, e.g. it was trying to share code with contract-creation txns, so I would ignore the diff and just look at the new code.
Still a bunch of TODOs left here, like actually saving code that's returned.
* Working linear search
* Working linear search for storage keys
* Macros
* Gas for wextaccount
* Add origin and to to the access list
* Handle precompiles
* Fixes
* Other opcodes
* Access list SLOAD
* Minor
* Add TODO for SSTORE
* Comments
* Clippy
* Minor
* PR feedback: cold_access
* PR feedback: simplify insert_accessed_addresses_no_return macro
* Fix sys_selfdestruct
* Store length in global metadata and store arrays in kernel memory
* Truncate address in all *CALL syscalls