Checkpoints valudation, PoW reward calculation and continue working on block index.
[NovacoinLibrary.git] / Novacoin / NetInfo.cs
index 1cf6f54..4e0d519 100644 (file)
@@ -2,23 +2,58 @@
 
 namespace Novacoin
 {
-    internal class NetUtils
+    /// <summary>
+    /// Basic network params.
+    /// </summary>
+    internal class NetInfo
     {
-        public static uint256 nProofOfWorkLimit = ~(new uint256(0)) >> 20;        // "standard" scrypt target limit for proof of work, results with 0,000244140625 proof-of-work difficulty
-        public static uint256 nProofOfStakeLegacyLimit = ~(new uint256(0)) >> 24; // proof of stake target limit from block #15000 and until 20 June 2013, results with 0,00390625 proof of stake difficulty
+        /// <summary>
+        /// "standard" scrypt target limit for proof of work, results with 0,000244140625 proof-of-work difficulty
+        /// </summary>
+        public static uint256 nProofOfWorkLimit = ~(new uint256(0)) >> 20;
 
-        public static uint256 nProofOfStakeLimit = ~(new uint256(0)) >> 27;       // proof of stake target limit since 20 June 2013, equal to 0.03125  proof of stake difficulty
-        public static uint256 nProofOfStakeHardLimit = ~(new uint256(0)) >> 30;   // disabled temporarily, will be used in the future to fix minimal proof of stake difficulty at 0.25
+        /// <summary>
+        /// Proof of stake target limit from block #15000 and until 20 June 2013, results with 0,00390625 proof of stake difficulty
+        /// </summary>
+        public static uint256 nProofOfStakeLegacyLimit = ~(new uint256(0)) >> 24;
 
-        public static uint256 nPoWBase = new uint256("00000000ffff0000000000000000000000000000000000000000000000000000"); // difficulty-1 target
+        /// <summary>
+        /// Proof of stake target limit since 20 June 2013, equal to 0.03125  proof of stake difficulty
+        /// </summary>
+        public static uint256 nProofOfStakeLimit = ~(new uint256(0)) >> 27;
 
-        public static uint nChainChecksSwitchTime = 1379635200; // Fri, 20 Sep 2013 00:00:00 GMT
+        /// <summary>
+        /// Disabled temporarily, will be used in the future to fix minimal proof of stake difficulty at 0.25
+        /// </summary>
+        public static uint256 nProofOfStakeHardLimit = ~(new uint256(0)) >> 30;
 
+        /// <summary>
+        /// Difficulty-1 target
+        /// </summary>
+        public static uint256 nPoWBase = new uint256("00000000ffff0000000000000000000000000000000000000000000000000000");
+
+        /// <summary>
+        /// Fri, 20 Sep 2013 00:00:00 GMT
+        /// </summary>
+        public static uint nChainChecksSwitchTime = 1379635200;
+
+        /// <summary>
+        /// Hash of block #0
+        /// </summary>
         public static uint256 nHashGenesisBlock = new uint256("00000a060336cbb72fe969666d337b87198b1add2abaa59cca226820b32933a4");
 
         public static readonly uint nLockTimeThreshold = 500000000;
+
+        /// <summary>
+        /// Allowed clock drift.
+        /// </summary>
         private static readonly uint nDrift = 7200;
 
+        /// <summary>
+        /// Maximum possible proof-of-work reward.
+        /// </summary>
+        public const ulong nMaxMintProofOfWork = CTransaction.nCoin * 100;
+
         public static uint GetAdjustedTime()
         {
             return Interop.GetTime();