From 4f41b4dee02d024a5e859d69bdb0bd7d9c5db139 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Sat, 5 Feb 2022 13:32:56 +0000 Subject: [PATCH] base_proto_subclass(): remove support for tx classes --- mmgen/util.py | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/mmgen/util.py b/mmgen/util.py index 54128215..e966d868 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -665,29 +665,21 @@ def get_subclasses(cls,names=False): yield j return tuple((c.__name__ for c in gen(cls)) if names else gen(cls)) -def base_proto_subclass(cls,proto,mod_dir): +def base_proto_subclass(cls,proto,modname): """ - magic module loading and class retrieval + magic module loading and class selection """ - if proto.base_proto != 'Ethereum': return cls - modname = f'mmgen.base_proto.{proto.base_proto.lower()}.{mod_dir}' + modname = f'mmgen.base_proto.{proto.base_proto.lower()}.{modname}' + clsname = ( + proto.mod_clsname + + ('Token' if proto.tokensym else '') + + cls.__name__ ) import importlib - if mod_dir == 'tx': # nested classes - outer_clsname,inner_clsname = ( - proto.mod_clsname - + ('Token' if proto.tokensym else '') - + cls.__qualname__ ).split('.') - return getattr(getattr(importlib.import_module(modname),outer_clsname),inner_clsname) - else: - clsname = ( - proto.mod_clsname - + ('Token' if proto.tokensym else '') - + cls.__name__ ) - return getattr(importlib.import_module(modname),clsname) + return getattr(importlib.import_module(modname),clsname) # decorator for TrackingWallet def write_mode(orig_func):