diff --git a/neo/SmartContract/StateReader.cs b/neo/SmartContract/StateReader.cs index 5ae79fc227..6a7229d034 100644 --- a/neo/SmartContract/StateReader.cs +++ b/neo/SmartContract/StateReader.cs @@ -948,8 +948,12 @@ protected virtual bool Storage_Find(ExecutionEngine engine) StorageContext context = _interface.GetInterface(); if (!CheckStorageContext(context)) return false; byte[] prefix = engine.EvaluationStack.Pop().GetByteArray(); - prefix = context.ScriptHash.ToArray().Concat(prefix).ToArray(); - StorageIterator iterator = new StorageIterator(Storages.Find(prefix).GetEnumerator()); + StorageKey key = new StorageKey + { + ScriptHash = context.ScriptHash, + Key = prefix + }; + StorageIterator iterator = new StorageIterator(Storages.Find(key.ToArray()).GetEnumerator()); engine.EvaluationStack.Push(StackItem.FromInterface(iterator)); disposables.Add(iterator); return true;