package Ġcom . react native bitcoin Ċ Ċ import Ġcom . facebook . react . bridge .* Ċ import Ġio . github . nov ac rypto . bip 3 2 . Extended PrivateKey Ċ import Ġio . github . nov ac rypto . bip 3 2 . networks . Bitcoin Ċ import Ġio . github . nov ac rypto . bip 3 9 . Mnemonic Generator Ċ import Ġio . github . nov ac rypto . bip 3 9 . Seed Calculator Ċ import Ġio . github . nov ac rypto . bip 3 9 . Words Ċ import Ġio . github . nov ac rypto . bip 3 9 . word lists . English Ċ import Ġjava . lang . StringBuilder Ċ import Ġjava . security . Secure Random Ċ Ċ val ĠPATH Ġ= Ġ" m / 0 '/ 0 '" Ċ Ċ class ĠBitcoin Module ( react Context : ĠReact ApplicationContext ) Ġ: ĠReact Context Base Java Module ( react Context ) Ġ{ ĊĊĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" Bitcoin " ĊĠ Ġ} ĊĊĠ Ġ@ React Method ĊĠ Ġfun Ġgenerate Mnemonic ( length : ĠInt Ġ= Ġ 1 6 , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠ Ġval Ġentropy Ġ= ĠByteArray ( Words . TW EL VE . byte Length ()) ĊĠĠĠ Ġval Ġsr Ġ= ĠSecure Random () ĊĠĠĠ Ġsr . next Bytes ( entropy ) ĊĠĠĠ ĠM n emonic Generator ( English . INSTANCE ) ĊĠĠĠĠĠ Ġ. create Mnemonic ( entropy , Ġ{ Ġsb . append ( it ) Ġ}) ĊĠĠĠ Ġval Ġwallet Ġ= Ġ_ mn emonic To Wallet ( sb . toString (), ĠPATH ) ĊĠĠĠ Ġpromise . resolve ( wallet ) ĊĠ Ġ} ĊĊĊĠ Ġ@ React Method ĊĠ Ġfun Ġmnemonic To Wallet ( mn emonic : ĠString , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠ Ġval Ġwallet Ġ= Ġ_ mn emonic To Wallet ( mn emonic , ĠPATH ) ĊĠĠĠ Ġpromise . resolve ( wallet ) ĊĠ Ġ} ĊĊĠ Ġfun Ġ_ mn emonic To Wallet ( mn emonic : ĠString , Ġpath : ĠString ): ĠWrit able Map Ġ{ ĊĠĠĠ Ġval Ġseed Ġ= Ġ ĠSeed Calculator (). calculate Seed ( mn emonic , Ġ""); ĊĠĠĠ Ġval Ġkey Ġ= ĠExtended PrivateKey . from Seed ( seed , ĠBitcoin . MAIN _ NET ) ĊĠĠĠ Ġval Ġx prv Ġ= Ġkey . extended Base 5 8 () ĊĠĠĠ Ġreturn ĠArguments . create Map (). apply Ġ{ ĊĠĠĠĠĠ Ġput String (" root 3 2 x prv ", Ġx prv ) ĊĠĠĠĠĠ Ġput String (" mn emon ics ", Ġmnemonic ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ