package Ġcom . gc ig b . db chain Ċ Ċ import Ġcom . gc ig b . db chain . util . Wallet Ċ import Ġcom . gc ig b . network . Network Lib Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . nio . charset . StandardCharsets Ċ import Ġjava . util .* Ċ Ċ class ĠM n emonic Client Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠçĶŁæĪĲ åĬ© è®° è¯į ï¼Į èİ·åıĸ ĠDb Chain Key ĊĠĠĠĠĠĠĠ Ġfun Ġgenerate Mnemonic (): ĠDb Chain Key Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdb Chain Key : ĠDb Chain Key ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Chain Key Ġ= ĠWallet . generate Mnemonic (" wallet Name ", Ġ" wallet Password ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( db Chain Key . publicKey 6 4 . length Ġ!= Ġ 1 2 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdb Chain Key ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ å¯¼åħ¥ åĬ© è®° è¯į ï¼Į èİ·åıĸ ĠDb Chain Key ĊĠĠĠĠĠĠĠ Ġfun Ġimport Mnemonic ( list : ĠList < String >): ĠDb Chain Key Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠWallet . import Mnemonic ( list , Ġ" wallet Password ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġmnemonic 2 list ( mn emonic : ĠString ?): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmnemonic Ġ?: Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmnemonic . trim (). toLowerCase ( Locale . ROOT ). split (" Ġ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcheck Mnemonic ( mn emonic : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmnemonic Ġ?: Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmnemonic 2 list ( mn emonic ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcheck Mnemonic ( list ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcheck Mnemonic ( mn emonic : ĠList < String >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( mn emonic . size Ġ!= Ġ 1 2 ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠNetwork Lib . mContext . assets . open (" bip 3 9 - word list . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbr Ġ= ĠBufferedReader ( InputStream Reader ( inputStream , ĠStandard Charsets . UTF _ 8 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġword List Ġ= ĠArrayList < String >( 2 0 4 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġword : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( br . readLine (). also Ġ{ Ġword Ġ= Ġit Ġ} Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġword List . add ( word !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbr . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmnemonic . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġword List . contains ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! contains ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ