+
+ for _, prevout := range tx.MainchainOutputIDs {
+ if view.HasUtxo(&prevout) {
+ continue
+ }
+
+ data := db.Get(calcUtxoKey(&prevout))
+ if data == nil {
+ view.Entries[prevout] = storage.NewUtxoEntry(storage.CrosschainUTXOType, 0, false)
+ continue
+ }
+
+ var utxo storage.UtxoEntry
+ if err := proto.Unmarshal(data, &utxo); err != nil {
+ return errors.Wrap(err, "unmarshaling mainchain ouput entry")
+ }
+
+ view.Entries[prevout] = &utxo
+ }