diff --git a/pkg/core/native/interop.go b/pkg/core/native/interop.go index a7d97dce4..e106e321c 100644 --- a/pkg/core/native/interop.go +++ b/pkg/core/native/interop.go @@ -50,9 +50,12 @@ func Call(ic *interop.Context) error { ctx := ic.VM.Context() args := make([]stackitem.Item, len(m.MD.Parameters)) for i := range args { - args[i] = ic.VM.Estack().Pop().Item() + args[i] = ic.VM.Estack().Peek(i).Item() } result := m.Func(ic, args) + for range m.MD.Parameters { + ic.VM.Estack().Pop() + } if m.MD.ReturnType != smartcontract.VoidType { ctx.Estack().PushItem(result) }