{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/sia/index.js","webpack:///./src/utils/export.js","webpack:///./src/router.js","webpack:///./src/store/index.js","webpack:///./src/sync/default.js","webpack:///./src/sync/walrus.js","webpack:///./src/sync/scanner.js","webpack:///./src/utils/format.js","webpack:///./src/views/Setup.vue?2b01","webpack:///./src/views/Unavailable.vue?46f6","webpack:///./src/utils/crypto.js","webpack:///./src/translation/index.js","webpack:///./src/store/db/common.js","webpack:///./src/store/db/dexie.js","webpack:///./src/store/db.js","webpack:///./src/store/db/memory.js","webpack:///./src/sia/sia.worker.js","webpack:///./src/views/Setup.vue?7174","webpack:///src/views/Setup.vue","webpack:///./src/views/Setup.vue?e018","webpack:///./src/views/Setup.vue","webpack:///./src/views/Unavailable.vue?3adb","webpack:///src/views/Unavailable.vue","webpack:///./src/views/Unavailable.vue?5670","webpack:///./src/views/Unavailable.vue","webpack:///./src/utils/index.js","webpack:///./src/views/UnlockWallet.vue?0c50","webpack:///src/views/UnlockWallet.vue","webpack:///./src/views/UnlockWallet.vue?358d","webpack:///./src/views/UnlockWallet.vue","webpack:///./src/types/wallet.js","webpack:///./src/views/UnlockWallet.vue?2997"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","spawnWorker","_x","_x2","_x3","_spawnWorker","arguments","_asyncToGenerator","regeneratorRuntime","mark","_callee","params","progress","worker","work","wrap","_context","prev","next","Worker","workerDeadline","onmessage","Array","isArray","debug","postMessage","finally","terminate","abrupt","stop","generateSeed","generateAddresses","seed","currency","signTransactions","unsigned","JSON","stringify","getTransactions","addresses","walletCurrency","displayCurrency","exportTransactions","_x4","_x5","_x6","_x7","_x8","_x9","_exportTransactions","_callee2","min","max","_context2","signTransaction","txn","indexes","encodeTransaction","encodeUnlockHash","unlockconditions","recoverAddresses","_x10","_x11","_recoverAddresses","_callee3","lookahead","last","_args3","_context3","exportMagicBytes","Uint8Array","exportMagicNum","DataView","buffer","getUint32","exportSeed","_exportSeed","password","_yield$pbkdf","salt","hash","encrypted","full","pbkdf2","sent","decodeB64","encrypt","set","seedEncrypted","ArrayBuffer","importSeed","decryptSeed","decodeUTF8","_decryptSeed","_yield$pbkdf2","decrypt","encodeB64","Vue","use","VueRouter","routes","path","component","meta","insecure","router","base","process","getLocalStorageNumeric","def","v","localStorage","getItem","isNaN","isFinite","parseInt","migrateRoundsToLookahead","rounds","addrs","log","setItem","Vuex","store","Store","state","dbType","setup","offline","unavailable","autoLock","useCostBasis","changeSeedType","changeServerType","addressLookahead","displayLanguage","wallets","notifications","scanQueue","siaBlockHeight","siaNetworkFees","feeAddresses","exchangeRateSC","exchangeRateSF","mutations","setUnavailable","setDBType","setSetup","setOffline","setWallets","map","w","Wallet","setFeeAddresses","lockWallets","setPassword","setDisplayLanguage","language","setChangeSeedType","enabled","setChangeServerType","setAddressLookahead","setCurrency","setAutoLock","setUseCostBasis","saveWallet","wallet","id","encodeUTF8","idx","findIndex","deleteWallet","setExchangeRate","_ref","siacoin","siafund","setConsensusHeight","_ref2","sia","setNetworkFees","_ref3","pushNotification","notification","clearNotification","queueWallet","_ref4","walletID","shiftWallet","actions","_ref5","commit","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","toString","_ref12","consensus","_ref13","_ref14","_ref15","_ref16","_ref17","lockMin","unlockWallets","_ref18","dispatch","loadWallets","forEach","_ref19","_ref20","existing","find","concat","_objectSpread","createWallet","_ref21","_callee4","_context4","_ref22","_callee5","_context5","_ref23","rates","_ref24","fees","_ref25","_ref26","_ref27","_ref28","scan","scanner","_ref29","item","updateMetadata","_updateMetadata","_callee6","price","siaFees","siaBlock","_context6","siaAPI","getCoinPrice","getNetworkFees","getFeeAddresses","getBlockHeight","height","t0","setInterval","quickScan","_quickScan","startIndex","lastKnownIndex","maxLookahead","getWalletAddresses","index","title","saveAddresses","a","wallet_id","fullScan","_fullScan","scanTransactions","_scanTransactions","balance","address","_scan","walrus","WalrusClient","server_url","getUnlockConditions","_wallet$transactions","addressMap","values","reduce","getLimboTransactions","getUnspentOutputs","getBalance","transactions","confirmations","unspent_siacoin_outputs","confirmed_siacoin_balance","unshift","_toConsumableArray","BigNumber","plus","siacoin_outputs","unlock_hash","owned","siacoin_value","direction","rescanTimeouts","scanning","_scanner","scanWallet","finish","_scanWallet","server_type","walrusScanner","defaultScanner","t1","t2","t3","supportedCrypto","supportedCurrency","formatNumber","val","dec","Intl","NumberFormat","minimumFractionDigits","format","roundNumber","str","abs","neg","lt","parts","split","decimals","num","sd","toNumber","formatCryptoString","rate","precision","isEqualTo","label","toLowerCase","maximumFractionDigits","dividedBy","times","formatCurrencyString","formatter","style","formatSiafundString","formatPriceString","indexOf","symbolStyle","currencyDisplay","ex","formatExchangeRate","sign","signDisplay","_pbkdf","iterations","keyBuf","_args","crypto","getRandomValues","subtle","importKey","deriveBits","nonce","randomBytes","secretbox","nonceLength","msg","box","buf","decrypted","open","hashString","from","byte","join","supportedLanguages","en","cn","fr","translations","loadTranslations","languages","languageSupported","translate","group","_typeof","args","this","replace","substring","sub","unlockWallet","_unlockWallet","db","DexieStore","_classCallCheck","_createClass","_init","_db","Dexie","autoOpen","version","stores","init","put","_getWallets","toArray","getWallets","count","bulkPut","filter","sortBy","keys","_getWalletChangeAddress","addr","orderBy","usage_type","first","getWalletChangeAddress","limit","offset","reverse","delete","clear","MemoryStore","_wallets","_addresses","_saveWallet","_this","k","_walletCount","walletCount","_saveAddresses","_this2","_getWalletAddresses","_this3","_getWalletUnlockHashes","_callee7","_this4","_context7","getWalletUnlockHashes","_getAddresses","_callee8","_this5","_context8","getAddresses","_callee9","_context9","sort","b","_getLastWalletAddresses","_callee10","_context10","getLastWalletAddresses","_deleteWallet","_callee11","_this6","_context11","_x12","connect","_connect","dexie","mem","confirmedSiafundBalance","confirmedSiacoinBalance","unconfirmedSiafundDelta","unconfirmedSiacoinDelta","siafundClaim","confirmed_siafund_balance","unconfirmed_siacoin_delta","unconfirmed_siafund_delta","siafund_claim","reset","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","accepted","step","_v","_s","directives","rawName","expression","domProps","on","$event","composing","unlockPassword","onCheckPassword","confirmPassword","passwordsMatch","_e","$$selectedVal","options","selected","_value","newLanguage","multiple","_l","enableNext","onSetPassword","onWalletCreated","staticRenderFns","_m","calculateFee","inputs","outputs","fee","verifyAddress","preventDefault","onUnlockWallets","unlocking","forgotPassword","uiRevision","unspent_siafund_outputs","spent_siacoin_outputs","spent_siafund_outputs","delta"],"mappings":"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","file":"js/app~c714bc7b.c528efcd.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app~c714bc7b\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app~c714bc7b\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about~6a3582c1\":\"about~6a3582c1\",\"settings~21833f8f\":\"settings~21833f8f\"}[chunkId]||chunkId) + \".\" + {\"about~6a3582c1\":\"d4694bd4\",\"chunk-11b6df22\":\"22a82a03\",\"chunk-41f5cf3e\":\"57822c52\",\"chunk-103f3728\":\"895b53a9\",\"settings~21833f8f\":\"86590523\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about~6a3582c1\":1,\"chunk-11b6df22\":1,\"chunk-41f5cf3e\":1,\"chunk-103f3728\":1,\"settings~21833f8f\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about~6a3582c1\":\"about~6a3582c1\",\"settings~21833f8f\":\"settings~21833f8f\"}[chunkId]||chunkId) + \".\" + {\"about~6a3582c1\":\"c1f8dd27\",\"chunk-11b6df22\":\"f71ccbb6\",\"chunk-41f5cf3e\":\"8720f9a3\",\"chunk-103f3728\":\"5ddff310\",\"settings~21833f8f\":\"2ab96488\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"npm.core-js~93acefaf\",\"npm.core-js~31c671ca\",\"npm.rxjs~0a62a912\",\"npm.semver~1640a31f\",\"npm.ledgerhq~2e47309a\",\"npm.fortawesome~14b916ce\",\"npm.fortawesome~ac0f77ce\",\"npm.fortawesome~82b88a00\",\"npm.node-libs-browser~69ddfae0\",\"npm.bignumber.js~2d55bc4b\",\"npm.dexie~dff86cf2\",\"npm.tweetnacl~fc7dd5db\",\"npm.vue-router~b1f96ece\",\"npm.vue~d2305125\",\"npm.vuex~87de5440\",\"chunk-vendors~253ae210\",\"app~748942c6\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","async function spawnWorker(params, timeout, progress) {\n\tlet worker = new Worker('./sia.worker.js', { type: 'module' });\n\n\tconst work = new Promise((resolve, reject) => {\n\t\tconst workerDeadline = setTimeout(() => {\n\t\t\treject(new Error('response timeout'));\n\t\t}, timeout);\n\n\t\tworker.onmessage = (e) => {\n\t\t\tconst data = e.data;\n\n\t\t\tclearTimeout(workerDeadline);\n\n\t\t\tif (data === 'ready') {\n\t\t\t\tworker.postMessage(params);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!Array.isArray(data)) {\n\t\t\t\tconsole.error(data);\n\t\t\t\treturn reject(new Error('unexpected data'));\n\t\t\t}\n\n\t\t\tswitch (data[0]) {\n\t\t\tcase 'log':\n\t\t\t\tconsole.debug(data[1]);\n\t\t\t\treturn;\n\t\t\tcase 'progress':\n\t\t\t\tif (typeof progress !== 'function')\n\t\t\t\t\treturn;\n\n\t\t\t\tprogress(data[1]);\n\t\t\t\treturn;\n\t\t\tcase null:\n\t\t\t\tresolve(data[1]);\n\t\t\t\treturn;\n\t\t\tdefault:\n\t\t\t\treject(new Error(data[0]));\n\t\t\t}\n\t\t};\n\t});\n\n\twork.finally(() => {\n\t\tworker.terminate();\n\t\tworker = null;\n\t});\n\n\treturn work;\n}\n\nexport function generateSeed(type) {\n\treturn spawnWorker(['generateSeed', type], 15000);\n}\n\nexport function generateAddresses(seed, currency, i, n) {\n\treturn spawnWorker(['generateAddresses', seed, currency, i, n], 15000);\n}\n\nexport function signTransactions(seed, currency, unsigned) {\n\treturn spawnWorker(['signTransactions', seed, currency, JSON.stringify(unsigned)], 15000);\n}\n\nexport function getTransactions(addresses, walletCurrency, displayCurrency) {\n\treturn spawnWorker(['getTransactions', addresses, walletCurrency, displayCurrency], 30000);\n}\n\nexport async function exportTransactions(addresses, walletCurrency, displayCurrency, min, max, progress) {\n\treturn spawnWorker(['exportTransactions', addresses, walletCurrency, displayCurrency, min, max], 300000, progress);\n}\n\nexport function signTransaction(seed, currency, txn, indexes) {\n\treturn spawnWorker(['signTransaction', seed, currency, JSON.stringify(txn), indexes], 15000);\n}\n\nexport function encodeTransaction(txn) {\n\treturn spawnWorker(['encodeTransaction', JSON.stringify(txn)], 15000);\n}\n\nexport function encodeUnlockHash(unlockconditions) {\n\treturn spawnWorker(['encodeUnlockHash', JSON.stringify(unlockconditions)], 15000);\n}\n\nexport function encodeUnlockHashes(unencoded) {\n\treturn spawnWorker(['encodeUnlockHashes', unencoded.map(u => JSON.stringify(u))], 15000);\n}\n\nexport async function recoverAddresses(seed, currency, i = 0, lookahead = 25000, last = 0, progress) {\n\treturn spawnWorker(['recoverAddresses', seed, currency, i, lookahead, last], 300000, progress);\n}","import { decode as decodeB64, encode as encodeB64 } from '@stablelib/base64';\nimport { decode as decodeUTF8 } from '@stablelib/utf8';\nimport { encrypt, decrypt, pbkdf2 } from '@/utils/crypto';\n\nconst exportMagicBytes = new Uint8Array([95, 6, 39, 249]),\n\texportMagicNum = new DataView(exportMagicBytes.buffer).getUint32();\n\nexport async function exportSeed(seed, password) {\n\tconst { salt, hash } = await pbkdf2(password);\n\n\tconst encrypted = decodeB64(encrypt(seed, hash)),\n\t\tfull = new Uint8Array(exportMagicBytes.length + salt.length + encrypted.length);\n\n\tfull.set(exportMagicBytes);\n\tfull.set(salt, 4);\n\tfull.set(encrypted, 4 + salt.length);\n\n\treturn full;\n}\n\nexport function seedEncrypted(data) {\n\tif (data.length < 4)\n\t\treturn false;\n\n\tif (data instanceof ArrayBuffer)\n\t\treturn new DataView(data).getUint32() === exportMagicNum;\n\n\treturn new DataView(data.slice(0, 4).buffer).getUint32() === exportMagicNum;\n}\n\nexport function importSeed(data, password) {\n\tif (!seedEncrypted(data))\n\t\treturn decodeUTF8(data);\n\n\treturn decryptSeed(data, password);\n}\n\nasync function decryptSeed(data, password) {\n\tconst salt = data.slice(4, 20),\n\t\tencrypted = data.slice(4 + salt.length),\n\t\t{ hash } = await pbkdf2(password, salt);\n\n\treturn decrypt(encodeB64(encrypted), hash);\n}","import Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nVue.use(VueRouter);\n\nconst routes = [\n\t{\n\t\tpath: '/',\n\t\tname: 'wallets',\n\t\tcomponent: () => import('@/views/Wallets.vue')\n\t},\n\t{\n\t\tpath: '/settings',\n\t\tname: 'settings',\n\t\tcomponent: () => import(/* webpackChunkName: \"settings\" */ '@/views/Settings.vue')\n\t},\n\t{\n\t\tpath: '/about',\n\t\tname: 'about',\n\t\tcomponent: () => import(/* webpackChunkName: \"about\" */ '@/views/About.vue'),\n\t\tmeta: {\n\t\t\tinsecure: true\n\t\t}\n\t}\n];\n\nconst router = new VueRouter({\n\tmode: 'history',\n\tbase: process.env.BASE_URL,\n\troutes\n});\n\nexport default router;\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport { hash } from 'tweetnacl';\nimport { encode as encodeB64 } from '@stablelib/base64';\nimport { encode as encodeUTF8 } from '@stablelib/utf8';\nimport { saveWallet, loadWallets, deleteWallet } from './db';\nimport { scanner } from '@/sync/scanner';\nimport { siaAPI } from '@/api/siacentral';\nimport Wallet from '@/types/wallet';\n\nVue.use(Vuex);\n\nfunction getLocalStorageNumeric(key, def) {\n\tconst v = localStorage.getItem(key);\n\n\tif (!v || isNaN(v) || !isFinite(v))\n\t\treturn def;\n\n\treturn parseInt(v, 10);\n}\n\nfunction migrateRoundsToLookahead() {\n\tconst rounds = getLocalStorageNumeric('minScanRounds', -1),\n\t\taddrs = getLocalStorageNumeric('addressesPerRound', -1),\n\t\tlookahead = getLocalStorageNumeric('addressLookahead', -1);\n\n\tif (lookahead === -1 && rounds !== -1 && addrs !== -1) {\n\t\tconsole.log('migrating to lookahead', rounds * addrs);\n\t\tlocalStorage.setItem('addressLookahead', rounds * addrs);\n\t}\n}\nmigrateRoundsToLookahead();\n\nconst store = new Vuex.Store({\n\tstate: {\n\t\tdbType: 'memory',\n\t\tsetup: false,\n\t\toffline: false,\n\t\tunavailable: null,\n\t\tautoLock: getLocalStorageNumeric('autoLock', 15),\n\t\tcurrency: localStorage.getItem('displayCurrency') || 'usd',\n\t\tuseCostBasis: localStorage.getItem('useCostBasis') === 'true',\n\t\tchangeSeedType: localStorage.getItem('changeSeedType') === 'true',\n\t\tchangeServerType: localStorage.getItem('changeServerType') === 'true',\n\t\taddressLookahead: getLocalStorageNumeric('addressLookahead', 25000),\n\t\tdisplayLanguage: localStorage.getItem('displayLanguage') || 'detect',\n\t\tpassword: null,\n\t\twallets: [],\n\t\tnotifications: [],\n\t\tscanQueue: [],\n\t\tsiaBlockHeight: 0,\n\t\tsiaNetworkFees: {},\n\t\tfeeAddresses: [],\n\t\texchangeRateSC: {},\n\t\texchangeRateSF: {}\n\t},\n\tmutations: {\n\t\tsetUnavailable(state, unavailable) {\n\t\t\tstate.unavailable = unavailable;\n\t\t},\n\t\tsetDBType(state, type) {\n\t\t\tstate.dbType = type;\n\t\t},\n\t\tsetSetup(state, setup) {\n\t\t\tstate.setup = setup;\n\t\t},\n\t\tsetOffline(state, offline) {\n\t\t\tstate.offline = offline;\n\t\t},\n\t\tsetWallets(state, wallets) {\n\t\t\tstate.wallets = wallets.map(w => new Wallet(w));\n\t\t},\n\t\tsetFeeAddresses(state, addresses) {\n\t\t\tstate.feeAddresses = addresses;\n\t\t},\n\t\tlockWallets(state) {\n\t\t\tstate.wallets = [];\n\t\t\tstate.scanQueue = [];\n\t\t\tstate.password = null;\n\t\t},\n\t\tsetPassword(state, password) {\n\t\t\tstate.password = password;\n\t\t},\n\t\tsetDisplayLanguage(state, language) {\n\t\t\tstate.displayLanguage = language;\n\t\t},\n\t\tsetChangeSeedType(state, enabled) {\n\t\t\tstate.changeSeedType = enabled;\n\t\t},\n\t\tsetChangeServerType(state, enabled) {\n\t\t\tstate.changeServerType = enabled;\n\t\t},\n\t\tsetAddressLookahead(state, n) {\n\t\t\tstate.addressLookahead = n;\n\t\t},\n\t\tsetCurrency(state, currency) {\n\t\t\tstate.currency = currency;\n\t\t},\n\t\tsetAutoLock(state, autoLock) {\n\t\t\tstate.autoLock = autoLock;\n\t\t},\n\t\tsetUseCostBasis(state, useCostBasis) {\n\t\t\tstate.useCostBasis = useCostBasis;\n\t\t},\n\t\tsaveWallet(state, wallet) {\n\t\t\tif (!wallet || !wallet.seed)\n\t\t\t\treturn;\n\n\t\t\tlet id = wallet.seed;\n\n\t\t\tif (wallet.currency && wallet.currency !== 'sc')\n\t\t\t\tid += '-' + wallet.currency;\n\n\t\t\tid = encodeB64(hash(encodeUTF8(id)));\n\n\t\t\tconst idx = state.wallets.findIndex(w => w.id === id);\n\n\t\t\tif (idx === -1) {\n\t\t\t\tstate.wallets.push(new Wallet(wallet));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tVue.set(state.wallets, idx, new Wallet(wallet));\n\t\t},\n\t\tdeleteWallet(state, id) {\n\t\t\tconst idx = state.wallets.findIndex(w => w.id === id);\n\n\t\t\tif (idx === -1)\n\t\t\t\treturn;\n\n\t\t\tstate.wallets.splice(idx, 1);\n\t\t},\n\t\tsetExchangeRate(state, { siacoin, siafund }) {\n\t\t\tstate.exchangeRateSC = siacoin;\n\t\t\tstate.exchangeRateSF = siafund;\n\t\t},\n\t\tsetConsensusHeight(state, { sia }) {\n\t\t\tstate.siaBlockHeight = sia;\n\t\t},\n\t\tsetNetworkFees(state, { sia }) {\n\t\t\tstate.siaNetworkFees = sia;\n\t\t},\n\t\tpushNotification(state, notification) {\n\t\t\tstate.notifications.push(notification);\n\t\t},\n\t\tclearNotification(state) {\n\t\t\tif (state.notifications.length === 0)\n\t\t\t\treturn;\n\n\t\t\tstate.notifications.shift();\n\t\t},\n\t\tqueueWallet(state, { walletID, full }) {\n\t\t\tfull = typeof full === 'boolean' ? full : false;\n\n\t\t\tif (state.scanQueue.findIndex(w => w.id === walletID && w.full === full) !== -1)\n\t\t\t\treturn;\n\n\t\t\tstate.scanQueue.push({\n\t\t\t\twalletID,\n\t\t\t\tfull\n\t\t\t});\n\t\t},\n\t\tshiftWallet(state) {\n\t\t\treturn state.scanQueue.shift();\n\t\t}\n\t},\n\tactions: {\n\t\tsetUnavailable({ commit }, unavailable) {\n\t\t\tcommit('setUnavailable', unavailable);\n\t\t},\n\t\tsetDBType({ commit }, dbType) {\n\t\t\tcommit('setDBType', dbType);\n\t\t},\n\t\tsetSetup({ commit }, setup) {\n\t\t\tcommit('setSetup', setup);\n\t\t},\n\t\tsetOffline({ commit }, offline) {\n\t\t\tcommit('setOffline', offline);\n\t\t},\n\t\tsetPassword({ commit }, password) {\n\t\t\tpassword = hash(encodeUTF8(password));\n\n\t\t\tcommit('setPassword', password);\n\t\t},\n\t\tsetDisplayLanguage({ commit }, language) {\n\t\t\tlocalStorage.setItem('displayLanguage', language);\n\t\t\tcommit('setDisplayLanguage', language);\n\t\t},\n\t\tsetChangeSeedType({ commit }, enabled) {\n\t\t\tlocalStorage.setItem('changeSeedType', enabled.toString());\n\t\t\tcommit('setChangeSeedType', enabled);\n\t\t},\n\t\tsetConsensusHeight({ commit }, consensus) {\n\t\t\tlocalStorage.setItem('consensusHeight', JSON.stringify(consensus));\n\t\t\tcommit('setConsensusHeight', consensus);\n\t\t},\n\t\tsetChangeServerType({ commit }, enabled) {\n\t\t\tlocalStorage.setItem('changeServerType', enabled.toString());\n\t\t\tcommit('setChangeServerType', enabled);\n\t\t},\n\t\tsetAddressLookahead({ commit }, n) {\n\t\t\tlocalStorage.setItem('addressLookahead', n);\n\t\t\tcommit('setAddressLookahead', n);\n\t\t},\n\t\tsetCurrency({ commit }, currency) {\n\t\t\tlocalStorage.setItem('displayCurrency', currency);\n\t\t\tcommit('setCurrency', currency);\n\t\t},\n\t\tsetUseCostBasis({ commit }, useCostBasis) {\n\t\t\tlocalStorage.setItem('useCostBasis', useCostBasis);\n\t\t\tcommit('setUseCostBasis', useCostBasis);\n\t\t},\n\t\tsetAutoLock({ commit }, lockMin) {\n\t\t\tlocalStorage.setItem('autoLock', lockMin);\n\t\t\tcommit('setAutoLock', lockMin);\n\t\t},\n\t\tasync unlockWallets({ commit, dispatch }, password) {\n\t\t\tpassword = hash(encodeUTF8(password));\n\n\t\t\tconst wallets = await loadWallets(password);\n\n\t\t\tcommit('setWallets', wallets);\n\t\t\tcommit('setPassword', password);\n\n\t\t\twallets.forEach(w => dispatch('queueWallet', { walletID: w.id, full: false }));\n\t\t},\n\t\tasync lockWallets({ commit }) {\n\t\t\tcommit('lockWallets');\n\t\t},\n\t\tasync saveWallet({ commit, state }, wallet) {\n\t\t\tconst existing = state.wallets.find(w => w.id === wallet.id);\n\n\t\t\tif (!existing)\n\t\t\t\tthrow new Error(`unknown wallet ${wallet.id}`);\n\n\t\t\tconst id = await saveWallet({\n\t\t\t\t...existing,\n\t\t\t\t...wallet\n\t\t\t}, state.password);\n\n\t\t\tcommit('saveWallet', {\n\t\t\t\t...existing,\n\t\t\t\t...wallet,\n\t\t\t\tid\n\t\t\t});\n\n\t\t\treturn id;\n\t\t},\n\t\tasync createWallet({ commit, state }, wallet) {\n\t\t\tconst existing = state.wallets.find(w => w.id === wallet.id),\n\t\t\t\tid = await saveWallet({\n\t\t\t\t\t...existing,\n\t\t\t\t\t...wallet\n\t\t\t\t}, state.password);\n\n\t\t\tcommit('saveWallet', {\n\t\t\t\t...wallet,\n\t\t\t\tid\n\t\t\t});\n\n\t\t\treturn id;\n\t\t},\n\t\tasync deleteWallet({ commit, state }, walletID) {\n\t\t\tawait deleteWallet(walletID);\n\n\t\t\tcommit('deleteWallet', walletID);\n\t\t},\n\t\tsetExchangeRate({ commit }, rates) {\n\t\t\tcommit('setExchangeRate', rates);\n\t\t},\n\t\tsetNetworkFees({ commit }, fees) {\n\t\t\tcommit('setNetworkFees', fees);\n\t\t},\n\t\tsetFeeAddresses({ commit }, addresses) {\n\t\t\tcommit('setFeeAddresses', addresses);\n\t\t},\n\t\tpushNotification({ commit }, notification) {\n\t\t\tcommit('pushNotification', notification);\n\t\t},\n\t\tclearNotification({ commit }) {\n\t\t\tcommit('clearNotification');\n\t\t},\n\t\tqueueWallet({ commit }, scan) {\n\t\t\tcommit('queueWallet', scan);\n\t\t\tsetTimeout(scanner, 0);\n\t\t},\n\t\tshiftWallet({ commit, state }) {\n\t\t\tconst item = state.scanQueue[0];\n\n\t\t\tcommit('shiftWallet');\n\n\t\t\treturn item;\n\t\t}\n\t}\n});\n\nasync function updateMetadata() {\n\ttry {\n\t\tconst price = await siaAPI.getCoinPrice(),\n\t\t\tsiaFees = await siaAPI.getNetworkFees(),\n\t\t\taddresses = await siaAPI.getFeeAddresses(),\n\t\t\tsiaBlock = await siaAPI.getBlockHeight();\n\n\t\tstore.dispatch('setNetworkFees', {\n\t\t\tsia: siaFees\n\t\t});\n\t\tstore.dispatch('setConsensusHeight', {\n\t\t\tsia: siaBlock.height\n\t\t});\n\t\tstore.dispatch('setExchangeRate', price);\n\t\tstore.dispatch('setFeeAddresses', addresses);\n\t} catch (ex) {\n\t\tconsole.error('updatingMeta', ex);\n\t}\n}\n\nupdateMetadata();\nsetInterval(updateMetadata, 300000);\n\nexport default store;","import { recoverAddresses, getTransactions } from '@/sia';\nimport { saveAddresses, getWalletAddresses } from '@/store/db';\nimport Store from '@/store';\nimport Wallet from '@/types/wallet';\n\nexport default {\n\tquickScan: async function(wallet) {\n\t\tlet startIndex = 0, lastKnownIndex,\n\t\t\tmaxLookahead = Store.state.addressLookahead;\n\t\tconst addresses = await getWalletAddresses(wallet.id);\n\n\t\tif (typeof maxLookahead !== 'number' || maxLookahead < 0 || maxLookahead > 500000)\n\t\t\tmaxLookahead = 25000;\n\n\t\tif (Array.isArray(addresses) && addresses.length !== 0) {\n\t\t\tlastKnownIndex = addresses[addresses.length - 1].index;\n\n\t\t\tif (lastKnownIndex > maxLookahead)\n\t\t\t\tstartIndex = lastKnownIndex - maxLookahead;\n\t\t}\n\n\t\tconsole.log(`starting quick scan of ${wallet.title} starting at ${startIndex}/${lastKnownIndex} with ${maxLookahead} lookahead`);\n\n\t\tawait recoverAddresses(wallet.seed, wallet.currency, startIndex, maxLookahead, lastKnownIndex, async(progress) => {\n\t\t\tif (!progress || !Array.isArray(progress.addresses))\n\t\t\t\treturn;\n\n\t\t\tawait saveAddresses(progress.addresses.map((a, i) => {\n\t\t\t\treturn {\n\t\t\t\t\t...a,\n\t\t\t\t\twallet_id: wallet.id\n\t\t\t\t};\n\t\t\t}));\n\t\t});\n\t},\n\tfullScan: async function(wallet) {\n\t\tlet maxLookahead = Store.state.addressLookahead;\n\n\t\tif (typeof maxLookahead !== 'number' || maxLookahead < 0 || maxLookahead > 500000)\n\t\t\tmaxLookahead = 25000;\n\n\t\tconsole.log(`starting full scan of ${wallet.title} with ${maxLookahead} lookahead`);\n\n\t\tawait recoverAddresses(wallet.seed, wallet.currency, 0, maxLookahead, 0, async(progress) => {\n\t\t\tif (!progress || !Array.isArray(progress.addresses))\n\t\t\t\treturn;\n\n\t\t\tawait saveAddresses(progress.addresses.map(a => ({\n\t\t\t\t...a,\n\t\t\t\twallet_id: wallet.id\n\t\t\t})));\n\t\t});\n\t},\n\tscanTransactions: async function(wallet) {\n\t\tconst addresses = await getWalletAddresses(wallet.id);\n\n\t\tif (!Array.isArray(addresses) || addresses.length === 0)\n\t\t\tthrow new Error('wallet has no addresses');\n\n\t\tconst balance = await getTransactions(addresses.map(a => a.address), wallet.currency, Store.state.currency);\n\n\t\twallet = new Wallet({\n\t\t\t...wallet,\n\t\t\t...balance\n\t\t});\n\n\t\tawait Store.dispatch('saveWallet', wallet);\n\t}\n};","import WalrusClient from '@/api/walrus';\nimport { saveAddresses, getWalletAddresses } from '@/store/db';\nimport Store from '@/store';\nimport BigNumber from 'bignumber.js';\n\nasync function scan(wallet) {\n\tconst walrus = new WalrusClient(wallet.server_url),\n\t\taddresses = await walrus.getUnlockConditions();\n\n\tawait saveAddresses(addresses.map(a => ({\n\t\t...a,\n\t\twallet_id: wallet.id\n\t})));\n}\n\nexport default {\n\tquickScan: scan,\n\tfullScan: scan,\n\tscanTransactions: async function(wallet) {\n\t\tconst walrus = new WalrusClient(wallet.server_url),\n\t\t\taddresses = await getWalletAddresses(wallet.id),\n\t\t\taddressMap = addresses.reduce((v, a) => {\n\t\t\t\tv[a] = true;\n\n\t\t\t\treturn v;\n\t\t\t}, {}),\n\t\t\tvalues = await Promise.all([\n\t\t\t\twalrus.getTransactions(500),\n\t\t\t\twalrus.getLimboTransactions(),\n\t\t\t\twalrus.getUnspentOutputs(),\n\t\t\t\twalrus.getBalance(true)\n\t\t\t]);\n\n\t\twallet.transactions = values[0].map(txn => ({\n\t\t\t...txn,\n\t\t\tconfirmations: 1\n\t\t}));\n\t\twallet.unspent_siacoin_outputs = values[2] || [];\n\t\twallet.confirmed_siacoin_balance = values[3] || '0';\n\n\t\twallet.transactions.unshift(...values[1].map(txn => {\n\t\t\tlet sent = new BigNumber(0);\n\n\t\t\ttxn.fees.forEach(m => {\n\t\t\t\tsent = sent.plus(m);\n\t\t\t});\n\n\t\t\ttxn.siacoin_outputs = txn.siacoin_outputs.map(o => {\n\t\t\t\tif (addressMap[o.unlock_hash])\n\t\t\t\t\to.owned = true;\n\t\t\t\telse\n\t\t\t\t\tsent = sent.plus(o.value);\n\n\t\t\t\treturn o;\n\t\t\t});\n\n\t\t\ttxn.confirmations = 0;\n\t\t\ttxn.siacoin_value = {\n\t\t\t\tdirection: 'sent',\n\t\t\t\tvalue: sent\n\t\t\t};\n\n\t\t\treturn txn;\n\t\t}));\n\n\t\tawait Store.dispatch('saveWallet', wallet);\n\t}\n};","\nimport defaultScanner from './default';\nimport walrusScanner from './walrus';\nimport Store from '@/store';\n\nconst rescanTimeouts = {};\n\nlet scanning = false;\n\nexport async function scanner() {\n\tif (scanning)\n\t\treturn;\n\n\tscanning = true;\n\n\ttry {\n\t\tconst scan = await Store.dispatch('shiftWallet');\n\n\t\tif (!scan)\n\t\t\treturn;\n\n\t\tStore.dispatch('saveWallet', {\n\t\t\tid: scan.walletID,\n\t\t\tscanning: scan.full ? 'full' : 'quick'\n\t\t});\n\n\t\tawait scanWallet(scan.walletID, scan.full);\n\n\t\tStore.dispatch('saveWallet', {\n\t\t\tid: scan.walletID,\n\t\t\tscanning: null\n\t\t});\n\t} finally {\n\t\tscanning = false;\n\t}\n\n\tscanner();\n}\n\nexport async function scanWallet(walletID, full) {\n\tclearTimeout(rescanTimeouts[walletID]);\n\n\tconst wallet = Store.state.wallets.find(w => w.id === walletID);\n\tlet scanner;\n\n\tif (!wallet)\n\t\treturn;\n\n\tswitch (wallet.server_type) {\n\tcase 'walrus':\n\tcase 'narwal':\n\t\tscanner = walrusScanner;\n\t\tbreak;\n\tdefault:\n\t\tscanner = defaultScanner;\n\t\tbreak;\n\t}\n\n\ttry {\n\t\tswitch (wallet.type) {\n\t\tcase 'ledger':\n\t\tcase 'watch':\n\t\t\t// ledger and watch are manual import types they can't scan for used addresses\n\t\t\tbreak;\n\t\tcase 'default':\n\t\t\tif (full)\n\t\t\t\tawait scanner.fullScan(wallet);\n\t\t\telse\n\t\t\t\tawait scanner.quickScan(wallet);\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error('unknown wallet type');\n\t\t}\n\n\t\tStore.dispatch('setOffline', false);\n\t} catch (ex) {\n\t\tconsole.error('scanWallet', wallet.id, ex);\n\t\tStore.dispatch('setOffline', true);\n\t}\n\n\ttry {\n\t\tawait scanTransactions(wallet);\n\t\tStore.dispatch('setOffline', false);\n\t} catch (ex) {\n\t\tconsole.error('scanTransactions', wallet.id, ex);\n\t\tStore.dispatch('setOffline', true);\n\t}\n\n\trescanTimeouts[wallet.id] = setTimeout(() => {\n\t\tStore.dispatch('queueWallet', { walletID: wallet.id, full: false });\n\t}, 120000);\n}\n\nexport async function scanTransactions(wallet) {\n\tswitch (wallet.server_type) {\n\tcase 'walrus':\n\tcase 'narwal':\n\t\treturn walrusScanner.scanTransactions(wallet);\n\tdefault:\n\t\treturn defaultScanner.scanTransactions(wallet);\n\t}\n}","import BigNumber from 'bignumber.js';\n\nconst supportedCrypto = [\n\t\t'btc',\n\t\t'eth',\n\t\t'bch',\n\t\t'xrp',\n\t\t'ltc'\n\t],\n\tsupportedCurrency = [\n\t\t'usd',\n\t\t'jpy',\n\t\t'eur',\n\t\t'gbp',\n\t\t'aus',\n\t\t'cad',\n\t\t'rub',\n\t\t'cny'\n\t];\n\nexport function formatFriendlyStatus(status) {\n\tswitch (status.toLowerCase()) {\n\tcase 'obligationsucceeded':\n\t\treturn 'Successful';\n\tcase 'obligationfailed':\n\t\treturn 'Failed';\n\tcase 'obligationrejected':\n\t\treturn 'Rejected';\n\tcase 'obligationunresolved':\n\t\treturn 'Active';\n\t}\n\n\treturn status;\n}\n\nexport function numberToString(number, divisor, units, decimals) {\n\tdecimals = isFinite(decimals) ? decimals : 2;\n\n\tconst num = new BigNumber(number);\n\tlet unit = units[0],\n\t\tmag = new BigNumber(divisor);\n\n\tfor (let i = 0; i < units.length; i++) {\n\t\tunit = units[i];\n\n\t\tif (num.isLessThan(mag)) {\n\t\t\tmag = mag.dividedBy(divisor);\n\t\t\tbreak;\n\t\t}\n\n\t\tmag = mag.multipliedBy(divisor);\n\t}\n\n\treturn {\n\t\tvalue: new Intl.NumberFormat([], {\n\t\t\ttype: 'decimal',\n\t\t\tminimumFractionDigits: decimals\n\t\t}).format(roundNumber(num.dividedBy(mag), decimals)),\n\t\tlabel: unit\n\t};\n};\n\nexport function formatBlockTimeString(blocks) {\n\tif (blocks <= 0)\n\t\treturn '0 hr';\n\n\tconst denoms = { month: 4320, week: 1008, day: 144, hour: 6 };\n\n\tfor (let key in denoms) {\n\t\tconst d = denoms[key];\n\n\t\tif (blocks < d)\n\t\t\tcontinue;\n\n\t\tconst value = Math.floor(blocks / d);\n\n\t\tif (value > 1)\n\t\t\tkey += 's';\n\n\t\treturn {\n\t\t\tvalue: value.toString(),\n\t\t\tlabel: key\n\t\t};\n\t}\n\n\treturn {\n\t\tvalue: 0,\n\t\tlabel: 'hours'\n\t};\n}\n\nexport function formatDate(date) {\n\treturn date.toLocaleString([], {\n\t\tdateStyle: 'short',\n\t\ttimeStyle: 'short',\n\t\tyear: '2-digit',\n\t\tmonth: '2-digit',\n\t\tday: '2-digit',\n\t\thour: '2-digit',\n\t\tminute: '2-digit'\n\t});\n}\n\nexport function formatShortDateString(date) {\n\treturn date.toLocaleDateString([], { dateStyle: 'short' });\n}\n\nexport function formatShortTimeString(date) {\n\treturn date.toLocaleTimeString([], { timeStyle: 'short', hour: '2-digit', minute: '2-digit' });\n}\n\nexport function formatDuration(sec, short) {\n\tif (sec <= 0)\n\t\treturn '0 sec';\n\n\tlet denoms;\n\n\tif (short)\n\t\tdenoms = { d: 86400, h: 3600, m: 60 };\n\telse\n\t\tdenoms = { day: 86400, hour: 3600, min: 60 };\n\n\tconst keys = Object.keys(denoms), len = keys.length;\n\n\tlet time = sec, label, i = 1, d;\n\n\tfor (; i < len; i++) {\n\t\tlabel = keys[i];\n\t\td = denoms[label];\n\n\t\tif (time < d)\n\t\t\tcontinue;\n\n\t\tconst amt = Math.floor(time / d);\n\n\t\ttime = time % d;\n\n\t\treturn `${amt} ${amt > 1 && !short ? label + 's' : label}`;\n\t}\n\n\treturn '< 1 m';\n}\n\nexport function formatByteString(val, unit, dec) {\n\tif (unit === 'decimal')\n\t\treturn numberToString(val, 1000, ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'], dec);\n\n\treturn numberToString(val, 1024, ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB'], dec);\n};\n\nexport function formatByteSpeed(val, unit, dec) {\n\tif (unit === 'decimal')\n\t\treturn numberToString(val, 1000, ['B', 'KB/s', 'MB/s', 'GB/s', 'TB/s', 'PB/s'], dec);\n\n\treturn numberToString(val, 1024, ['B/s', 'KiB/s', 'MiB/s', 'GiB/s', 'TiB/s', 'PiB/s'], dec);\n}\n\nexport function formatNumber(val, dec) {\n\tif (!dec)\n\t\tdec = 0;\n\n\tval = new BigNumber(val);\n\n\treturn new Intl.NumberFormat([], {\n\t\ttype: 'decimal',\n\t\tminimumFractionDigits: dec\n\t}).format(roundNumber(val, dec));\n}\n\nfunction roundNumber(val, dec) {\n\tconst str = val.abs().toString(10),\n\t\tneg = val.lt(0),\n\t\tparts = str.split('.');\n\n\tif (parts.length === 1)\n\t\treturn str;\n\n\tlet decimals = new BigNumber(`0.${parts[1]}`).abs();\n\n\tif (decimals.isNaN() || !decimals.isFinite())\n\t\tdecimals = new BigNumber(0);\n\n\tlet num = new BigNumber(parts[0]).plus(decimals.sd(dec)).toNumber();\n\n\tif (neg)\n\t\tnum *= -1;\n\n\treturn num;\n}\n\nfunction formatCryptoString(val, dec, currency = 'sc', rate = 1, precision = new BigNumber(1e24)) {\n\tdec = dec || 4;\n\n\tif (val.isEqualTo(0) || !rate) {\n\t\treturn {\n\t\t\tvalue: '0',\n\t\t\tlabel: currency.toLowerCase()\n\t\t};\n\t}\n\n\treturn {\n\t\tvalue: new Intl.NumberFormat([], {\n\t\t\ttype: 'decimal',\n\t\t\tminimumFractionDigits: dec,\n\t\t\tmaximumFractionDigits: 20\n\t\t}).format(roundNumber(val.dividedBy(precision).times(rate), dec)),\n\t\tlabel: currency.toLowerCase()\n\t};\n}\n\nfunction formatCurrencyString(val, currency, rate, precision = new BigNumber(1e24)) {\n\tconst formatter = new Intl.NumberFormat([], { style: 'currency', currency: currency || 'usd', maximumFractionDigits: 20 });\n\n\tif (val.isEqualTo(0) || !rate) {\n\t\treturn {\n\t\t\tvalue: formatter.format(0),\n\t\t\tlabel: currency.toLowerCase()\n\t\t};\n\t}\n\n\treturn {\n\t\tvalue: formatter.format(roundNumber(val.dividedBy(precision).times(rate), 2)),\n\t\tlabel: currency.toLowerCase()\n\t};\n};\n\nexport function formatSiafundString(val, currency = 'sc') {\n\tconst label = 'sf';\n\n\tif (!val || val.isEqualTo(0)) {\n\t\treturn {\n\t\t\tvalue: '0',\n\t\t\tlabel\n\t\t};\n\t}\n\n\treturn {\n\t\tvalue: new Intl.NumberFormat([], {\n\t\t\ttype: 'decimal',\n\t\t\tminimumFractionDigits: 0,\n\t\t\tmaximumFractionDigits: 0\n\t\t}).format(val),\n\t\tlabel\n\t};\n};\n\nexport function formatPriceString(val, dec, currency, rate, precision = new BigNumber(1e24)) {\n\tif (!val)\n\t\tval = new BigNumber(0);\n\n\tif (supportedCrypto.indexOf(currency) >= 0 && rate)\n\t\treturn formatCryptoString(val, dec, currency, rate, precision);\n\n\tif (supportedCurrency.indexOf(currency) >= 0 && rate)\n\t\treturn formatCurrencyString(val, currency, rate, precision);\n\n\treturn formatCryptoString(val, dec, currency, 1, precision);\n}\n\n/**\n * Safari does not support 'narrowSymbol' and will throw an exception\n */\nconst symbolStyle = (() => {\n\ttry {\n\t\tnew Intl.NumberFormat([], {\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: 'usd',\n\t\t\tcurrencyDisplay: 'narrowSymbol'\n\t\t}).format(1.512);\n\n\t\treturn 'narrowSymbol';\n\t} catch (ex) {\n\t\treturn 'symbol';\n\t}\n})();\n\nexport function formatExchangeRate(rate, code = 'usd', sign = 'always') {\n\tswitch (code.toLowerCase()) {\n\tcase 'btc':\n\t\treturn new Intl.NumberFormat([], {\n\t\t\tsignDisplay: sign,\n\t\t\tminimumFractionDigits: 0,\n\t\t\tmaximumFractionDigits: 0\n\t\t}).format(rate * 100000000) + ' SAT';\n\tdefault:\n\t\treturn new Intl.NumberFormat([], {\n\t\t\tsignDisplay: sign,\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: code,\n\t\t\tcurrencyDisplay: symbolStyle,\n\t\t\tminimumFractionDigits: 2,\n\t\t\tmaximumFractionDigits: 4\n\t\t}).format(rate);\n\t}\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--12-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--12-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--12-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--12-oneOf-1-3!../../node_modules/style-resources-loader/lib/index.js??ref--12-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=style&index=0&id=427fafa6&lang=stylus&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--12-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--12-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--12-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--12-oneOf-1-3!../../node_modules/style-resources-loader/lib/index.js??ref--12-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Unavailable.vue?vue&type=style&index=0&id=bfde6fca&lang=stylus&scoped=true&\"","import { randomBytes, secretbox, hash } from 'tweetnacl';\nimport { encode as encodeB64, decode as decodeB64 } from '@stablelib/base64';\nimport { encode as encodeUTF8, decode as decodeUTF8 } from '@stablelib/utf8';\n\nexport async function pbkdf2(password, salt, iterations = 1e6) {\n\tif (!salt)\n\t\tsalt = crypto.getRandomValues(new Uint8Array(16));\n\n\tconst key = await crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits']),\n\t\tkeyBuf = new Uint8Array(await crypto.subtle.deriveBits({\n\t\t\tname: 'PBKDF2',\n\t\t\thash: 'SHA-256',\n\t\t\tsalt,\n\t\t\titerations\n\t\t}, key, 256));\n\n\treturn { salt, hash: keyBuf };\n}\n\nexport function hexID(n) {\n\treturn Array.prototype.map.call(randomBytes(n), b => b.toString(16).padStart(2, '0')).join('');\n}\n\nexport function encrypt(str, key) {\n\tconst nonce = randomBytes(secretbox.nonceLength),\n\t\tmsg = encodeUTF8(str),\n\t\tbox = secretbox(msg, nonce, key),\n\t\tfull = new Uint8Array(nonce.length + box.length);\n\n\tfull.set(nonce);\n\tfull.set(box, nonce.length);\n\n\treturn encodeB64(full);\n}\n\nexport function decrypt(encrypted, key) {\n\tconst buf = decodeB64(encrypted),\n\t\tnonce = buf.slice(0, secretbox.nonceLength),\n\t\tmsg = buf.slice(secretbox.nonceLength),\n\t\tdecrypted = secretbox.open(msg, nonce, key);\n\n\tif (!decrypted)\n\t\tthrow new Error('failed to decrypt');\n\n\treturn decodeUTF8(decrypted);\n}\n\n/**\n * Returns the hex encoded SHA-256 hash of the string\n * @param {String} str the string to hash\n */\nexport function hashString(str) {\n\tconst buf = encodeUTF8(str),\n\t\tdata = hash(buf);\n\n\treturn Array.from(data, (byte) => ('0' + (byte & 0xFF).toString(16)).slice(-2)).join('');\n}","import en from './languages/en.json';\nimport cn from './languages/cn.json';\nimport fr from './languages/fr.json';\n\nconst supportedLanguages = [\n\t\ten, cn, fr\n\t],\n\ttranslations = {};\n\nfunction loadTranslations() {\n\tsupportedLanguages.forEach(l => {\n\t\tif (translations[l.key])\n\t\t\treturn;\n\n\t\ttranslations[l.key] = l.translations;\n\n\t\tlanguages.push(l.key);\n\t});\n}\n\nexport const languages = [];\n\nexport function languageSupported(language) {\n\treturn !!(translations[language]);\n}\n\nexport function translate(id, language) {\n\tconst params = Array.from(arguments).slice(2);\n\tlet group;\n\n\tif (!translations[language])\n\t\tthrow new Error(`unknown language ${language}`);\n\n\tif (typeof id !== 'string')\n\t\tthrow new Error(`expected string for id not ${typeof id}`);\n\n\tid = id.split('.');\n\tgroup = translations[language];\n\n\tfor (let i = 0; i < id.length; i++) {\n\t\tgroup = group[id[i]];\n\n\t\tif (!group)\n\t\t\tbreak;\n\t}\n\n\tif (!group) {\n\t\tif (language !== 'en') {\n\t\t\tconst args = Array.from(arguments);\n\n\t\t\targs[1] = 'en';\n\n\t\t\treturn translate.apply(this, args);\n\t\t}\n\n\t\tthrow new Error(`unknown translation for ${id.join(', ')}`);\n\t}\n\n\treturn group.replace(/\\{\\{[0-9]+\\}\\}/gm, (s) => {\n\t\tconst i = parseInt(s.substring(2, s.length - 2), 10),\n\t\t\tsub = params[i];\n\n\t\treturn sub !== null && sub.toString ? sub.toString() : '';\n\t});\n}\n\nloadTranslations();","import { decrypt, pbkdf2 } from '@/utils/crypto';\n\nexport async function unlockWallet(wallet, password) {\n\tconst key = await pbkdf2(password, wallet.salt);\n\n\treturn {\n\t\t...wallet,\n\t\tseed: decrypt(wallet.seed, key.hash)\n\t};\n}","import Dexie from 'dexie';\nimport { unlockWallet } from './common';\n\nexport default class DexieStore {\n\tasync init() {\n\t\tthis._db = new Dexie('sia-lite', { autoOpen: false });\n\t\tthis._db.version(1).stores({\n\t\t\twallets: 'id',\n\t\t\taddresses: '[address+wallet_id],wallet_id,index'\n\t\t});\n\n\t\tawait this._db.open();\n\t}\n\n\tsaveWallet(wallet) {\n\t\treturn this._db.wallets.put(wallet);\n\t}\n\n\tasync getWallets(password) {\n\t\tconst wallets = await this._db.wallets.toArray(),\n\t\t\tpromises = [];\n\n\t\tfor (let i = 0; i < wallets.length; i++)\n\t\t\tpromises.push(unlockWallet(wallets[i], password));\n\n\t\treturn Promise.all(promises);\n\t}\n\n\twalletCount() {\n\t\treturn this._db.wallets.count();\n\t}\n\n\tsaveAddresses(addresses) {\n\t\tif (!Array.isArray(addresses) || addresses.length === 0)\n\t\t\treturn;\n\n\t\treturn this._db.addresses.bulkPut(addresses);\n\t}\n\n\tgetWalletAddresses(walletID) {\n\t\treturn this._db.addresses.filter(a => a.wallet_id === walletID)\n\t\t\t.sortBy('index');\n\t}\n\n\tgetWalletUnlockHashes(walletID) {\n\t\treturn this._db.addresses.filter(a => a.wallet_id === walletID).keys();\n\t}\n\n\tgetAddresses(walletID, addresses) {\n\t\tif (!Array.isArray(addresses))\n\t\t\taddresses = [addresses];\n\n\t\treturn this._db.addresses.filter(a => a.wallet_id === walletID && addresses.indexOf(a.address) !== -1).toArray();\n\t}\n\n\tasync getWalletChangeAddress(walletID) {\n\t\tlet addr = await this._db.addresses.orderBy('index').filter(a => a.wallet_id === walletID && a.usage_type !== 'sent').first();\n\n\t\tif (!addr)\n\t\t\taddr = await this._db.addresses.orderBy('index').filter(a => a.wallet_id === walletID).last();\n\n\t\treturn addr;\n\t}\n\n\tgetLastWalletAddresses(walletID, limit, offset) {\n\t\toffset = offset || 0;\n\t\tlimit = limit || 20;\n\n\t\treturn this._db.addresses.orderBy('index').reverse().filter(a => a.wallet_id === walletID).offset(offset).limit(limit).toArray();\n\t}\n\n\tdeleteWallet(walletID) {\n\t\treturn Promise.all([\n\t\t\tthis._db.addresses.filter(a => a.wallet_id === walletID).delete(),\n\t\t\tthis._db.wallets.filter(w => w.id === walletID).delete()\n\t\t]);\n\t}\n\n\treset() {\n\t\treturn Promise.all([\n\t\t\tthis._db.addresses.clear(),\n\t\t\tthis._db.wallets.clear()\n\t\t]);\n\t}\n}","import DexieStore from './db/dexie';\nimport MemoryStore from './db/memory';\n\nimport { hash } from 'tweetnacl';\nimport { encrypt, pbkdf2 } from '@/utils/crypto';\nimport { encode as encodeB64 } from '@stablelib/base64';\nimport { encode as encodeUTF8 } from '@stablelib/utf8';\nimport BigNumber from 'bignumber.js';\n\nlet db;\n\nexport async function connect() {\n\ttry {\n\t\tconst dexie = new DexieStore();\n\n\t\tawait dexie.init();\n\n\t\tdb = dexie;\n\t\treturn 'dexie';\n\t} catch (ex) {\n\t\tconsole.error('dexie', ex);\n\t}\n\n\tconst mem = new MemoryStore();\n\n\tawait mem.init();\n\n\tdb = mem;\n\n\treturn 'memory';\n}\n\nexport async function saveWallet(wallet, password) {\n\tif (!wallet || !wallet.seed || wallet.seed.length === 0)\n\t\tthrow new Error('wallet requires seed');\n\n\tlet id = wallet.seed;\n\n\tif (wallet.currency && wallet.currency !== 'sc')\n\t\tid += '-' + wallet.currency;\n\n\tconst walletID = encodeB64(hash(encodeUTF8(id))),\n\t\tkey = await pbkdf2(password, wallet.salt);\n\n\tlet confirmedSiafundBalance = new BigNumber(wallet.confirmed_siafund_balance),\n\t\tconfirmedSiacoinBalance = new BigNumber(wallet.confirmed_siacoin_balance),\n\t\tunconfirmedSiafundDelta = new BigNumber(wallet.unconfirmed_siacoin_delta),\n\t\tunconfirmedSiacoinDelta = new BigNumber(wallet.unconfirmed_siafund_delta),\n\t\tsiafundClaim = new BigNumber(wallet.siafund_claim);\n\n\tif (siafundClaim.isNaN() || !siafundClaim.isFinite())\n\t\tsiafundClaim = new BigNumber(0);\n\n\tif (confirmedSiafundBalance.isNaN() || !confirmedSiafundBalance.isFinite())\n\t\tconfirmedSiafundBalance = new BigNumber(0);\n\n\tif (confirmedSiacoinBalance.isNaN() || !confirmedSiacoinBalance.isFinite())\n\t\tconfirmedSiacoinBalance = new BigNumber(0);\n\n\tif (unconfirmedSiafundDelta.isNaN() || !unconfirmedSiafundDelta.isFinite())\n\t\tunconfirmedSiafundDelta = new BigNumber(0);\n\n\tif (unconfirmedSiacoinDelta.isNaN() || !unconfirmedSiacoinDelta.isFinite())\n\t\tunconfirmedSiacoinDelta = new BigNumber(0);\n\n\tawait db.saveWallet({\n\t\t...wallet,\n\t\tid: walletID,\n\t\tsalt: key.salt,\n\t\tserver_type: wallet.server_type || 'siacentral',\n\t\tserver_url: wallet.server_url,\n\t\tseed: encrypt(wallet.seed, key.hash),\n\t\tconfirmed_siafund_balance: confirmedSiafundBalance.toString(10),\n\t\tconfirmed_siacoin_balance: confirmedSiacoinBalance.toString(10),\n\t\tunconfirmed_siacoin_delta: unconfirmedSiafundDelta.toString(10),\n\t\tunconfirmed_siafund_delta: unconfirmedSiacoinDelta.toString(10),\n\t\tsiafund_claim: siafundClaim.toString(10)\n\t});\n\n\treturn walletID;\n}\n\nexport function loadWallets(password) {\n\treturn db.getWallets(password);\n}\n\nexport function walletCount() {\n\treturn db.walletCount();\n}\n\nexport function saveAddresses(addresses) {\n\treturn db.saveAddresses(addresses);\n}\n\nexport function getWalletAddresses(walletID) {\n\treturn db.getWalletAddresses(walletID);\n}\n\nexport function getWalletUnlockHashes(walletID) {\n\treturn db.getWalletUnlockHashes(walletID);\n}\n\nexport function getAddresses(walletID, addresses) {\n\treturn db.getAddresses(walletID, addresses);\n}\n\nexport function getWalletChangeAddress(walletID) {\n\treturn db.getWalletChangeAddress(walletID);\n}\n\nexport function getLastWalletAddresses(walletID, limit, offset) {\n\treturn db.getLastWalletAddresses(walletID, limit, offset);\n}\n\nexport function deleteWallet(walletID) {\n\treturn db.deleteWallet(walletID);\n}\n\nexport function reset() {\n\treturn db.reset();\n}","export default class MemoryStore {\n\tasync init() {\n\t\tthis._wallets = {};\n\t\tthis._addresses = {};\n\t}\n\n\tasync saveWallet(wallet) {\n\t\tthis._wallets[wallet.id] = wallet;\n\t}\n\n\tasync getWallets(password) {\n\t\tconst keys = Object.keys(this._wallets);\n\n\t\treturn keys.map(k => this._wallets[k]);\n\t}\n\n\tasync walletCount() {\n\t\treturn Object.keys(this._wallets).length;\n\t}\n\n\tasync saveAddresses(addresses) {\n\t\taddresses.forEach(a => {\n\t\t\tthis._addresses[a.address] = a;\n\t\t});\n\t}\n\n\tasync getWalletAddresses(walletID) {\n\t\treturn Object.keys(this._addresses).reduce((v, a) => {\n\t\t\tconst r = this._addresses[a];\n\n\t\t\tif (r.wallet_id === walletID)\n\t\t\t\tv.push(r);\n\n\t\t\treturn v;\n\t\t}, []);\n\t}\n\n\tasync getWalletUnlockHashes(walletID) {\n\t\treturn Object.keys(this._addresses).reduce((v, a) => {\n\t\t\tconst r = this._addresses[a];\n\n\t\t\tif (r.wallet_id === walletID)\n\t\t\t\tv.push(a);\n\n\t\t\treturn v;\n\t\t}, []);\n\t}\n\n\tasync getAddresses(walletID, addresses) {\n\t\treturn Object.keys(this._addresses).reduce((v, a) => {\n\t\t\tconst r = this._addresses[a];\n\n\t\t\tif (r.wallet_id === walletID && addresses.indexOf(a))\n\t\t\t\tv.push(a);\n\n\t\t\treturn v;\n\t\t}, []);\n\t}\n\n\tasync getWalletChangeAddress(walletID) {\n\t\tconst addresses = await this.getWalletAddresses(walletID);\n\n\t\taddresses.sort((a, b) => a.index > b.index ? -1 : a.index < b.index ? 1 : 0);\n\n\t\treturn addresses[0];\n\t}\n\n\tasync getLastWalletAddresses(walletID, limit, offset) {\n\t\tconst addresses = await this.getWalletAddresses(walletID);\n\n\t\taddresses.sort((a, b) => a.index > b.index ? -1 : a.index < b.index ? 1 : 0);\n\n\t\treturn addresses.splice(offset, limit);\n\t}\n\n\tasync deleteWallet(walletID) {\n\t\tconst addresses = await this.getWalletAddresses(walletID);\n\n\t\taddresses.forEach(a => {\n\t\t\tif (a.wallet_id === walletID)\n\t\t\t\tdelete this._addresses[a.address];\n\t\t});\n\n\t\tdelete this._wallets[walletID];\n\t}\n\n\treset() {\n\t\tthis._wallets = {};\n\t\tthis._addresses = {};\n\t}\n}","module.exports = __webpack_public_path__ + \"js/0.c92895c8.worker.js\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page page-setup\"},[_c('transition',{attrs:{\"name\":\"fade-top\",\"mode\":\"out-in\",\"appear\":\"\"}},[(_vm.dbType === 'memory' && !_vm.accepted)?_c('div',{staticClass:\"setup-step\"},[_c('div',{staticClass:\"setup-icon\"},[_c('sia-central')],1),_c('h2',{staticClass:\"text-warning\"},[_vm._v(_vm._s(_vm.translate('setup.warning')))]),_c('div',{staticClass:\"setup-content\"},[_c('p',[_vm._v(\"Your browser does not support local data storage, all data will be erased when you close this tab. Browsers disable local data storage when in \\\"Private Browsing\\\" mode or when \\\"Never Remember History\\\" is enabled. The recommended browser for using this lite wallet is \"),_c('a',{attrs:{\"href\":\"https://brave.com/sia608\"}},[_vm._v(\"Brave\")])]),_c('p',{staticClass:\"text-warning text-small\"},[_vm._v(_vm._s(_vm.translate('setup.caution1')))]),_c('p',{staticClass:\"text-warning text-small\"},[_vm._v(_vm._s(_vm.translate('setup.caution2')))]),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"btn btn-inline\",on:{\"click\":function($event){_vm.accepted = true}}},[_vm._v(_vm._s(_vm.translate('setup.continue')))])])])]):(_vm.step === 0)?_c('div',{key:\"password\",staticClass:\"setup-step\"},[_c('div',{staticClass:\"setup-icon\"},[_c('sia-central')],1),_c('h2',[_vm._v(_vm._s(_vm.translate('setup.header')))]),_c('div',{staticClass:\"setup-content\"},[_c('p',[_vm._v(_vm._s(_vm.translate('setup.password1'))+\" \"),_c('router-link',{attrs:{\"to\":{ name: 'about' }}},[_vm._v(\"Learn more\")]),_vm._v(\".\")],1),_c('div',{staticClass:\"control\"},[_c('label',[_vm._v(_vm._s(_vm.translate('unlockPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.unlockPassword),expression:\"unlockPassword\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"new-password\"},domProps:{\"value\":(_vm.unlockPassword)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.unlockPassword=$event.target.value},_vm.onCheckPassword],\"blur\":_vm.onCheckPassword}})]),_c('div',{staticClass:\"control\"},[_c('label',[_vm._v(_vm._s(_vm.translate('confirmPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.confirmPassword),expression:\"confirmPassword\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"new-password\"},domProps:{\"value\":(_vm.confirmPassword)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.confirmPassword=$event.target.value},_vm.onCheckPassword],\"blur\":_vm.onCheckPassword}}),(!_vm.passwordsMatch)?_c('div',{staticClass:\"text-error text-small\"},[_vm._v(_vm._s(_vm.translate('setup.passwordMatchError')))]):_vm._e()]),_c('div',{staticClass:\"control\"},[_c('label',[_vm._v(_vm._s(_vm.translate('settings.lblDisplayLanguage')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newLanguage),expression:\"newLanguage\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.newLanguage=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.setDisplayLanguage(_vm.newLanguage)}]}},_vm._l((_vm.languages),function(language){return _c('option',{key:language,domProps:{\"value\":language}},[_vm._v(_vm._s(_vm.translate((\"language.\" + language))))])}),0)]),_c('p',{staticClass:\"text-warning text-small\"},[_vm._v(_vm._s(_vm.translate('setup.caution1')))]),_c('p',{staticClass:\"text-warning text-small\"},[_vm._v(_vm._s(_vm.translate('setup.caution2')))]),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"btn btn-success btn-inline\",attrs:{\"disabled\":!_vm.enableNext},on:{\"click\":_vm.onSetPassword}},[_vm._v(_vm._s(_vm.translate('next')))])])])]):(_vm.step === 1)?_c('create-wallet',{key:\"create\",staticClass:\"setup-step\",on:{\"created\":_vm.onWalletCreated}}):_vm._e()],1),_c('div',{staticClass:\"extra-links\"},[_c('a',{attrs:{\"href\":\"https://github.com/siacentral/sia-lite-wallet-web\"}},[_c('icon',{attrs:{\"icon\":['fab', 'github']}})],1),_c('a',{attrs:{\"href\":\"https://siacentral.com\"}},[_c('sia-central')],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Setup.vue?vue&type=template&id=427fafa6&scoped=true&\"\nimport script from \"./Setup.vue?vue&type=script&lang=js&\"\nexport * from \"./Setup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Setup.vue?vue&type=style&index=0&id=427fafa6&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"427fafa6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page page-unlock\"},[_c('div',{staticClass:\"page-content\"},[_c('div',{staticClass:\"page-icon\"},[_c('icon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1),(_vm.unavailable === 'ofac blocked')?[_c('h2',{staticClass:\"text-center text-warning\"},[_vm._v(_vm._s(_vm.translate('ofac.blockedHeader')))]),_c('p',[_vm._v(_vm._s(_vm.translate('ofac.blockedExplain1')))]),_c('p',[_vm._v(_vm._s(_vm.translate('ofac.blockedExplain2')))]),_c('div',[_c('h4',[_vm._v(\"Resources:\")]),_vm._m(0),_c('h4',[_vm._v(\"Contact:\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://discord.gg/sia\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translate('ofac.discordLabel')))])]),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/siacentral/sia-lite-wallet-web/issues\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translate('ofac.githubLabel')))])]),_vm._m(1)])])]:void 0,_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-success btn-inline btn-warning\",on:{\"click\":function($event){return _vm.setUnavailable(null)}}},[_vm._v(_vm._s(_vm.translate('confirm')))])])],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://home.treasury.gov/policy-issues/financial-sanctions/sanctions-programs-and-country-information\",\"target\":\"_blank\"}},[_vm._v(\"US Department of the Treasury Sanctions Information\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://home.treasury.gov/policy-issues/financial-sanctions/recent-actions/20201230_33\",\"target\":\"_blank\"}},[_vm._v(\"US Department of the Treasury vs BitGo, Inc Settlement Agreement\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('a',{attrs:{\"href\":\"mailto:hi@siacentral.com?subject=OFAC Blocked\",\"target\":\"_blank\"}},[_vm._v(\"hi@siacentral.com\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Unavailable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Unavailable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Unavailable.vue?vue&type=template&id=bfde6fca&scoped=true&\"\nimport script from \"./Unavailable.vue?vue&type=script&lang=js&\"\nexport * from \"./Unavailable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Unavailable.vue?vue&type=style&index=0&id=bfde6fca&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bfde6fca\",\n null\n \n)\n\nexport default component.exports","/**\r\n * calculates the fees to send the transaction\r\n * @param {Number} inputs the number of inputs\r\n * @param {Number} outputs the number of outputs\r\n * @param {BigNumber} fee the fee that will be charged\r\n */\r\nexport function calculateFee(inputs, outputs, fee) {\r\n\treturn fee.times(100 + ((inputs + 1) * 313) + (outputs * 50));\r\n}\r\n\r\nexport function getLastItems(arr, n) {\r\n\tconst len = arr.length,\r\n\t\tmin = Math.min(len, n),\r\n\t\td = len - min;\r\n\r\n\tconst values = [];\r\n\r\n\tfor (let i = len - 1; i >= d; i--)\r\n\t\tvalues.unshift(arr[i]);\r\n\r\n\treturn values;\r\n};\r\n\r\nexport function concatUint8Array() {\r\n\tlet totalSize = 0,\r\n\t\toffset = 0;\r\n\r\n\tfor (let i = 0; i < arguments.length; i++)\r\n\t\ttotalSize += arguments[i].length;\r\n\r\n\tconst array = new Uint8Array(totalSize);\r\n\r\n\tfor (let i = 0; i < arguments.length; i++) {\r\n\t\tarray.set(arguments[i], offset);\r\n\r\n\t\toffset += arguments[i].length;\r\n\t}\r\n\r\n\treturn array;\r\n};\r\n\r\n/**\r\n * Splits a Uint8Array into equal segments of n length\r\n * @param {Uint8Array} arr the array to split\r\n * @param {Number} len the number of bytes per section\r\n */\r\nexport function splitArray(arr, len) {\r\n\tconst segments = Math.floor(arr.length / len);\r\n\tconst ret = [];\r\n\r\n\tfor (let i = 0; i < segments; i++)\r\n\t\tret.push(arr.slice(len * i, len));\r\n\r\n\treturn ret;\r\n}\r\n\r\nexport function compareVersions(ver1, ver2) {\r\n\tconst v1 = ver1.match(/[0-9]+\\.[0-9]+\\.[0-9]+/)[0].split('.'),\r\n\t\tv2 = ver2.match(/[0-9]+\\.[0-9]+\\.[0-9]+/)[0].split('.'),\r\n\t\tl = v1.length > v2.length ? v2.length : v1.length;\r\n\r\n\tfor (let i = 0; i < l; i++) {\r\n\t\tconst a = parseInt(v1[i], 10),\r\n\t\t\tb = parseInt(v2[i], 10);\r\n\r\n\t\tif (a < b)\r\n\t\t\treturn -1;\r\n\t\telse if (a > b)\r\n\t\t\treturn 1;\r\n\t}\r\n\r\n\treturn 0;\r\n}\r\n\r\nconst timeouts = {};\r\n\r\nexport function debounce(fn, delay) {\r\n\treturn () => {\r\n\t\tif (timeouts[fn])\r\n\t\t\tclearTimeout(timeouts[fn]);\r\n\r\n\t\tconst args = arguments,\r\n\t\t\tthat = this;\r\n\r\n\t\ttimeouts[fn] = setTimeout(() => {\r\n\t\t\tfn.apply(that, args);\r\n\t\t\ttimeouts[fn] = null;\r\n\t\t}, delay);\r\n\t};\r\n}\r\n\r\nexport function blobToDataURI(blob) {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tconst reader = new FileReader();\r\n\r\n\t\treader.onerror = reject;\r\n\t\treader.onload = (e) => resolve(reader.result);\r\n\r\n\t\treader.readAsDataURL(blob);\r\n\t});\r\n}\r\n\r\nexport function sleep(n) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, n);\r\n\t});\r\n}\r\n\r\nexport function verifyAddress(addr) {\r\n\treturn addr.length === 76 || addr.length === 64;\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page page-unlock\"},[_c('div',{staticClass:\"page-content\"},[_c('div',{staticClass:\"page-icon\"},[_c('icon',{attrs:{\"icon\":\"lock\"}})],1),_c('h2',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.translate('unlockWallet')))]),_c('p',[_vm._v(_vm._s(_vm.translate('unlockWalletModal.pWalletsLocked')))]),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onUnlockWallets.apply(null, arguments)}}},[_c('div',{staticClass:\"control\"},[_c('label',[_vm._v(_vm._s(_vm.translate('walletPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"current-password\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"btn btn-success btn-inline\",attrs:{\"disabled\":_vm.unlocking}},[_vm._v(_vm._s(_vm.translate('unlock')))])])]),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"reset-button\",on:{\"click\":function($event){$event.preventDefault();_vm.forgotPassword = true}}},[_vm._v(\"Forgot Password?\")])]),_c('p',{staticClass:\"text-small text-secondary text-center\"},[_vm._v(\"Version: \"+_vm._s(_vm.uiRevision))])]),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.forgotPassword)?_c('forgot-password',{on:{\"close\":function($event){_vm.forgotPassword = false}}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnlockWallet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnlockWallet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UnlockWallet.vue?vue&type=template&id=0dcd483f&scoped=true&\"\nimport script from \"./UnlockWallet.vue?vue&type=script&lang=js&\"\nexport * from \"./UnlockWallet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UnlockWallet.vue?vue&type=style&index=0&id=0dcd483f&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0dcd483f\",\n null\n \n)\n\nexport default component.exports","import BigNumber from 'bignumber.js';\n\nexport default class Wallet {\n\tconstructor(data) {\n\t\tthis.id = data.id;\n\t\tthis.seed = data.seed;\n\t\tthis.type = data.type;\n\t\tthis.title = data.title;\n\t\tthis.scanning = data.scanning;\n\t\tthis.salt = data.salt;\n\t\tthis.server_type = data.server_type || 'siacentral';\n\t\tthis.currency = data.currency || 'sc';\n\t\tthis.server_url = data.server_url;\n\t\tthis.transactions = Array.isArray(data.transactions) ? data.transactions : [];\n\t\tthis.siafund_claim = new BigNumber(data.siafund_claim || 0);\n\t\tthis.unspent_siacoin_outputs = Array.isArray(data.unspent_siacoin_outputs) ? data.unspent_siacoin_outputs : [];\n\t\tthis.unspent_siafund_outputs = Array.isArray(data.unspent_siafund_outputs) ? data.unspent_siafund_outputs : [];\n\t\tthis.spent_siacoin_outputs = Array.isArray(data.spent_siacoin_outputs) ? data.spent_siacoin_outputs : [];\n\t\tthis.spent_siafund_outputs = Array.isArray(data.spent_siafund_outputs) ? data.spent_siafund_outputs : [];\n\t\tthis.confirmed_siafund_balance = new BigNumber(data.confirmed_siafund_balance);\n\t\tthis.confirmed_siacoin_balance = new BigNumber(data.confirmed_siacoin_balance);\n\t\tthis.unconfirmed_siacoin_delta = new BigNumber(data.unconfirmed_siacoin_delta);\n\t\tthis.unconfirmed_siafund_delta = new BigNumber(data.unconfirmed_siafund_delta);\n\t}\n\n\tprecision() {\n\t\treturn new BigNumber(1e24);\n\t}\n\n\tconfirmedSiacoinBalance() {\n\t\tconst balance = new BigNumber(this.confirmed_siacoin_balance);\n\n\t\tif (!balance || balance.isNaN())\n\t\t\treturn new BigNumber(0);\n\n\t\treturn balance;\n\t}\n\n\tunconfirmedSiacoinBalance() {\n\t\tlet balance = new BigNumber(this.confirmed_siacoin_balance),\n\t\t\tdelta = new BigNumber(this.unconfirmed_siacoin_delta);\n\n\t\tif (!balance || balance.isNaN())\n\t\t\tbalance = new BigNumber(0);\n\n\t\tif (!delta || delta.isNaN())\n\t\t\tdelta = new BigNumber(0);\n\n\t\treturn balance.plus(delta);\n\t}\n\n\tconfirmedSiafundBalance() {\n\t\tconst balance = new BigNumber(this.confirmed_siafund_balance);\n\n\t\tif (!balance || balance.isNaN())\n\t\t\treturn new BigNumber(0);\n\n\t\treturn balance;\n\t}\n\n\tunconfirmedSiafundBalance() {\n\t\tlet balance = new BigNumber(this.confirmed_siafund_balance),\n\t\t\tdelta = new BigNumber(this.unconfirmed_siafund_delta);\n\n\t\tif (!balance || balance.isNaN())\n\t\t\tbalance = new BigNumber(0);\n\n\t\tif (!delta || delta.isNaN())\n\t\t\tdelta = new BigNumber(0);\n\n\t\treturn balance.plus(delta);\n\t}\n\n\tsiafundClaimBalance() {\n\t\tlet balance = new BigNumber(this.siafund_claim);\n\n\t\tif (!balance || balance.isNaN())\n\t\t\tbalance = new BigNumber(0);\n\n\t\treturn balance;\n\t}\n};","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--12-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--12-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--12-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--12-oneOf-1-3!../../node_modules/style-resources-loader/lib/index.js??ref--12-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnlockWallet.vue?vue&type=style&index=0&id=0dcd483f&lang=stylus&scoped=true&\""],"sourceRoot":""}