diff options
author | Determinant <tederminant@gmail.com> | 2020-07-02 01:36:18 -0400 |
---|---|---|
committer | Determinant <tederminant@gmail.com> | 2020-07-02 01:36:18 -0400 |
commit | ca6847998d867dc5d66e76a03bda9c72ae8d287b (patch) | |
tree | c6eb50a6e8c2d441d77468492c797c6c59885c46 /core/vm/memory_table.go | |
parent | 2d396b3c69a26e4096ccb376c012911d299c68c7 (diff) |
make MultiCoin.transfer work
Diffstat (limited to 'core/vm/memory_table.go')
-rw-r--r-- | core/vm/memory_table.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/vm/memory_table.go b/core/vm/memory_table.go index 4fcb414..047f610 100644 --- a/core/vm/memory_table.go +++ b/core/vm/memory_table.go @@ -70,6 +70,22 @@ func memoryCall(stack *Stack) (uint64, bool) { } return y, false } + +func memoryCallExpert(stack *Stack) (uint64, bool) { + x, overflow := calcMemSize64(stack.Back(7), stack.Back(8)) + if overflow { + return 0, true + } + y, overflow := calcMemSize64(stack.Back(5), stack.Back(6)) + if overflow { + return 0, true + } + if x > y { + return x, false + } + return y, false +} + func memoryDelegateCall(stack *Stack) (uint64, bool) { x, overflow := calcMemSize64(stack.Back(4), stack.Back(5)) if overflow { |