a899fbd17e6e43a43268621a57a29cd6b094b610
[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 readonly uint nLockTimeThreshold = 500000000;
16         private static readonly uint nDrift = 7200;
17
18         public static uint GetAdjustedTime()
19         {
20             return Interop.GetTime();
21         }
22
23         public static uint FutureDrift(uint nTime)
24         {
25             return nTime + nDrift; // up to 2 hours from the future
26         }
27
28         public static uint PastDrift(uint nTime)
29         {
30             return nTime - nDrift; // up to 2 hours from the past
31         }
32     }
33 }