GetMinTxFee & use unsigned int for sizes.
[NovacoinLibrary.git] / Novacoin / CScript.cs
index 1418a25..2ac0c73 100644 (file)
@@ -73,10 +73,10 @@ namespace Novacoin
         ///    New items are added in this format:
         ///    hash_length_byte hash_bytes
         /// </summary>
-        /// <param name="hash">Hash160 instance</param>
-        public void AddHash(Hash160 hash)
+        /// <param name="hash">uint160 instance</param>
+        public void AddHash(uint160 hash)
         {
-            codeBytes.Add((byte)hash.hashSize);
+            codeBytes.Add((byte)hash.Size);
             codeBytes.AddRange((byte[])hash);
         }
 
@@ -85,10 +85,10 @@ namespace Novacoin
         ///    New items are added in this format:
         ///    hash_length_byte hash_bytes
         /// </summary>
-        /// <param name="hash">Hash256 instance</param>
-        public void AddHash(Hash256 hash)
+        /// <param name="hash">uint256 instance</param>
+        public void AddHash(uint256 hash)
         {
-            codeBytes.Add((byte)hash.hashSize);
+            codeBytes.Add((byte)hash.Size);
             codeBytes.AddRange((byte[])hash);
         }
 
@@ -402,7 +402,7 @@ namespace Novacoin
             // get the last item that the scriptSig
             // pushes onto the stack:
             InstructionQueue wScriptSig = scriptSig.GetInstructionQueue();
-            int nScriptSigSize = scriptSig.Size;
+            uint nScriptSigSize = scriptSig.Size;
 
             instruction opcode; // Current instruction
             byte[] pushArgs = new byte[0]; // OP_PUSHDATAn argument
@@ -501,16 +501,25 @@ namespace Novacoin
         }
 
         /// <summary>
+        /// Implicit cast of byte array to CScript.
+        /// </summary>
+        /// <param name="scriptBytes"></param>
+        public static implicit operator CScript(byte[] scriptBytes)
+        {
+            return new CScript(scriptBytes);
+        }
+
+        /// <summary>
         /// Script size
         /// </summary>
-        public int Size
+        public uint Size
         {
-            get { return codeBytes.Count; }
+            get { return (uint) codeBytes.Count; }
         }
 
         public CScriptID ScriptID
         {
-            get { return new CScriptID(Hash160.Compute160(codeBytes.ToArray())); }
+            get { return new CScriptID(CryptoUtils.ComputeHash160(codeBytes.ToArray())); }
         }
 
         /// <summary>