From 5e96792e301654f0706a89f8ad680f96d5c43943 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Fri, 23 Oct 2026 17:01:32 +0000 Subject: [PATCH] xmrwallet.file: new `make_json_data()` method --- mmgen/xmrwallet/file/__init__.py | 15 +++++++++------ mmgen/xmrwallet/file/outputs.py | 2 +- mmgen/xmrwallet/file/tx.py | 6 +----- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/mmgen/xmrwallet/file/__init__.py b/mmgen/xmrwallet/file/__init__.py index 613320af..ab044e2d 100644 --- a/mmgen/xmrwallet/file/__init__.py +++ b/mmgen/xmrwallet/file/__init__.py @@ -40,17 +40,20 @@ class MoneroMMGenFile: b = d_wrap[k] assert a == b, f'{k} mismatch: {a} != {b}' - def make_wrapped_json_data(self, in_data): - return json.dumps(self.make_wrapped_data(in_data), cls=json_encoder, indent=2) + def make_json_data(self, *, delete_metadata=True): + return json.dumps( + {self.data_label: self.make_outer_data(delete_metadata=delete_metadata)}, + cls = json_encoder, + indent = 2) - def make_wrapped_data(self, in_data): - return {self.data_label: { + def make_outer_data(self, *, delete_metadata=True): + return { 'base_chksum': self.base_chksum, 'full_chksum': self.full_chksum, - 'data': in_data, + 'data': self.data._asdict() | ({'metadata': None} if delete_metadata else {}) } if self.full_chksum else { 'base_chksum': self.base_chksum, - 'data': in_data}} + 'data': self.data._asdict() | ({'metadata': None} if delete_metadata else {})} def extract_data_from_file(self, cfg, fn): data = json.loads(get_data_from_file(cfg, str(fn), desc=self.desc, silent=self.silent_load)) diff --git a/mmgen/xmrwallet/file/outputs.py b/mmgen/xmrwallet/file/outputs.py index 8ed5cf4f..634ccf54 100644 --- a/mmgen/xmrwallet/file/outputs.py +++ b/mmgen/xmrwallet/file/outputs.py @@ -47,7 +47,7 @@ class MoneroWalletOutputsFile: write_data_to_file( cfg = self.cfg, outfile = str(self.get_outfile(self.cfg, self.wallet_fn)) + add_suf, - data = self.make_wrapped_json_data(self.data._asdict()), + data = self.make_json_data(delete_metadata=False), desc = self.desc, ask_overwrite = False, quiet = quiet, diff --git a/mmgen/xmrwallet/file/tx.py b/mmgen/xmrwallet/file/tx.py index 86f7293a..5266d73d 100644 --- a/mmgen/xmrwallet/file/tx.py +++ b/mmgen/xmrwallet/file/tx.py @@ -152,10 +152,6 @@ class MoneroMMGenTX: return (self.base_chksum + ('-' + self.full_chksum if self.full_chksum else '')).upper() def write(self, *, delete_metadata=False, ask_write=True, ask_overwrite=True): - dict_data = self.data._asdict() - if delete_metadata: - dict_data['metadata'] = None - fn = '{a}-XMR[{b!s}]{c}.{d}'.format( a = self.file_id, b = self.data.amount, @@ -169,7 +165,7 @@ class MoneroMMGenTX: write_data_to_file( cfg = self.cfg, outfile = str(fn), - data = self.make_wrapped_json_data(dict_data), + data = self.make_json_data(), desc = self.desc, ask_write = ask_write, ask_write_default_yes = not ask_write,