package Ġio . uso am ic . web wallet . view Ċ Ċ import Ġio . uso am ic . uso am ick t js . model . Account Ċ import Ġio . uso am ic . web 3 kt . util . extension . remove Hex Prefix If Exist Ċ import Ġio . uso am ic . web 3 kt . wallet . Wallet Ċ import Ġio . uso am ic . web 3 kt . wallet . extension . from PrivateKey Ċ import Ġio . uso am ic . web 3 kt . wallet . extension . toJson String Ċ import Ġio . uso am ic . web wallet . base . Application Ċ import Ġio . uso am ic . web wallet . base . View Ċ import Ġio . uso am ic . web wallet . enum cls . Page Ċ import Ġio . uso am ic . web wallet . util . Async Ċ import Ġio . uso am ic . web wallet . util . Validate Util Ċ import Ġjs . external s . jquery . J Query Ċ import Ġjs . external s . jquery . extension . enable Ċ import Ġjs . external s . jquery . extension . onClick Ċ import Ġjs . external s . jquery . extension . start Loading Ċ import Ġjs . external s . jquery . extension . stop Loading Ċ import Ġjs . external s . jquery . jQuery Ċ import Ġjs . external s . toastr . extensions . error Ċ import Ġjs . external s . toastr . toastr Ċ import Ġorg . w 3 c . dom . HTMLElement Ċ import Ġkotlinx . browser . localStorage Ċ Ċ class ĠAdd Wallet View ( application : ĠApplication ) Ġ: ĠView ( application ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġview Ġ= ĠjQuery ("# add _ wallet _ view ") ĊĠĠĠ Ġoverride Ġval Ġnav Bar Item : ĠJ Query < HTMLElement >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval ĠprivateKey Input Ġ= ĠjQuery ("# add _ pk _ input ") ĊĠĠĠ Ġprivate Ġval Ġpassword Input Ġ= ĠjQuery ("# add _ password _ input ") ĊĠĠĠ Ġprivate Ġval Ġconfirm Password Input Ġ= ĠjQuery ("# add _ confirm _ password _ input ") ĊĠĠĠ Ġprivate Ġval Ġsave Btn Ġ= ĠjQuery ("# save _ button ") ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication . hide NavigationBar () ĊĠĠĠĠĠĠĠ Ġset Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Btn . start Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Btn . stop Loading ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Btn . onClick Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠprivateKey Ġ= ĠprivateKey Input . content (). remove Hex Prefix If Exist () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= Ġpassword Input . content () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfirm Password Ġ= Ġconfirm Password Input . content () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValidate Util . validate PrivateKey ( privateKey ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. validate Password ( password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. validate Confirm Password ( confirm Password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. validate Password s ( password , Ġconfirm Password ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAsync . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠWallet . from PrivateKey ( privateKey ). to V 3 ( password ). toJson String () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlocalStorage . setItem ( Account . ACCOUNT , Ġjson ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . open Page ( Page . DASH BOARD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Btn . stop Loading ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoastr . error ( e . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ Ġsave Btn . enable () ĊĠĠĠĠĠĠĠ Ġclear Inputs ( listOf ( privateKey Input , Ġpassword Input , Ġconfirm Password Input )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinstance : ĠAdd Wallet View ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġopen ( application : ĠApplication ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( instance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Ġ= ĠAdd Wallet View ( application ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġapplication . open ( instance !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }