1cf6f5415bd33a2465bbae837916bc7fe7b4203b
[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 uint256 nHashGenesisBlock = new uint256("00000a060336cbb72fe969666d337b87198b1add2abaa59cca226820b32933a4");
18
19         public static readonly uint nLockTimeThreshold = 500000000;
20         private static readonly uint nDrift = 7200;
21
22         public static uint GetAdjustedTime()
23         {
24             return Interop.GetTime();
25         }
26
27         public static uint FutureDrift(uint nTime)
28         {
29             return nTime + nDrift; // up to 2 hours from the future
30         }
31
32         public static uint PastDrift(uint nTime)
33         {
34             return nTime - nDrift; // up to 2 hours from the past
35         }
36     }
37 }