wallet.Mnemonic: remove redundant pad calculation code
This commit is contained in:
parent
3dde478ebd
commit
20a0ac03fc
2 changed files with 8 additions and 22 deletions
|
|
@ -77,7 +77,7 @@ class bip39(baseconv):
|
|||
|
||||
def tohex(self,words,pad=None):
|
||||
assert isinstance(words,(list,tuple)),'words must be list or tuple'
|
||||
assert pad == None, f"{pad}: invalid 'pad' argument (must be None)"
|
||||
assert pad in (None,'seed'), f"{pad}: invalid 'pad' argument (must be None or 'seed')"
|
||||
|
||||
wl = self.digits['bip39']
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ class bip39(baseconv):
|
|||
def fromhex(self,seed_hex,pad=None,tostr=False):
|
||||
assert is_hex_str(seed_hex),'seed data not a hexadecimal string'
|
||||
assert tostr == False,"'tostr' must be False for 'bip39'"
|
||||
assert pad == None, f"{pad}: invalid 'pad' argument (must be None)"
|
||||
assert pad in (None,'seed'), f"{pad}: invalid 'pad' argument (must be None or 'seed')"
|
||||
|
||||
wl = self.digits['bip39']
|
||||
seed_bytes = bytes.fromhex(seed_hex)
|
||||
|
|
|
|||
|
|
@ -413,24 +413,16 @@ class Mnemonic(WalletUnenc):
|
|||
mn_len = self._choose_seedlen(self.wclass,self.mn_lens,self.mn_type)
|
||||
return mn_entry(self.wl_id).get_mnemonic_from_user(mn_len)
|
||||
|
||||
@staticmethod
|
||||
def _mn2hex_pad(mn):
|
||||
return len(mn) * 8 // 3
|
||||
|
||||
@staticmethod
|
||||
def _hex2mn_pad(hexnum):
|
||||
return len(hexnum) * 3 // 8
|
||||
|
||||
def _format(self):
|
||||
|
||||
hexseed = self.seed.hexdata
|
||||
|
||||
bc = self.conv_cls(self.wl_id)
|
||||
mn = bc.fromhex( hexseed, self._hex2mn_pad(hexseed) )
|
||||
ret = bc.tohex( mn, self._mn2hex_pad(mn) )
|
||||
mn = bc.fromhex( hexseed, 'seed' )
|
||||
rev = bc.tohex( mn, 'seed' )
|
||||
|
||||
# Internal error, so just die on fail
|
||||
compare_or_die(ret,'recomputed seed',hexseed,'original',e='Internal error')
|
||||
compare_or_die( rev, 'recomputed seed', hexseed, 'original', e='Internal error' )
|
||||
|
||||
self.ssdata.mnemonic = mn
|
||||
self.fmt_data = ' '.join(mn) + '\n'
|
||||
|
|
@ -451,15 +443,15 @@ class Mnemonic(WalletUnenc):
|
|||
msg(f'Invalid mnemonic: word #{n} is not in the {self.wl_id.upper()} wordlist')
|
||||
return False
|
||||
|
||||
hexseed = bc.tohex( mn, self._mn2hex_pad(mn) )
|
||||
ret = bc.fromhex( hexseed, self._hex2mn_pad(hexseed) )
|
||||
hexseed = bc.tohex( mn, 'seed' )
|
||||
rev = bc.fromhex( hexseed, 'seed' )
|
||||
|
||||
if len(hexseed) * 4 not in g.seed_lens:
|
||||
msg('Invalid mnemonic (produces too large a number)')
|
||||
return False
|
||||
|
||||
# Internal error, so just die
|
||||
compare_or_die(' '.join(ret),'recomputed mnemonic',' '.join(mn),'original',e='Internal error')
|
||||
compare_or_die( ' '.join(rev), 'recomputed mnemonic', ' '.join(mn), 'original', e='Internal error' )
|
||||
|
||||
self.seed = Seed(bytes.fromhex(hexseed))
|
||||
self.ssdata.mnemonic = mn
|
||||
|
|
@ -489,12 +481,6 @@ class BIP39Mnemonic(Mnemonic):
|
|||
self.conv_cls = bip39
|
||||
super().__init__(*args,**kwargs)
|
||||
|
||||
@staticmethod
|
||||
def _mn2hex_pad(mn): return None
|
||||
|
||||
@staticmethod
|
||||
def _hex2mn_pad(hexnum): return None
|
||||
|
||||
class MMGenSeedFile(WalletUnenc):
|
||||
|
||||
stdin_ok = True
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue