BipHDNode.from_path(): determine addr type from protocol

This commit is contained in:
The MMGen Project 2026-06-04 10:41:42 +00:00
commit eb943dded7
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
3 changed files with 6 additions and 5 deletions

View file

@ -74,7 +74,6 @@ nonstd_path = BipHDNode.from_path(
seed = seed,
path_str = "m/111'/222/333/444",
coin = 'eth',
addr_type = 'E',
no_path_checks = True)
print('Non-standard path (ETH):\n')

View file

@ -24,7 +24,7 @@ from ..keygen import KeyGenerator, keygen_public_data
from ..addrgen import AddrGenerator
from ..addr import MMGenAddrType
from ..key import PrivKey
from ..protocol import CoinProtocol
from ..protocol import CoinProtocol, init_proto
from ..proto.btc.common import hash160, b58chk_encode, b58chk_decode
from ..proto.secp256k1.secp256k1 import pubkey_tweak_add, pubkey_check
@ -379,9 +379,11 @@ class BipHDNode(Lockable):
if path.pop(0) != 'm':
raise ValueError(f'{path_str}: invalid path string (first component is not "m")')
proto = init_proto(base_cfg, coin or 'btc')
res = MasterNode(base_cfg, seed).init_cfg(
coin = coin or 'btc',
addr_type = addr_type or 'compressed',
coin = proto.coin,
addr_type = addr_type or proto.dfl_mmtype,
no_path_checks = no_path_checks,
from_path = True)

View file

@ -143,7 +143,7 @@ vectors_multicoin = {
'doge': 'DFX88RXpi4S4W24YVvuMgbdUcCAYNeEYGd',
'avax-c': '0x373731f4d885Fc7Da05498F9f0804a87A14F891b',
'ltc_bech32': 'ltc1q3uh5ga5cp9kkdfx6a52uymxj9keq4tpzep7er0',
'bch_compressed': 'bitcoincash:qpqpcllprftg4s0chdgkpxhxv23wfymq3gj7n0a9vw',
'bch': 'bitcoincash:qpqpcllprftg4s0chdgkpxhxv23wfymq3gj7n0a9vw',
'bsc_smart': '0x373731f4d885Fc7Da05498F9f0804a87A14F891b',
'bnb_beacon': 'bnb179c3ymltqm4utlp089zxqeta5dvn48a305rhe5',
'rune': 'thor1nr6fye3nznyn20m5w6fey6w8a8l4q599cdqmpc',