getTxOutItem()
[NovacoinLibrary.git] / Novacoin / DatabaseObjects.cs
index a78f93b..d9668f5 100644 (file)
@@ -612,7 +612,7 @@ namespace Novacoin
             {
                 reader.Seek(nBlockPos + nTxOffset, SeekOrigin.Begin); // Seek to transaction offset
 
-                if (nTxSize != reader.Read(buffer, 0, nTxSize))
+                if (nTxSize != reader.Read(buffer, 0, (int)nTxSize))
                 {
                     return false;
                 }
@@ -647,9 +647,9 @@ namespace Novacoin
         /// Transaction size accessor
         /// </summary>
         [Ignore]
-        public int nTxSize
+        public uint nTxSize
         {
-            get { return (int)VarInt.DecodeVarInt(TxSize); }
+            get { return (uint)VarInt.DecodeVarInt(TxSize); }
             private set { TxSize = VarInt.EncodeVarInt(value); }
         }
 
@@ -665,6 +665,10 @@ namespace Novacoin
             get { return TransactionFlags == TxFlags.TX_COINSTAKE; }
         }
 
+        public CMerkleNode()
+        {
+        }
+
         public CMerkleNode(CTransaction tx)
         {
             nTime = tx.nTime;
@@ -719,6 +723,12 @@ namespace Novacoin
     public class TxOutItem
     {
         /// <summary>
+        /// Outpoint identifier.
+        /// </summary>
+        [PrimaryKey, AutoIncrement]
+        public long nOutpointID { get; set; }
+
+        /// <summary>
         /// Reference to transaction item.
         /// </summary>
         [ForeignKey(typeof(CMerkleNode), Name = "nMerkleNodeID")]
@@ -782,6 +792,23 @@ namespace Novacoin
     public class InputsJoin : TxOutItem
     {
         public byte[] TransactionHash { get; set; }
+
+        /// <summary>
+        /// To avoid awkwardness of sqlite wrapper.
+        /// </summary>
+        /// <returns></returns>
+        public TxOutItem getTxOutItem()
+        {
+            return new TxOutItem()
+            {
+                nOutpointID = nOutpointID,
+                nMerkleNodeID = nMerkleNodeID,
+                outputFlags = outputFlags,
+                OutputNumber = OutputNumber,
+                OutputValue = OutputValue,
+                scriptPubKey = scriptPubKey
+            };
+        }
     }