package Ġio . cross road . rn card ano Ċ Ċ import Ġcom . facebook . react . bridge .* Ċ import Ġorg . json . JSONObject Ċ Ċ class ĠWallet ( react Context : ĠReact ApplicationContext ) Ġ: ĠReact Context Base Java Module ( react Context ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetName () Ġ= Ġ" Card ano Wallet " ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġfrom Master Key ( pkey : ĠString , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet From Master Key ( Convert . bytes ( pkey )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠConvert . result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġfrom Da ed al us Mnemonic ( mn emon ics : ĠString , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet From Da ed al us Mnemonic ("\" $ mn emon ics \" ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠConvert . result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġnew Account ( wallet : ĠRead able Map , Ġaccount Index : ĠInt , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" wallet ", ĠConvert . json ( wallet )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" account ", Ġaccount Index ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet New Account ( params ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠConvert . result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġgenerate Addresses ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount : ĠRead able Map , Ġtype : ĠString , Ġindic ies : ĠRead able Array , Ġpromise : ĠPromise ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" account ", ĠConvert . json ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" address _ type ", Ġtype ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" indices ", ĠConvert . json ( indic ies )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet Generate Addresses ( params , Ġindic ies . size ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠConvert . array Result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġcheck Address ( address : ĠString , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet Check Address ( address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĠConvert . bool Result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ(_ : ĠThrowable ) Ġ{ Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġspend ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwallet : ĠRead able Map , Ġinputs : ĠRead able Array , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutputs : ĠRead able Array , Ġchange Address : ĠString , Ġpromise : ĠPromise ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" wallet ", ĠConvert . json ( wallet )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" inputs ", ĠConvert . json ( inputs )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" outputs ", ĠConvert . json ( outputs )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" change _ addr ", Ġchange Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet S pend ( params , Ġinputs . size (), Ġoutputs . size ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠConvert . result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġobj Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobj . putString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cb or _ encoded _ tx ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConvert . string ( Convert . bytes ( obj . get Array (" cb or _ encoded _ tx ") !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobj ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġmove ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwallet : ĠRead able Map , Ġinputs : ĠRead able Array , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput : ĠString , Ġpromise : ĠPromise ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" wallet ", ĠConvert . json ( wallet )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" inputs ", ĠConvert . json ( inputs )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . put (" output ", Ġoutput ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative . wallet Move ( params , Ġinputs . size ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠConvert . result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġobj Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobj . putString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cb or _ encoded _ tx ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConvert . string ( Convert . bytes ( obj . get Array (" cb or _ encoded _ tx ") !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobj ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. p our ( promise ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( err ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ