X-Git-Url: https://git.novaco.in/?p=NovacoinLibrary.git;a=blobdiff_plain;f=Novacoin%2FStakeModifier.cs;fp=Novacoin%2FStakeModifier.cs;h=f8aad9de7e3280b3b475b293a33bd40ab36fe434;hp=788ff4e38a366ea1cbfe86f7d150d0065060fd33;hb=ebe1463806632670bdef2b5af8a405ab061cf058;hpb=cfb4316b04ef91ef3a9397b6039e705e0d1ec979 diff --git a/Novacoin/StakeModifier.cs b/Novacoin/StakeModifier.cs index 788ff4e..f8aad9d 100644 --- a/Novacoin/StakeModifier.cs +++ b/Novacoin/StakeModifier.cs @@ -295,9 +295,12 @@ namespace Novacoin /// The stake modifier used to hash for a stake kernel is chosen as the stake /// modifier about a selection interval later than the coin generating the kernel /// - static bool GetKernelStakeModifier(uint256 hashBlockFrom, ref long nStakeModifier, ref uint nStakeModifierHeight, ref uint nStakeModifierTime) + static bool GetKernelStakeModifier(uint256 hashBlockFrom, out long nStakeModifier, out uint nStakeModifierHeight, out uint nStakeModifierTime) { nStakeModifier = 0; + nStakeModifierTime = 0; + nStakeModifierHeight = 0; + var cursorFrom = CBlockStore.Instance.GetMapCursor(hashBlockFrom); if (cursorFrom == null) { @@ -330,12 +333,12 @@ namespace Novacoin return true; } - public static bool GetKernelStakeModifier(uint256 hashBlockFrom, ref long nStakeModifier) + public static bool GetKernelStakeModifier(uint256 hashBlockFrom, out long nStakeModifier) { uint nStakeModifierHeight = 0; uint nStakeModifierTime = 0; - return GetKernelStakeModifier(hashBlockFrom, ref nStakeModifier, ref nStakeModifierHeight, ref nStakeModifierTime); + return GetKernelStakeModifier(hashBlockFrom, out nStakeModifier, out nStakeModifierHeight, out nStakeModifierTime); } public static bool CheckStakeKernelHash(uint nBits, uint256 hashBlockFrom, uint nTimeBlockFrom, uint nTxPrevOffset, CTransaction txPrev, COutPoint prevout, uint nTimeTx, out uint256 hashProofOfStake, out uint256 targetProofOfStake) @@ -361,10 +364,10 @@ namespace Novacoin targetProofOfStake = nCoinDayWeight * nTargetPerCoinDay; // Calculate hash - long nStakeModifier = 0; - uint nStakeModifierHeight = 0; - uint nStakeModifierTime = 0; - if (!GetKernelStakeModifier(hashBlockFrom, ref nStakeModifier, ref nStakeModifierHeight, ref nStakeModifierTime)) + long nStakeModifier; + uint nStakeModifierTime; + uint nStakeModifierHeight; + if (!GetKernelStakeModifier(hashBlockFrom, out nStakeModifier, out nStakeModifierHeight, out nStakeModifierTime)) { return false; }