--- obelisk/bitcoin.py.orig 2014-08-10 17:00:16 UTC +++ obelisk/bitcoin.py @@ -21,10 +21,10 @@ import hashlib import base64 import ecdsa import re -from util import print_error -import config -import models -import numbertheory +from .util import print_error +from . import config +from . import models +from . import numbertheory import os @@ -162,7 +162,7 @@ __b58base = len(__b58chars) def b58encode(v): """ encode v, which is a string of bytes, to base58.""" - long_value = 0L + long_value = 0 for (i, c) in enumerate(v[::-1]): long_value += (256**i) * ord(c) @@ -187,7 +187,7 @@ def b58encode(v): def b58decode(v, length): """ decode v into a string of len bytes.""" - long_value = 0L + long_value = 0 for (i, c) in enumerate(v[::-1]): long_value += __b58chars.find(c) * (__b58base**i) @@ -303,12 +303,12 @@ def is_valid(addr): ########### end pywallet functions ####################### # secp256k1, http://www.oid-info.com/get/1.3.132.0.10 -_p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL -_r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L -_b = 0x0000000000000000000000000000000000000000000000000000000000000007L -_a = 0x0000000000000000000000000000000000000000000000000000000000000000L -_Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L -_Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L +_p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F +_r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 +_b = 0x0000000000000000000000000000000000000000000000000000000000000007 +_a = 0x0000000000000000000000000000000000000000000000000000000000000000 +_Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798 +_Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 curve_secp256k1 = ecdsa.ellipticcurve.CurveFp(_p, _a, _b) generator_secp256k1 = ecdsa.ellipticcurve.Point(curve_secp256k1, _Gx, _Gy, _r) oid_secp256k1 = (1, 3, 132, 0, 10) @@ -698,7 +698,7 @@ class Transaction: self.deserialize() self.inputs = self.d['inputs'] self.outputs = self.d['outputs'] - self.outputs = map(lambda x: (x['address'], x['value']), self.outputs) + self.outputs = [(x['address'], x['value']) for x in self.outputs] self.input_info = None self.is_complete = True @@ -835,7 +835,7 @@ class Transaction: return Hash(self.raw.decode('hex'))[::-1].encode('hex') def sign(self, private_keys): - import deserialize + from . import deserialize for i in range(len(self.inputs)): txin = self.inputs[i] @@ -850,7 +850,7 @@ class Transaction: # build list of public/private keys keypairs = {} - for sec in private_keys.values(): + for sec in list(private_keys.values()): compressed = is_compressed(sec) pkey = regenerate_key(sec) pubkey = GetPubKey(pkey.pubkey, compressed) @@ -877,7 +877,7 @@ class Transaction: else: # check if we have a key # corresponding to the redeem script - if pubkey in keypairs.keys(): + if pubkey in list(keypairs.keys()): # add signature sec = keypairs[pubkey] compressed = is_compressed(sec) @@ -931,7 +931,7 @@ class Transaction: self.raw = self.serialize(self.inputs, self.outputs) def deserialize(self): - import deserialize + from . import deserialize vds = deserialize.BCDataStream() vds.write(self.raw.decode('hex')) self.d = deserialize.parse_Transaction(vds) --- obelisk/bittree.py.orig 2014-08-10 17:00:16 UTC +++ obelisk/bittree.py @@ -120,22 +120,22 @@ if __name__ == "__main__": tree.add("010101", 666) tree.add("010101", 888) tree.add("101", 110) - print tree + print(tree) tree.add("10111", 116) - print tree.lookup("101") - print tree.lookup("10111") - print tree.lookup("010") - print tree.lookup("010101") - print tree + print(tree.lookup("101")) + print(tree.lookup("10111")) + print(tree.lookup("010")) + print(tree.lookup("010101")) + print(tree) tree.delete("10111", 116) - print tree - print tree.lookup("101") - print tree.lookup("0") - print tree.lookup("1") - print "------------" + print(tree) + print(tree.lookup("101")) + print(tree.lookup("0")) + print(tree.lookup("1")) + print("------------") tree = BitTree() tree.add("10", 777) tree.add("101", 333) tree.add("1011", 222) tree.add("00", 666) - print tree.lookup("1011") + print(tree.lookup("1011")) --- obelisk/client.py.orig 2014-08-10 17:00:16 UTC +++ obelisk/client.py @@ -1,10 +1,10 @@ import struct -from zmqbase import ClientBase +from .zmqbase import ClientBase -import bitcoin -import serialize -import error_code +from . import bitcoin +from . import serialize +from . import error_code def unpack_error(data): @@ -234,9 +234,9 @@ class ObeliskOfLightClient(ClientBase): self.subscribed += 1 error = unpack_error(data) if error: - print "Error subscribing" + print("Error subscribing") if not self.subscribed % 1000: - print "Subscribed ok", self.subscribed + print("Subscribed ok", self.subscribed) return (error, True) def _on_update(self, data): @@ -257,7 +257,7 @@ class ObeliskOfLightClient(ClientBase): self.subscribed += 1 error = unpack_error(data) if error: - print "Error subscribing" + print("Error subscribing") if not self.subscribed % 1000: - print "Renew ok", self.subscribed + print("Renew ok", self.subscribed) return (error, True) --- obelisk/serialize.py.orig 2014-08-10 17:00:16 UTC +++ obelisk/serialize.py @@ -5,7 +5,7 @@ import io import hashlib from binascii import hexlify, unhexlify from hashlib import sha256 -import models +from . import models # Py3 compatibility @@ -539,7 +539,7 @@ def deser_data(command, data_bytes): elif command == "blockchain.fetch_block_transaction_hashes": hash_list = [] - print hexlify(data_bytes[4:]) + print(hexlify(data_bytes[4:])) assert((len(data_bytes)-4) % 32 == 0) --- obelisk/util.py.orig 2014-08-10 17:00:16 UTC +++ obelisk/util.py @@ -106,7 +106,7 @@ def format_satoshis(x, is_diff=False, from decimal import Decimal s = Decimal(x) sign, digits, exp = s.as_tuple() - digits = map(str, digits) + digits = list(map(str, digits)) while len(digits) < decimal_point + 1: digits.insert(0, '0') digits.insert(-decimal_point, '.') @@ -201,6 +201,6 @@ def parse_url(url): identity, signature = uv.split(':') url = url.replace('&%s=%s' % (k, v), '') else: - print k, v + print(k, v) return address, amount, label, message, signature, identity, url --- obelisk/zmqbase.py.orig 2014-08-10 17:00:16 UTC +++ obelisk/zmqbase.py @@ -7,7 +7,7 @@ import logging # from zmqproto import ZmqSocket #except ImportError: # from zmq_fallback import ZmqSocket -from zmq_fallback import ZmqSocket +from .zmq_fallback import ZmqSocket SNDMORE = 1 @@ -50,10 +50,10 @@ class ClientBase(object): self.trigger_callbacks(id, *res) def on_raw_block(self, height, hash, header, tx_num, tx_hashes): - print "block", height, len(tx_hashes) + print("block", height, len(tx_hashes)) def on_raw_transaction(self, tx_data): - print "tx", tx_data.encode('hex') + print("tx", tx_data.encode('hex')) # Base Api def send_command(self, command, data='', cb=None): @@ -71,7 +71,7 @@ class ClientBase(object): return tx_id def unsubscribe(self, cb): - for sub_id in self._subscriptions.keys(): + for sub_id in list(self._subscriptions.keys()): if self._subscriptions[sub_id] == cb: self._subscriptions.pop(sub_id) @@ -88,8 +88,8 @@ class ClientBase(object): self._messages.append(frame) if not more: if not len(self._messages) == 3: - print "Sequence with wrong messages", len(self._messages) - print [m.encode("hex") for m in self._messages] + print("Sequence with wrong messages", len(self._messages)) + print([m.encode("hex") for m in self._messages]) self._messages = [] return command, id, data = self._messages @@ -102,9 +102,9 @@ class ClientBase(object): if not more: nblocks = struct.unpack('Q', self._block_messages[3])[0] if not len(self._block_messages) == 4 + nblocks: - print "Sequence with wrong messages",\ + print("Sequence with wrong messages",\ len(self._block_messages),\ - 4 + nblocks + 4 + nblocks) self._block_messages = [] return height, hash, header, tx_num = self._block_messages[:4] @@ -112,7 +112,7 @@ class ClientBase(object): if len(tx_num) >= 4: tx_num = struct.unpack_from('I', tx_num, 0)[0] else: - print "wrong tx_num length", len(tx_num), tx_num + print("wrong tx_num length", len(tx_num), tx_num) tx_num = struct.unpack('I', tx_num.zfill(4))[0] self._block_messages = [] height = struct.unpack('I', height)[0] @@ -122,7 +122,7 @@ class ClientBase(object): self._tx_messages.append(frame) if not more: if not len(self._tx_messages) == 1: - print "Sequence with wrong messages", len(self._tx_messages) + print("Sequence with wrong messages", len(self._tx_messages)) self._tx_messages = [] return tx_data = self._tx_messages[0] @@ -157,7 +157,7 @@ class ClientBase(object): # unpack rows = [] - for idx in xrange(nrows): + for idx in range(nrows): offset = start+(idx*row_size) row = struct.unpack_from(row_fmt, data, offset) rows.append(row)