コード例 #1
0
ファイル: trustedcoin.py プロジェクト: vialectrum/vialectrum
 def get_xkeys(self, seed, t, passphrase, derivation):
     assert is_any_2fa_seed_type(t)
     xtype = 'standard' if t == '2fa' else 'p2wsh'
     bip32_seed = Mnemonic.mnemonic_to_seed(seed, passphrase)
     xprv, xpub = bip32_root(bip32_seed, xtype)
     xprv, xpub = bip32_private_derivation(xprv, "m/", derivation)
     return xprv, xpub
コード例 #2
0
ファイル: trustedcoin.py プロジェクト: zhiyuan2007/electrum
 def get_xkeys(self, seed, t, passphrase, derivation):
     assert is_any_2fa_seed_type(t)
     xtype = 'standard' if t == '2fa' else 'p2wsh'
     bip32_seed = Mnemonic.mnemonic_to_seed(seed, passphrase)
     xprv, xpub = bip32_root(bip32_seed, xtype)
     xprv, xpub = bip32_private_derivation(xprv, "m/", derivation)
     return xprv, xpub
コード例 #3
0
ファイル: trustedcoin.py プロジェクト: zhiyuan2007/electrum
 def xkeys_from_seed(self, seed, passphrase):
     t = seed_type(seed)
     if not is_any_2fa_seed_type(t):
         raise BaseException('unexpected seed type: {}'.format(t))
     words = seed.split()
     n = len(words)
     # old version use long seed phrases
     if n >= 20:
         # note: pre-2.7 2fa seeds were typically 24-25 words, however they
         # could probabilistically be arbitrarily shorter due to a bug. (see #3611)
         # the probability of it being < 20 words is about 2^(-(256+12-19*11)) = 2^(-59)
         if passphrase != '':
             raise Exception('old 2fa seed cannot have passphrase')
         xprv1, xpub1 = self.get_xkeys(' '.join(words[0:12]), t, '', "m/")
         xprv2, xpub2 = self.get_xkeys(' '.join(words[12:]), t, '', "m/")
     elif not t == '2fa' or n == 12:
         xprv1, xpub1 = self.get_xkeys(seed, t, passphrase, "m/0'/")
         xprv2, xpub2 = self.get_xkeys(seed, t, passphrase, "m/1'/")
     else:
         raise Exception('unrecognized seed length: {} words'.format(n))
     return xprv1, xpub1, xprv2, xpub2
コード例 #4
0
ファイル: trustedcoin.py プロジェクト: vialectrum/vialectrum
 def xkeys_from_seed(self, seed, passphrase):
     t = seed_type(seed)
     if not is_any_2fa_seed_type(t):
         raise BaseException('unexpected seed type: {}'.format(t))
     words = seed.split()
     n = len(words)
     # old version use long seed phrases
     if n >= 20:
         # note: pre-2.7 2fa seeds were typically 24-25 words, however they
         # could probabilistically be arbitrarily shorter due to a bug. (see #3611)
         # the probability of it being < 20 words is about 2^(-(256+12-19*11)) = 2^(-59)
         if passphrase != '':
             raise Exception('old 2fa seed cannot have passphrase')
         xprv1, xpub1 = self.get_xkeys(' '.join(words[0:12]), t, '', "m/")
         xprv2, xpub2 = self.get_xkeys(' '.join(words[12:]), t, '', "m/")
     elif not t == '2fa' or n == 12:
         xprv1, xpub1 = self.get_xkeys(seed, t, passphrase, "m/0'/")
         xprv2, xpub2 = self.get_xkeys(seed, t, passphrase, "m/1'/")
     else:
         raise Exception('unrecognized seed length: {} words'.format(n))
     return xprv1, xpub1, xprv2, xpub2
コード例 #5
0
ファイル: trustedcoin.py プロジェクト: zhiyuan2007/electrum
 def make_seed(self, seed_type):
     if not is_any_2fa_seed_type(seed_type):
         raise BaseException('unexpected seed type: {}'.format(seed_type))
     return Mnemonic('english').make_seed(seed_type=seed_type, num_bits=128)
コード例 #6
0
ファイル: trustedcoin.py プロジェクト: zhiyuan2007/electrum
 def is_valid_seed(seed):
     t = seed_type(seed)
     return is_any_2fa_seed_type(t)
コード例 #7
0
ファイル: trustedcoin.py プロジェクト: vialectrum/vialectrum
 def make_seed(self, seed_type):
     if not is_any_2fa_seed_type(seed_type):
         raise BaseException('unexpected seed type: {}'.format(seed_type))
     return Mnemonic('english').make_seed(seed_type=seed_type, num_bits=128)
コード例 #8
0
ファイル: trustedcoin.py プロジェクト: vialectrum/vialectrum
 def is_valid_seed(seed):
     t = seed_type(seed)
     return is_any_2fa_seed_type(t)