d8ac0cf925f9239ad061f4257333f63119aa5b86
[NovacoinLibrary.git] / Novacoin / NetInfo.cs
1 \feffusing System;
2
3 namespace Novacoin
4 {
5     internal class NetUtils
6     {
7         public static uint256 nProofOfWorkLimit = ~(new uint256(0)) >> 20;        // "standard" scrypt target limit for proof of work, results with 0,000244140625 proof-of-work difficulty
8         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
9
10         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
11         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
12
13         public static uint256 nPoWBase = new uint256("00000000ffff0000000000000000000000000000000000000000000000000000"); // difficulty-1 target
14
15         public static uint nChainChecksSwitchTime = 1379635200; // Fri, 20 Sep 2013 00:00:00 GMT
16
17         public static readonly uint nLockTimeThreshold = 500000000;
18         private static readonly uint nDrift = 7200;
19
20         public static uint GetAdjustedTime()
21         {
22             return Interop.GetTime();
23         }
24
25         public static uint FutureDrift(uint nTime)
26         {
27             return nTime + nDrift; // up to 2 hours from the future
28         }
29
30         public static uint PastDrift(uint nTime)
31         {
32             return nTime - nDrift; // up to 2 hours from the past
33         }
34     }
35 }