From 1ae19320a82dc1e6a063ac7b2183d314ed2a8871 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 4 Oct 2022 13:08:55 +0000 Subject: [PATCH] import key and address generators from addrgen.py --- mmgen/addr.py | 2 -- mmgen/addrfile.py | 2 +- mmgen/addrgen.py | 2 ++ mmgen/addrlist.py | 4 ++-- mmgen/proto/btc/tx/unsigned.py | 2 +- mmgen/tool/coin.py | 3 ++- test/gentest.py | 3 ++- test/test_py_d/ts_main.py | 4 ++-- test/unit_tests_d/ut_gen.py | 3 ++- 9 files changed, 14 insertions(+), 11 deletions(-) diff --git a/mmgen/addr.py b/mmgen/addr.py index 2eb4811c..7a34e746 100755 --- a/mmgen/addr.py +++ b/mmgen/addr.py @@ -25,8 +25,6 @@ from collections import namedtuple from .objmethods import Hilite,InitErrors,MMGenObject from .obj import ImmutableAttr,MMGenIdx,HexStr,get_obj from .seed import SeedID -from .keygen import KeyGenerator # stub -from .addrgen import AddrGenerator # stub ati = namedtuple('addrtype_info', ['name','pubkey_type','compressed','gen_method','addr_fmt','wif_label','extra_attrs','desc']) diff --git a/mmgen/addrfile.py b/mmgen/addrfile.py index e038b3ad..07cb6b73 100755 --- a/mmgen/addrfile.py +++ b/mmgen/addrfile.py @@ -168,7 +168,7 @@ class AddrFile(MMGenObject): if p.has_keys and p.ka_validity_chk != False: from .opts import opt if opt.yes or p.ka_validity_chk == True or keypress_confirm('Check key-to-address validity?'): - from .addr import KeyGenerator,AddrGenerator + from .addrgen import KeyGenerator,AddrGenerator kg = KeyGenerator(p.proto,p.al_id.mmtype.pubkey_type) ag = AddrGenerator(p.proto,p.al_id.mmtype) llen = len(ret) diff --git a/mmgen/addrgen.py b/mmgen/addrgen.py index 9a66e65e..606b6348 100755 --- a/mmgen/addrgen.py +++ b/mmgen/addrgen.py @@ -20,6 +20,8 @@ addrgen.py: Address generation initialization code for the MMGen suite """ +from .keygen import KeyGenerator # convenience import + # decorator for to_addr() and to_viewkey() def check_data(orig_func): def f(self,data): diff --git a/mmgen/addrlist.py b/mmgen/addrlist.py index 4077ddd9..62ea7fa8 100755 --- a/mmgen/addrlist.py +++ b/mmgen/addrlist.py @@ -220,7 +220,7 @@ class AddrList(MMGenObject): # Address info for a single seed ID gen_viewkey = type(self) == KeyAddrList and 'viewkey' in mmtype.extra_attrs if self.gen_addrs: - from .addr import KeyGenerator,AddrGenerator + from .addrgen import KeyGenerator,AddrGenerator kg = KeyGenerator( self.proto, mmtype.pubkey_type ) ag = AddrGenerator( self.proto, mmtype ) if self.add_p2pkh: @@ -345,7 +345,7 @@ class AddrList(MMGenObject): # Address info for a single seed ID """ def gen_addr(pk,t): at = self.proto.addr_type(t) - from .addr import KeyGenerator,AddrGenerator + from .addrgen import KeyGenerator,AddrGenerator kg = KeyGenerator(self.proto,at.pubkey_type) ag = AddrGenerator(self.proto,at) return ag.to_addr(kg.gen_data(pk)) diff --git a/mmgen/proto/btc/tx/unsigned.py b/mmgen/proto/btc/tx/unsigned.py index 30e5e41c..0dcb25c5 100755 --- a/mmgen/proto/btc/tx/unsigned.py +++ b/mmgen/proto/btc/tx/unsigned.py @@ -37,7 +37,7 @@ class Unsigned(Completed,TxBase.Unsigned): qmsg(f'Passing {len(keys)} key{suf(keys)} to {self.rpc.daemon.exec_fn}') if self.has_segwit_inputs(): - from ....addr import KeyGenerator,AddrGenerator + from ....addrgen import KeyGenerator,AddrGenerator kg = KeyGenerator(self.proto,'std') ag = AddrGenerator(self.proto,'segwit') keydict = MMGenDict([(d.addr,d.sec) for d in keys]) diff --git a/mmgen/tool/coin.py b/mmgen/tool/coin.py index 3a4f16a7..b1503725 100755 --- a/mmgen/tool/coin.py +++ b/mmgen/tool/coin.py @@ -26,7 +26,8 @@ generator_data = namedtuple('generator_data',['kg','ag']) from .common import tool_cmd_base from ..key import PrivKey -from ..addr import KeyGenerator,AddrGenerator,CoinAddr,MMGenAddrType +from ..addr import CoinAddr,MMGenAddrType +from ..addrgen import KeyGenerator,AddrGenerator class tool_cmd(tool_cmd_base): """ diff --git a/test/gentest.py b/test/gentest.py index f3e174a4..8b797de4 100755 --- a/test/gentest.py +++ b/test/gentest.py @@ -543,7 +543,8 @@ from collections import namedtuple from mmgen.protocol import init_proto,init_proto_from_opts,CoinProtocol from mmgen.altcoin import init_genonly_altcoins,CoinInfo as cinfo from mmgen.key import PrivKey -from mmgen.addr import KeyGenerator,AddrGenerator,MMGenAddrType +from mmgen.addr import MMGenAddrType +from mmgen.addrgen import KeyGenerator,AddrGenerator from mmgen.keygen import get_backends sys.argv = [sys.argv[0]] + ['--skip-cfg-file'] + sys.argv[1:] diff --git a/test/test_py_d/ts_main.py b/test/test_py_d/ts_main.py index c631c9fe..742f99ea 100755 --- a/test/test_py_d/ts_main.py +++ b/test/test_py_d/ts_main.py @@ -382,7 +382,7 @@ class TestSuiteMain(TestSuiteBase,TestSuiteShared): getrand(32), compressed = non_mmgen_input_compressed, pubkey_type = 'std' ) - from mmgen.addr import KeyGenerator,AddrGenerator + from mmgen.addrgen import KeyGenerator,AddrGenerator rand_coinaddr = AddrGenerator( self.proto, ('legacy','compressed')[non_mmgen_input_compressed] @@ -422,7 +422,7 @@ class TestSuiteMain(TestSuiteBase,TestSuiteShared): from mmgen.key import PrivKey privkey = PrivKey(self.proto,getrand(32),compressed=True,pubkey_type='std') t = ('compressed','segwit')['S' in self.proto.mmtypes] - from mmgen.addr import KeyGenerator,AddrGenerator + from mmgen.addrgen import KeyGenerator,AddrGenerator rand_coinaddr = AddrGenerator(self.proto,t).to_addr( KeyGenerator(self.proto,'std').gen_data(privkey) ) diff --git a/test/unit_tests_d/ut_gen.py b/test/unit_tests_d/ut_gen.py index f6540399..07f36a08 100755 --- a/test/unit_tests_d/ut_gen.py +++ b/test/unit_tests_d/ut_gen.py @@ -6,7 +6,8 @@ test.unit_tests_d.ut_gen: key/address generation unit tests for the MMGen suite from mmgen.common import * from mmgen.protocol import init_proto from mmgen.key import PrivKey -from mmgen.addr import MMGenAddrType,KeyGenerator,AddrGenerator +from mmgen.addr import MMGenAddrType +from mmgen.addrgen import KeyGenerator,AddrGenerator from mmgen.keygen import get_backends # TODO: add viewkey checks