1 from hashlib import sha256
2 from struct import unpack
5 return sha256(sha256(b).digest()).digest()
9 for i in range(0, len(b), 4):
10 o += b[i + 3:i - 1 if i else None:-1]
13 def Bits2Target(bits):
14 return unpack('<L', bits[:3] + b'\0')[0] * 2**(8*(bits[3] - 3))
17 n = unpack('<QQQQ', h)
18 n = (n[3] << 192) | (n[2] << 128) | (n[1] << 64) | n[0]
21 class RejectedShare(ValueError):