From dfd496761cac3f1f24af29043180d38284a9277a Mon Sep 17 00:00:00 2001 From: bsdevlin Date: Wed, 10 Apr 2019 21:53:02 -0400 Subject: [PATCH] python update --- apps/python/zcash_fpga.py | 47 ++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/apps/python/zcash_fpga.py b/apps/python/zcash_fpga.py index 9b0223a..5f69ea9 100644 --- a/apps/python/zcash_fpga.py +++ b/apps/python/zcash_fpga.py @@ -46,20 +46,27 @@ class zcash_fpga: def get_reply(self): res = self.s.read(1024) - self.print_reply(res) - return res + if len(res) > 0: + self.print_reply(res) + return res + else: + print ("INFO: No reply received") + return None def secp256k1_verify_sig(self, index, hsh, r, s, Qx, Qy): - cmd = 'B000000001010000' - cmd += format(index, 'x').ljust(16, '0') - cmd += format(s, 'x').ljust(64, '0') - cmd += format(r, 'x').ljust(64, '0') - cmd += format(hsh, 'x').ljust(64, '0') - cmd += format(Qx, 'x').ljust(64, '0') - cmd += format(Qy, 'x').ljust(64, '0') + cmd = '00000101000000B0' + cmd = format(index, 'x').ljust(16, '0') + cmd + cmd = format(s, 'x').ljust(64, '0') + cmd + cmd = format(r, 'x').ljust(64, '0') + cmd + cmd = format(hsh, 'x').ljust(64, '0') + cmd + cmd = format(Qx, 'x').ljust(64, '0') + cmd + cmd = format(Qy, 'x').ljust(64, '0') + cmd + #Need to swap cmd byte order + cmd = "".join(reversed([cmd[i:i+2] for i in range(0, len(cmd), 2)])) + self.s.write(self.codecs.decode(cmd, 'hex')) res = self.get_reply() - if (self.struct.unpack('