From 08e723c867a1dac6c393121d9eeefc3bac7abcd4 Mon Sep 17 00:00:00 2001 From: philemon Date: Mon, 28 Jul 2014 00:48:50 +0400 Subject: [PATCH] Version 0.7.5a - bugfix release --- mmgen-addrgen | 16 ++++++++-------- mmgen/addr.py | 18 +++++++++--------- mmgen/tx.py | 7 ++++--- setup.py | 2 +- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/mmgen-addrgen b/mmgen-addrgen index c40c82b8..82409b60 100755 --- a/mmgen-addrgen +++ b/mmgen-addrgen @@ -121,15 +121,15 @@ if len(cmd_args) == 1 and ( or 'from_seed' in opts or 'from_incog_hidden' in opts ): - infile,addr_list_arg = "",cmd_args[0] + infile,addr_idx_arg = "",cmd_args[0] elif len(cmd_args) == 2: - infile,addr_list_arg = cmd_args + infile,addr_idx_arg = cmd_args check_infile(infile) else: usage(help_data) -addr_list = parse_address_list(addr_list_arg) +addr_idxs = parse_address_list(addr_idx_arg) -if not addr_list: sys.exit(2) +if not addr_idxs: sys.exit(2) do_license_msg() @@ -147,13 +147,13 @@ else: seed = get_seed_retry(infile,opts) seed_id = make_chksum_8(seed) -addr_data = generate_addrs(seed, addr_list, opts) +addr_data = generate_addrs(seed, addr_idxs, opts) addr_data_chksum = make_chksum_8( " ".join(["{} {}".format(a['num'],a['addr']) for a in addr_data]), sep=True ) addr_data_str = format_addr_data( - addr_data, addr_data_chksum, seed_id, addr_list, opts) + addr_data, addr_data_chksum, seed_id, addr_idxs, opts) # Output data: if 'stdout' in opts: @@ -164,9 +164,9 @@ if 'stdout' in opts: elif not sys.stdout.isatty(): write_to_stdout(addr_data_str,"secret keys",confirm=False) else: - write_addr_data_to_file(seed, addr_data_str, addr_list, opts) + write_addr_data_to_file(seed, addr_data_str, addr_idxs, opts) msg(""" Checksum for address data {}[{}]: {} Remember this checksum or save it to a secure location -""".format(seed_id, fmt_addr_list(addr_list), addr_data_chksum).strip()) +""".format(seed_id, fmt_addr_idxs(addr_idxs), addr_data_chksum).strip()) diff --git a/mmgen/addr.py b/mmgen/addr.py index 5589029a..2dd92524 100755 --- a/mmgen/addr.py +++ b/mmgen/addr.py @@ -125,7 +125,7 @@ def generate_keys(seed, addrnums): return generate_addrs(seed, addrnums, o) -def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_list, opts): +def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_idxs, opts): start = addr_data[0]['num'] end = addr_data[-1]['num'] @@ -143,7 +143,7 @@ def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_list, opts): data = [] if not 'stdout' in opts: data.append(addrmsgs['addrfile_header'] + "\n") data.append("# Address data checksum for {}[{}]: {}".format( - seed_id, fmt_addr_list(addr_list), addr_data_chksum)) + seed_id, fmt_addr_idxs(addr_idxs), addr_data_chksum)) data.append("# Record this value to a secure location\n") data.append("%s {" % seed_id.upper()) @@ -171,16 +171,16 @@ def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_list, opts): return "\n".join(data) + "\n" -def fmt_addr_list(addr_list): +def fmt_addr_idxs(addr_idxs): - addr_list = list(set(sorted(addr_list))) + addr_idxs = list(sorted(set(addr_idxs))) - prev = addr_list[0] + prev = addr_idxs[0] ret = prev, - for i in addr_list[1:]: + for i in addr_idxs[1:]: if i == prev + 1: - if i == addr_list[-1]: ret += "-", i + if i == addr_idxs[-1]: ret += "-", i else: if prev != ret[-1]: ret += "-", prev ret += ",", i @@ -189,7 +189,7 @@ def fmt_addr_list(addr_list): return "".join([str(i) for i in ret]) -def write_addr_data_to_file(seed, addr_data_str, addr_list, opts): +def write_addr_data_to_file(seed, addr_data_str, addr_idxs, opts): if 'print_addresses_only' in opts: ext = g.addrfile_ext elif 'no_addresses' in opts: ext = g.keyfile_ext @@ -199,7 +199,7 @@ def write_addr_data_to_file(seed, addr_data_str, addr_list, opts): from mmgen.util import write_to_file, make_chksum_8 outfile = "{}[{}].{}".format( make_chksum_8(seed), - fmt_addr_list(addr_list), + fmt_addr_idxs(addr_idxs), ext ) if 'outdir' in opts: diff --git a/mmgen/tx.py b/mmgen/tx.py index 05e6dc70..fd25af0d 100755 --- a/mmgen/tx.py +++ b/mmgen/tx.py @@ -563,12 +563,13 @@ Only ASCII printable characters are permitted. def check_addr_data_hash(seed_id,addr_data): - from hashlib import new as hashlib_new + def s_addrdata(a): return int(a[0]) + addr_data.sort(key=s_addrdata) addr_data_chksum = make_chksum_8( " ".join(["{} {}".format(*d[:2]) for d in addr_data]), sep=True ) - from mmgen.addr import fmt_addr_list - fl = fmt_addr_list([int(a[0]) for a in addr_data]) + from mmgen.addr import fmt_addr_idxs + fl = fmt_addr_idxs([int(a[0]) for a in addr_data]) msg("Computed address data checksum for '{}[{}]': {}".format( seed_id,fl,addr_data_chksum)) msg("Check this value against your records") diff --git a/setup.py b/setup.py index 80cf7a8c..3e571923 100755 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from distutils.core import setup setup( name = 'mmgen', - version = '0.7.5', + version = '0.7.5', author = 'Philemon', author_email = 'mmgen-py@yandex.com', url = 'https://github.com/mmgen/mmgen',