From 00407d0b5b6a8f215b2cd25cf6ab3f00cf78ad7f Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 5 Oct 2026 14:30:05 +0000 Subject: [PATCH] extended Monero MMGenID: use `/` as initial separator --- mmgen/addr.py | 4 ++-- mmgen/proto/xmr/tw/view.py | 2 +- test/objtest_d/btc_mainnet.py | 2 +- test/objtest_d/xmr_mainnet.py | 20 ++++++++++---------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/mmgen/addr.py b/mmgen/addr.py index 49632d88..bb79fff1 100755 --- a/mmgen/addr.py +++ b/mmgen/addr.py @@ -141,11 +141,11 @@ class MMGenID(HiliteStr, InitErrors, MMGenObject): mmtype = proto.dfl_mmtype case _: raise ValueError('not 2 or 3 colon-separated items') - if '-' in idx: # extended Monero ID + if '/' in idx: # extended Monero ID assert proto.coin == 'XMR', 'extended MMGen IDs supported for XMR only' assert id_str.count(':') == 2, 'mmtype letter required for extended MMGen IDs' me = str.__new__(cls, id_str) - idx, ext = idx.split('-', 1) + idx, ext = idx.split('/', 1) me.acct_idx, me.addr_idx = [MoneroIdx(e) for e in ext.split('/', 1)] me.acct_id = f'{sid}:{mmtype}:{idx}:{me.acct_idx}' else: diff --git a/mmgen/proto/xmr/tw/view.py b/mmgen/proto/xmr/tw/view.py index d7baff25..43c93ad1 100755 --- a/mmgen/proto/xmr/tw/view.py +++ b/mmgen/proto/xmr/tw/view.py @@ -90,7 +90,7 @@ class MoneroTwView: if bal or self.include_empty: self.total += bal self.unlocked_total += unlocked_bal - mmid = '{}:M:{}-{}/{}'.format( + mmid = '{}:M:{}/{}/{}'.format( wdata['seed_id'], wdata['wallet_num'], acct_idx, diff --git a/test/objtest_d/btc_mainnet.py b/test/objtest_d/btc_mainnet.py index c7747172..65075490 100755 --- a/test/objtest_d/btc_mainnet.py +++ b/test/objtest_d/btc_mainnet.py @@ -171,7 +171,7 @@ tests = { {'id_str': 'x:L:3', 'proto': proto}, {'id_str': 'F00BAA12', 'proto': proto}, {'id_str': 'F00BAA12:Z:99', 'proto': proto}, - {'id_str': 'F00BAA12:B:1-0/0', 'proto': proto}, + {'id_str': 'F00BAA12:B:1/0/0', 'proto': proto}, ), 'good': ( {'id_str': 'F00BAA12:99', 'proto': proto, 'ret': 'F00BAA12:L:99'}, diff --git a/test/objtest_d/xmr_mainnet.py b/test/objtest_d/xmr_mainnet.py index b63c68ae..8f974928 100755 --- a/test/objtest_d/xmr_mainnet.py +++ b/test/objtest_d/xmr_mainnet.py @@ -23,19 +23,19 @@ tests = { {'id_str': 'F00BAA12:C:99', 'proto': proto}, {'id_str': 'F00BAA12:M', 'proto': proto}, {'id_str': 'F00BAA12:M:', 'proto': proto}, - {'id_str': 'F00BAA12:M:99-FOO', 'proto': proto}, - {'id_str': 'F00BAA12:M:99-1', 'proto': proto}, - {'id_str': 'F00BAA12:M:99-x/y', 'proto': proto}, - {'id_str': 'F00BAA12:M:99-1/y', 'proto': proto}, - {'id_str': 'F00BAA12:M:0-1/1', 'proto': proto}, - {'id_str': 'F00BAA12:M:1-0/-1', 'proto': proto}, - {'id_str': 'F00BAA12:1-0/0', 'proto': proto}, - {'id_str': 'F00BAA12:M:1-111111/3', 'proto': proto}, + {'id_str': 'F00BAA12:M:99/FOO', 'proto': proto}, + {'id_str': 'F00BAA12:M:99/1', 'proto': proto}, + {'id_str': 'F00BAA12:M:99/x/y', 'proto': proto}, + {'id_str': 'F00BAA12:M:99/1/y', 'proto': proto}, + {'id_str': 'F00BAA12:M:0/1/1', 'proto': proto}, + {'id_str': 'F00BAA12:M:1/0/-1', 'proto': proto}, + {'id_str': 'F00BAA12:1/0/0', 'proto': proto}, + {'id_str': 'F00BAA12:M:1/111111/3', 'proto': proto}, ), 'good': ( {'id_str': 'F00BAA12:M:1', 'proto': proto}, - {'id_str': 'F00BAA12:M:1-0/0', 'proto': proto}, - {'id_str': 'F00BAA12:M:9999999-99999/99999', 'proto': proto}, + {'id_str': 'F00BAA12:M:1/0/0', 'proto': proto}, + {'id_str': 'F00BAA12:M:9999999/99999/99999', 'proto': proto}, ), }, }