1
1
from typing import List
2
- from seedsigner .models .seed import Seed , ElectrumSeed , InvalidSeedException
2
+ from seedsigner .models .seed import Seed , InvalidSeedException
3
3
from seedsigner .models .settings_definition import SettingsConstants
4
4
5
5
6
6
7
7
class SeedStorage :
8
- PENDING_SEED_TYPE__BIP39 = "bip39"
9
- PENDING_SEED_TYPE__ELECTRUM = "electrum"
10
- # future TODO: PENDING_SEED_TYPE_SLIP39 = "slip39"
11
-
12
8
def __init__ (self ) -> None :
13
9
self .seeds : List [Seed ] = []
14
10
self .pending_seed : Seed = None
15
11
self ._pending_mnemonic : List [str ] = []
16
- self ._pending_seed_type : str = self . PENDING_SEED_TYPE__BIP39
12
+ self ._pending_Seed_cls = None
17
13
18
14
19
15
def set_pending_seed (self , seed : Seed ):
@@ -39,15 +35,6 @@ def clear_pending_seed(self):
39
35
self .pending_seed = None
40
36
41
37
42
- def validate_mnemonic (self , mnemonic : List [str ]) -> bool :
43
- try :
44
- Seed (mnemonic = mnemonic )
45
- except InvalidSeedException as e :
46
- return False
47
-
48
- return True
49
-
50
-
51
38
def num_seeds (self ):
52
39
return len (self .seeds )
53
40
@@ -62,15 +49,10 @@ def pending_mnemonic(self) -> List[str]:
62
49
def pending_mnemonic_length (self ) -> int :
63
50
return len (self ._pending_mnemonic )
64
51
65
-
66
- @property
67
- def pending_is_bip39 (self ) -> bool :
68
- return self ._pending_seed_type == self .PENDING_SEED_TYPE__BIP39
69
-
70
52
71
- def init_pending_mnemonic (self , num_words :int = 12 , seed_type : str = PENDING_SEED_TYPE__BIP39 ):
53
+ def init_pending_mnemonic (self , num_words :int = 12 , seed_class = Seed ):
72
54
self ._pending_mnemonic = [None ] * num_words
73
- self ._pending_seed_type = seed_type
55
+ self ._pending_Seed_cls = seed_class
74
56
75
57
76
58
def update_pending_mnemonic (self , word : str , index : int ):
@@ -92,23 +74,16 @@ def get_pending_mnemonic_word(self, index: int) -> str:
92
74
93
75
def get_pending_mnemonic_fingerprint (self , network : str = SettingsConstants .MAINNET ) -> str :
94
76
try :
95
- if self ._pending_seed_type == self .PENDING_SEED_TYPE__ELECTRUM :
96
- seed = ElectrumSeed (self ._pending_mnemonic )
97
- else :
98
- seed = Seed (self ._pending_mnemonic )
77
+ seed = self ._pending_Seed_cls (self ._pending_mnemonic )
99
78
return seed .get_fingerprint (network )
100
79
except InvalidSeedException :
101
80
return None
102
81
103
82
104
83
def convert_pending_mnemonic_to_pending_seed (self ):
105
- if self ._pending_seed_type == self .PENDING_SEED_TYPE__ELECTRUM :
106
- self .pending_seed = ElectrumSeed (self ._pending_mnemonic )
107
- else :
108
- self .pending_seed = Seed (self ._pending_mnemonic )
84
+ self .pending_seed = self ._pending_Seed_cls (self ._pending_mnemonic )
109
85
self .discard_pending_mnemonic ()
110
86
111
87
112
88
def discard_pending_mnemonic (self ):
113
89
self ._pending_mnemonic = []
114
- self ._pending_seed_type = self .PENDING_SEED_TYPE__BIP39
0 commit comments