public void Initialize(ulong serverDiff)
{
if (serverDiff == 0)
{
uint diff = Utils.HexStringToUInt(mDifficulty);
int diffBytes = ((int)diff >> 24) & 0x000000FF;
strTarget = "";
for (int i = 0; i < diffBytes - 3; i++)
{
strTarget += "00";
}
strTarget += string.Format("{0:X2}", (byte)diff);
strTarget += string.Format("{0:X2}", (byte)((int)diff >> 8));
strTarget += string.Format("{0:X2}", (byte)((int)diff >> 16));
for (int i = diffBytes; i < 32; i++)
{
strTarget += "00";
}
}
else
{
strTarget = "000000000000000000000000000000000000000000000000";
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 8));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 16));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 24));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 32));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 40));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 48));
strTarget += string.Format("{0:X2}", (byte)((long)serverDiff >> 56));
}
target = Utils.HexStringToByteArray(strTarget);
//Utils.ByteSwapIntegers(target);
mHashMan = new HashManager();
}