jwasinger 99ebf767b9
Refactor witness-accumulation in EVM (#42)
* make push dynamically-charged.  charge witness gas costs for push.  refactor evm witness gas charging to move logic for touching a range of bytecode into a helper method 'touchEachChunksAndChargeGas'

* add witness gas calculation for CodeCopy, ExtCodeCopy, SLoad back to gas_table.go

* witness gas charging for CALL

* remove explicit reference to evm.TxContext

* core/vm: make touchEachChunksAndCharge gas handle nil code value

* core/vm: call implementation, separate out witnesses into touch/set

* some fixes

* remove witness touching from opCall: this will go in evm.go

* remove witness touching for call from gas_table.go

* (hopefully) fix tests

* add SSTORE witness charging that was removed mistakenly

* charge witness gas for call

* clean up and comment touchEachChunksAndChargeGas

* make suggested changes

* address remaining points

* fix build issues

* remove double-charging for contract creation witness gas charging
2021-12-16 11:21:59 +01:00
..
2021-11-26 16:30:06 +01:00
2014-12-04 10:28:02 +01:00
2017-05-25 17:14:33 +03:00
2021-11-26 16:38:20 +01:00
2021-08-25 18:46:29 +02:00
2021-10-27 13:08:51 +02:00
2018-12-14 11:15:31 +01:00