def parse_keylist(from_file): fn = opt.keys_from_file from mmgen.crypto import mmgen_decrypt_file_maybe dec = mmgen_decrypt_file_maybe(fn,"non-{} keylist file".format(pnm)) # Remove possible dups from key-address file keys_all = set(remove_comments(dec.splitlines())) # DOS-safe d = from_file['mmdata'] kawifs = [d[k][1] for k in d.keys()] keys = [k for k in keys_all if k not in kawifs] removed = len(keys_all) - len(keys) if removed: vmsg(wmsg['removed_dups'] % (removed,suf(removed,"k"))) addrs = [] wif2addr_f = get_wif2addr_f() for n,k in enumerate(keys,1): qmsg_r("\rGenerating addresses from keylist: %s/%s" % (n,len(keys))) addrs.append(wif2addr_f(k)) qmsg("\rGenerated addresses from keylist: %s/%s " % (n,len(keys))) return dict(zip(addrs,keys))
def _parse_keyaddr_file(fn): from mmgen.crypto import mmgen_decrypt_file_maybe d = mmgen_decrypt_file_maybe(fn,"key-address file") return _parse_addrfile("",buf=d,has_keys=True,exit_on_error=False)