diff --git a/packages/neo-one-node-vm/lib/Dispatcher.csproj b/packages/neo-one-node-vm/lib/Dispatcher.csproj
index dfd61c9da0..5af090e5d7 100644
--- a/packages/neo-one-node-vm/lib/Dispatcher.csproj
+++ b/packages/neo-one-node-vm/lib/Dispatcher.csproj
@@ -14,8 +14,8 @@
-
+
+
diff --git a/packages/neo-one-node-vm/lib/ReturnHelpers.cs b/packages/neo-one-node-vm/lib/ReturnHelpers.cs
index 056e61ae85..e3261f3e50 100644
--- a/packages/neo-one-node-vm/lib/ReturnHelpers.cs
+++ b/packages/neo-one-node-vm/lib/ReturnHelpers.cs
@@ -106,6 +106,18 @@ public MapReturn(Map item)
}
}
+ public class BufferReturn
+ {
+ public byte[] value;
+ public StackItemType Type => StackItemType.Buffer;
+ public readonly bool IsNull;
+ public BufferReturn(Neo.VM.Types.Buffer item)
+ {
+ this.value = item.InnerBuffer;
+ this.IsNull = item.IsNull;
+ }
+ }
+
public class InteropInterfaceReturn
{
public dynamic value;
@@ -135,7 +147,7 @@ public static dynamic convertStackItem(StackItem item)
return item.Type switch
{
StackItemType.Any => item,
- StackItemType.Buffer => item,
+ StackItemType.Buffer => new BufferReturn((Neo.VM.Types.Buffer)item),
StackItemType.Pointer => new PointerReturn((Neo.VM.Types.Pointer)item),
StackItemType.Array => new ArrayReturn((Neo.VM.Types.Array)item),
StackItemType.Struct => new StructReturn((Struct)item),