Version 0.7.5a - bugfix release
This commit is contained in:
parent
b0bfdbaa33
commit
08e723c867
4 changed files with 22 additions and 21 deletions
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
2
setup.py
2
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',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue