Why does the topic and the OP still say 140,000 MAX coins when the source code clearly says 210,000 MAX coins?
static const int64 MAX_MONEY = 210000 * COIN;
If you calculate with block halving, it comes out to 140K total coins, not 210K. Do the math.
Actually I did the math.
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 1.0 * COIN;
// Subsidy is cut in half every 70000 blocks, which will occur approximately
nSubsidy >>= (nHeight / 70000); // Astrocoin: 70k blocks
return nSubsidy + nFees;
}
In your GetBlockValue routine when block height = 4480000 then (nHeight / 70000) will be 64 which will cause the right shift to wrap around and start giving rewards again. (Test it
http://ideone.com/C36ZP9)
Not that you probably have to worry about this coin surviving for 4.48 million blocks
At block 4480001 the total coins will exceed 140,000, and reach 210,000 at block 4550002
But why specify 210000 as MAX_COIN if the intention is 140000 ?