diff options
author | obscuren <geffobscura@gmail.com> | 2014-12-02 03:20:55 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-12-02 03:20:55 +0800 |
commit | d33987cb44529db4f3e117d4b242b1796d41520d (patch) | |
tree | 7f5575166458481c1a7598f01294955980b0d2c9 | |
parent | 6dc46d3341dc5fa25bd005f9606de258874139be (diff) | |
download | dexon-d33987cb44529db4f3e117d4b242b1796d41520d.tar dexon-d33987cb44529db4f3e117d4b242b1796d41520d.tar.gz dexon-d33987cb44529db4f3e117d4b242b1796d41520d.tar.bz2 dexon-d33987cb44529db4f3e117d4b242b1796d41520d.tar.lz dexon-d33987cb44529db4f3e117d4b242b1796d41520d.tar.xz dexon-d33987cb44529db4f3e117d4b242b1796d41520d.tar.zst dexon-d33987cb44529db4f3e117d4b242b1796d41520d.zip |
Additional fees for *COPY
-rw-r--r-- | vm/vm_debug.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vm/vm_debug.go b/vm/vm_debug.go index 18d3018a0..b9c1d4bc6 100644 --- a/vm/vm_debug.go +++ b/vm/vm_debug.go @@ -264,6 +264,12 @@ func (self *DebugVm) RunClosure(closure *Closure) (ret []byte, err error) { newMemSize.Div(newMemSize, u256(32)) newMemSize.Mul(newMemSize, u256(32)) + switch op { + // Additional gas usage on *CODPY + case CALLDATACOPY, CODECOPY, EXTCODECOPY: + addStepGasUsage(new(big.Int).Div(newMemSize, u256(32))) + } + if newMemSize.Cmp(u256(int64(mem.Len()))) > 0 { memGasUsage := new(big.Int).Sub(newMemSize, u256(int64(mem.Len()))) memGasUsage.Mul(GasMemory, memGasUsage) |