5757 "academic acid beard romp believe impulse species holiday demand building" \
5858 " earth warn lunar olympic clothes piece campus alpha short endless"
5959
60- SD_SEED_FRAME = 'Seed Source: Create your Seed Entropy here'
60+ SD_SEED_FRAME = 'Seed Source: Create/Recover Seed Entropy here'
6161SE_SEED_FRAME = 'Seed Extra Randomness'
6262SS_SEED_FRAME = 'Seed Secret & SLIP-39 Recovery Groups'
6363
@@ -269,16 +269,17 @@ def groups_layout(
269269 ],
270270 ] + [
271271 [
272- # SLIP-39 only available in Recovery; SLIP-39 Passphrase only in Pro; BIP-39 and Fixed Hex only in Pro
272+ # SLIP-39 only available in Recovery; SLIP-39 Passphrase only in Pro
273273 sg .Frame ( SD_SEED_FRAME , [
274274 [
275275 sg .Text ( "Random:" if not LO_BAK else "Source:" , visible = LO_CRE , ** T_hue ( T_kwds , 0 / 20 )),
276- sg .Radio ( "128-bit" , "SD" , key = '-SD-128-RND-' , default = LO_CRE ,
276+ sg .Radio ( "128-bit" , "SD" , key = '-SD-128-RND-' , visible = LO_CRE , ** T_hue ( B_kwds , 0 / 20 )),
277+ sg .Radio ( "256-bit" , "SD" , key = '-SD-256-RND-' , default = LO_CRE and not LO_REC ,
277278 visible = LO_CRE , ** T_hue ( B_kwds , 0 / 20 )),
278- sg .Radio ( "256-bit" , "SD" , key = '-SD-256-RND-' , visible = LO_CRE , ** T_hue ( B_kwds , 0 / 20 )),
279279 sg .Radio ( "512-bit" , "SD" , key = '-SD-512-RND-' , visible = LO_PRO , ** T_hue ( B_kwds , 0 / 20 )),
280280 sg .Text ( "Recover:" , visible = LO_CRE , ** T_hue ( T_kwds , 2 / 20 )),
281- sg .Radio ( "SLIP-39" , "SD" , key = '-SD-SLIP-' , visible = LO_REC , ** T_hue ( B_kwds , 2 / 20 )),
281+ sg .Radio ( "SLIP-39" , "SD" , key = '-SD-SLIP-' , default = LO_REC ,
282+ visible = LO_REC , ** T_hue ( B_kwds , 2 / 20 )),
282283 sg .Radio ( "BIP-39" , "SD" , key = '-SD-BIP-' , default = LO_BAK ,
283284 visible = LO_CRE , ** T_hue ( B_kwds , 2 / 20 )),
284285 sg .Radio ( "BIP-39 Seed" , "SD" , key = '-SD-BIP-SEED-' , visible = LO_PRO , ** T_hue ( B_kwds , 2 / 20 )),
@@ -367,6 +368,9 @@ def groups_layout(
367368 sg .Text ( f"of { len (groups )} " , key = '-RECOVERY-' , ** T_kwds ),
368369 sg .Button ( '+' , ** B_kwds ),
369370 sg .Text ( "Mnemonic Card Groups" , ** T_kwds ),
371+ sg .Checkbox ( "Extendable" , key = '-EXTENDABLE-' , visible = LO_CRE ,
372+ default = True ,
373+ size = prefix , ** T_hue ( B_kwds , + 1 / 20 )),
370374 ],
371375 group_body ,
372376 ] ),
@@ -595,12 +599,12 @@ def update_seed_data( event, window, values ):
595599 # We're recovering the BIP-39 Seed Phrase *Entropy*, NOT the derived (decrypted) 512-bit
596600 # Seed Data! So, we don't deal in Passphrases, here. The Passphrase (to encrypt the Seed,
597601 # when "Using BIP-39") is only required to display the correct wallet addresses.
598- window ['-SD-DATA-F-' ].update ( "BIP-39 Mnemonic to Back Up: " )
602+ window ['-SD-DATA-F-' ].update ( "BIP-39 Mnemonic to Recover or Back Up: " )
599603 window ['-SD-DATA-F-' ].update ( visible = True )
600604 window ['-SD-PASS-C-' ].update ( visible = False )
601605 window ['-SD-PASS-F-' ].update ( visible = False )
602606 elif 'SLIP' in update_seed_data .src :
603- window ['-SD-DATA-F-' ].update ( "SLIP-39 Mnemonics to Back Up: " )
607+ window ['-SD-DATA-F-' ].update ( "SLIP-39 Mnemonics to Recover or Back Up: " )
604608 window ['-SD-DATA-F-' ].update ( visible = True )
605609 window ['-SD-PASS-C-' ].update ( visible = True )
606610 window ['-SD-PASS-F-' ].update (
@@ -1073,6 +1077,7 @@ def app(
10731077 events_ignored = ('-MNEMONICS-' + sg .WRITE_ONLY_KEY ,)
10741078 master_secret = None # default to produce randomly
10751079 details = None # The SLIP-39 details produced from groups; make None to force SLIP-39 Mnemonic update
1080+ extendable = True
10761081 cryptopaths = None
10771082 timeout = 0 # First time thru; refresh immediately; functions req. refresh may adjust via values['__TIMEOUT__']
10781083 instructions = '' # The last instructions .txt payload found
@@ -1441,6 +1446,11 @@ def deficiency( *deficiencies ):
14411446 # We avoid recomputing this unless something about the seed or the recovered groups changes;
14421447 # each time we recompute -- even without any changes -- the SLIP-39 Mnemonics will change,
14431448 # due to the use of entropy in the SLIP-39 process.
1449+ extendable_rec = values ['-EXTENDABLE-' ]
1450+ if extendable_rec != extendable :
1451+ extendable = extendable_rec
1452+ details = None
1453+
14441454 if not details or names [0 ] not in details :
14451455 log .info ( f"SLIP39 details for { names } ..." )
14461456 try :
@@ -1457,6 +1467,7 @@ def deficiency( *deficiencies ):
14571467 passphrase = passphrase ,
14581468 using_bip39 = using_bip39 ,
14591469 cryptopaths = cryptopaths ,
1470+ extendable = extendable ,
14601471 )
14611472 except Exception as exc :
14621473 status = f"Error creating: { exc } "
@@ -1532,7 +1543,7 @@ def deficiency( *deficiencies ):
15321543 continue
15331544 name_len = max ( len ( name ) for name in details )
15341545 status = '\n ' .join (
1535- f"Saved { name } "
1546+ f"{ 'Print' if printer else ' Saved' } : { name } "
15361547 for name in details
15371548 )
15381549 # Finally, success has been assured; turn off emboldened status line
0 commit comments