From: CryptoManiac Date: Fri, 28 Aug 2015 16:37:40 +0000 (+0300) Subject: Remove contracts from Hash.Equals, Hash.CompareTo and Hash.!=. X-Git-Url: https://git.novaco.in/?a=commitdiff_plain;h=af8c3655fbf8b7d04759566be792fa13581585f7;hp=dc404affad8bec3dc2f233fec4fc8e57cd2675a0;p=NovacoinLibrary.git Remove contracts from Hash.Equals, Hash.CompareTo and Hash.!=. --- diff --git a/Novacoin/Hash.cs b/Novacoin/Hash.cs index bbb01bf..941854f 100644 --- a/Novacoin/Hash.cs +++ b/Novacoin/Hash.cs @@ -82,13 +82,20 @@ namespace Novacoin public bool Equals(Hash item) { - Contract.Requires((object)item != null, "Null reference is not allowed."); + if ((object)item == null) + { + return false; + } return _hashBytes.SequenceEqual((byte[])item); } public override bool Equals(object o) { - Contract.Requires(o != null, "Null reference is not allowed."); + if (o == null) + { + return false; + } + return _hashBytes.SequenceEqual(((Hash)o)._hashBytes); } @@ -107,9 +114,6 @@ namespace Novacoin public int CompareTo(Hash item) { - Contract.Requires((object)item != null, "Null reference is not allowed."); - Contract.Requires(item.hashSize == hashSize, "Hashes must have the same size."); - if (this > item) { return 1; @@ -130,9 +134,13 @@ namespace Novacoin for (int i = a.hashSize - 1; i >= 0; i--) { if (a._hashBytes[i] < b._hashBytes[i]) + { return true; + } else if (a._hashBytes[i] > b._hashBytes[i]) + { return false; + } } return false; @@ -146,9 +154,13 @@ namespace Novacoin for (int i = a.hashSize - 1; i >= 0; i--) { if (a._hashBytes[i] < b._hashBytes[i]) + { return true; + } else if (a._hashBytes[i] > b._hashBytes[i]) + { return false; + } } return false; @@ -162,9 +174,13 @@ namespace Novacoin for (int i = a.hashSize - 1; i >= 0; i--) { if (a._hashBytes[i] > b._hashBytes[i]) + { return true; + } else if (a._hashBytes[i] < b._hashBytes[i]) + { return false; + } } return false; @@ -178,9 +194,13 @@ namespace Novacoin for (int i = a.hashSize - 1; i >= 0; i--) { if (a._hashBytes[i] > b._hashBytes[i]) + { return true; + } else if (a._hashBytes[i] < b._hashBytes[i]) + { return false; + } } return true; @@ -196,10 +216,7 @@ namespace Novacoin public static bool operator !=(Hash a, Hash b) { - Contract.Requires((object)a != null && (object)b != null, "Null references are not allowed."); - Contract.Requires(a.hashSize == b.hashSize, "Hashes must have the same size."); - - return !a.Equals(b); + return !(a == b); } public override string ToString()