1 from hashlib import sha256
2 from struct import unpack
6 return sha256(sha256(b).digest()).digest()
10 for i in range(0, len(b), 4):
11 o += b[i + 3:i - 1 if i else None:-1]
14 def Bits2Target(bits):
15 return unpack('<L', bits[:3] + b'\0')[0] * 2**(8*(bits[3] - 3))
18 n = unpack('<QQQQ', h)
19 n = (n[3] << 192) | (n[2] << 128) | (n[1] << 64) | n[0]
22 def tryErr(logger, func, *a, **kw):
26 logger.error(traceback.format_exc())
29 class RejectedShare(ValueError):