public static bool Get(ExecutionEngine engine) { //StorageContext context, byte[] key //OR //StorageContext context, string key //returns byte[] var context = engine.EvaluationStack.Pop(); var item = (VM.Types.ByteArray)engine.EvaluationStack.Pop(); var key = item.GetByteArray(); var data = OnGet != null?OnGet(key) : null; if (data == null) { data = new byte[0]; } var result = new VM.Types.ByteArray(data); engine.EvaluationStack.Push(result); return(true); }
private void TestToParameter2ByteArray() { StackItem item = new VM.Types.ByteArray(new byte[] { 0x00 }); ContractParameter parameter = VM.Helper.ToParameter(item); Assert.AreEqual(ContractParameterType.ByteArray, parameter.Type); Assert.AreEqual(Encoding.Default.GetString(new byte[] { 0x00 }), Encoding.Default.GetString((byte[])parameter.Value)); }
public static bool Get(ExecutionEngine engine) { //StorageContext context, byte[] key //OR //StorageContext context, string key //returns byte[] var context = engine.EvaluationStack.Pop(); var item = (VM.Types.ByteArray)engine.EvaluationStack.Pop(); var key = item.GetByteArray(); var storage = context.GetInterface <Storage>(); var data = storage.Read(key); var result = new VM.Types.ByteArray(data); engine.EvaluationStack.Push(result); return(true); }