Fix multiplication bug.
[NovacoinLibrary.git] / Novacoin / uint160.cs
index c5731b5..9d64fda 100644 (file)
@@ -213,7 +213,7 @@ namespace Novacoin
             return result;
         }
 
-        public static uint160 operator *(uint160 a, uint multiplier)
+        public static uint160 operator *(uint160 a, ulong multiplier)
         {
             var result = new uint160();
 
@@ -222,7 +222,7 @@ namespace Novacoin
 
             do
             {
-                c += a.pn[i] * (ulong)multiplier;
+                c += a.pn[i] * multiplier;
                 result.pn[i] = (uint)c;
                 c >>= 32;
             } while (++i < result.nWidth);
@@ -255,7 +255,7 @@ namespace Novacoin
                     return b;
                 }
 
-                return a * b.pn[0];
+                return b * a.pn[0];
             }
 
             int m = a.bits / 32 + (a.bits % 32 != 0 ? 1 : 0);