def deserialize(cls, serialized):
     assert len(serialized) == 32 * 5
     value = Field(int.from_bytes(serialized[0:32], 'little'))
     fee = Field(int.from_bytes(serialized[32:64], 'little'))
     sig_salt = Point.decompress(serialized[64:96])
     excess = Point.decompress(serialized[96:128])
     metadata = Field(int.from_bytes(serialized[128:160], 'little'))
     instance = cls(value, fee, sig_salt, excess, metadata)
     return instance
 def deserialize(cls, serialized):
     assert len(serialized) == 32 * 3
     hh_outputs = Point.decompress(serialized[0:32])
     hh_excess = Point.decompress(serialized[32:64])
     signature = Signature(
         Field(int.from_bytes(serialized[96:128], 'little')),
         Point.decompress(serialized[64:96]))
     range_proof = json.loads(serialized[96:].decode('utf-8'))
     instance = cls(hh_outputs, hh_excess, signature, range_proof)
     return instance
Beispiel #3
0
	def test_serialise(self):
		for _ in range(0, 10):
			p = self._point_r()
			s = p.compress()
			q = Point.decompress(s)
			self.assertEqual(p, q)