using System;
namespace Novacoin
{
///
/// Basic network params.
///
internal class NetInfo
{
///
/// "standard" scrypt target limit for proof of work, results with 0,000244140625 proof-of-work difficulty
///
public static uint256 nProofOfWorkLimit = ~(new uint256(0)) >> 20;
///
/// Proof of stake target limit from block #15000 and until 20 June 2013, results with 0,00390625 proof of stake difficulty
///
public static uint256 nProofOfStakeLegacyLimit = ~(new uint256(0)) >> 24;
///
/// Proof of stake target limit since 20 June 2013, equal to 0.03125 proof of stake difficulty
///
public static uint256 nProofOfStakeLimit = ~(new uint256(0)) >> 27;
///
/// Disabled temporarily, will be used in the future to fix minimal proof of stake difficulty at 0.25
///
public static uint256 nProofOfStakeHardLimit = ~(new uint256(0)) >> 30;
///
/// Difficulty-1 target
///
public static uint256 nPoWBase = new uint256("00000000ffff0000000000000000000000000000000000000000000000000000");
///
/// Fri, 20 Sep 2013 00:00:00 GMT
///
public static uint nChainChecksSwitchTime = 1379635200;
///
/// Hash of block #0
///
public static uint256 nHashGenesisBlock = new uint256("00000a060336cbb72fe969666d337b87198b1add2abaa59cca226820b32933a4");
public static readonly uint nLockTimeThreshold = 500000000;
///
/// Allowed clock drift.
///
private static readonly uint nDrift = 7200;
///
/// Maximum possible proof-of-work reward.
///
public const ulong nMaxMintProofOfWork = CTransaction.nCoin * 100;
public static uint GetAdjustedTime()
{
return Interop.GetTime();
}
public static uint FutureDrift(uint nTime)
{
return nTime + nDrift; // up to 2 hours from the future
}
public static uint PastDrift(uint nTime)
{
return nTime - nDrift; // up to 2 hours from the past
}
}
}