{"version":3,"sources":["webpack:///./src/wallets/hardware/bitbox/digitalBitboxUsb.js","webpack:///./src/wallets/utils.js","webpack:///./src/wallets/bip44/paths.js","webpack:///./src/wallets/bip44/ledgerPaths.js","webpack:///./src/wallets/bip44/trezorPaths.js","webpack:///./src/wallets/bip44/bitboxPaths.js","webpack:///./src/wallets/bip44/secalotPaths.js","webpack:///./src/wallets/bip44/keepkeyPaths.js","webpack:///./src/wallets/bip44/mnemonicPaths.js","webpack:///./src/wallets/bip44/index.js","webpack:///./src/components/EnterPinNumberModal/EnterPinNumberModal.vue?bef1","webpack:///./src/wallets/hardware/keepkey/errorHandler.js","webpack:///./src/wallets/hardware/bitbox/digitalBitboxEth.js","webpack:///./src/wallets/software/mnemonic/index.js","webpack:///./src/wallets/HDWalletInterface.js","webpack:///./src/wallets/hardware/secalot/secalotUsb.js","webpack:///./src/wallets/hardware/keepkey/utils.js","webpack:///./src/wallets/hardware/secalot/errorHandler.js","webpack:///./src/components/WalletPasswordModal/WalletPasswordModal.vue?4923","webpack:///./src/wallets/hardware/keepkey/index.js","webpack:///./src/wallets/hardware/secalot/index.js","webpack:///./src/components/WalletPasswordModal/WalletPasswordModal.vue?67a2","webpack:///src/components/WalletPasswordModal/WalletPasswordModal.vue","webpack:///./src/components/WalletPasswordModal/WalletPasswordModal.vue?2ebe","webpack:///./src/components/WalletPasswordModal/WalletPasswordModal.vue","webpack:///./src/components/WalletPasswordModal/index.js","webpack:///./src/layouts/AccessWalletLayout/components/NetworkAndAddressModal/NetworkAndAddressModal.vue?6275","webpack:///src/layouts/AccessWalletLayout/components/NetworkAndAddressModal/NetworkAndAddressModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/NetworkAndAddressModal/NetworkAndAddressModal.vue?8b17","webpack:///./src/layouts/AccessWalletLayout/components/NetworkAndAddressModal/NetworkAndAddressModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/NetworkAndAddressModal/index.js","webpack:///./src/wallets/hardware/ledger/index.js","webpack:///./src/components/EnterPinNumberModal/EnterPinNumberModal.vue?dfcc","webpack:///src/components/EnterPinNumberModal/EnterPinNumberModal.vue","webpack:///./src/components/EnterPinNumberModal/EnterPinNumberModal.vue?ad1a","webpack:///./src/components/EnterPinNumberModal/EnterPinNumberModal.vue","webpack:///./src/components/EnterPinNumberModal/index.js","webpack:///./src/wallets/software/mnemonic/errorHandler.js","webpack:///./src/wallets/hardware/trezor/errorHandler.js","webpack:///./src/layouts/AccessWalletLayout/components/HardwarePasswordModal/HardwarePasswordModal.vue?08a1","webpack:///./src/layouts/AccessWalletLayout/components/NetworkAndAddressModal/NetworkAndAddressModal.vue?57df","webpack:///./src/wallets/hardware/trezor/index.js","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicModal/MnemonicModal.vue?dee3","webpack:///src/layouts/AccessWalletLayout/components/MnemonicModal/MnemonicModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicModal/MnemonicModal.vue?b9c3","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicModal/MnemonicModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicModal/index.js","webpack:///./src/wallets/hardware/bitbox/errorHandler.js","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicPasswordModal/MnemonicPasswordModal.vue?56f6","webpack:///./src/wallets/hardware/secalot/secalotEth.js","webpack:///./src/layouts/AccessWalletLayout/components/HardwarePasswordModal/HardwarePasswordModal.vue?5489","webpack:///src/layouts/AccessWalletLayout/components/HardwarePasswordModal/HardwarePasswordModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/HardwarePasswordModal/HardwarePasswordModal.vue?9f94","webpack:///./src/layouts/AccessWalletLayout/components/HardwarePasswordModal/HardwarePasswordModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/HardwarePasswordModal/index.js","webpack:///./src/wallets/hardware/ledger/errorHandler.js","webpack:///./src/wallets/hardware/bitbox/index.js","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicModal/MnemonicModal.vue?4603","webpack:///./src/wallets/software/web3wallet/errorHandler.js","webpack:///./src/wallets/software/web3wallet/index.js","webpack:///./src/wallets/software/index.js","webpack:///./src/wallets/hybrid/MEWconnect/errorHandler.js","webpack:///./src/wallets/hybrid/MEWconnect/index.js","webpack:///./src/wallets/index.js","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicPasswordModal/MnemonicPasswordModal.vue?bcf5","webpack:///src/layouts/AccessWalletLayout/components/MnemonicPasswordModal/MnemonicPasswordModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicPasswordModal/MnemonicPasswordModal.vue?7198","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicPasswordModal/MnemonicPasswordModal.vue","webpack:///./src/layouts/AccessWalletLayout/components/MnemonicPasswordModal/index.js","webpack:///./src/assets/images/logo-small.png","webpack:///./src/wallets/WalletInterface.js"],"names":["DigitalBitboxUsb","timeoutSeconds","this","webSafe64","base64","replace","normal64","substring","length","prototype","u2fCallback","response","callback","data","Buffer","signatureData","slice","undefined","exchange","msg","from","kh_max_len","challenge","total","Math","ceil","self","localCallback","result","index","kh","concat","key","appId","location","origin","toString","version","keyHandle","u2f","sign","then","catch","err","getBufferFromHex","hex","_hex","toLowerCase","padLeftEven","sanitizeHex","bufferToHex","buffer","getHexTxObject","tx","to","value","chainId","_chainId","nonce","gasLimit","gasPrice","getSignTransactionObject","rawTransaction","serialize","gas","input","v","r","s","hash","calculateChainIdFromV","sigV","bufferToInt","floor","ethereum","path","label","ethereumClassic","ropsten","singularDTV","expanse","ubiq","ellaism","etherGem","callisto","ethereumSocial","musicoin","goChain","eosClassic","akroma","etherSocialNetwork","pirl","ether1","atheios","tomoChain","mixBlockchain","iolite","ledgerEthereum","ledgerLiveEthereum","ledgerEthereumClassic","ledgerLiveEthereumClassic","rskMainnet","rskTestnet","keepkeyEthereum","keepkeyEthereumClassic","LEDGER","ledgerPaths","TREZOR","trezorPaths","BITBOX","bitboxPaths","SECALOT","secalotPaths","KEEPKEY","keepkeyPaths","MNEMONIC","mnemonicPaths","ERRORS","NO_DEVICE_SELECTED","WARNING","errorValues","Object","values","warningValues","includes","message","Toast","responseHandler","ERROR","WARN","BitBoxSupportedMajorVersion","DigitalBitboxEth","comm","sec","Crypto","update","digest","clearTimeout","setTimeout","cmd","pingResponse","pingError","JSON","parse","match","exec","device","majorVersion","parseInt","cipher","aes_cbc_b64_encrypt","parseError","error","aes_cbc_b64_decrypt","ciphertext","hdkey","HDKey","xpub","publicKey","chainCode","send","eTx","Promise","resolve","reject","hashToSign","signGeneric","messageHex","h","encryptionKey","authenticationKey","ub64","hmac","expectedHmac","equals","iv","enc","decipher","dec","final","plaintext","errObject","errMsg","err101","err250","err251","err109","code","vOffset","recid","sig","NEED_PASSWORD","IS_HARDWARE","MnemonicWallet","mnemonic","password","bip39","validateMnemonic","Error","identifier","mnemonicType","isHardware","needPassword","supportedPaths","bip44Paths","basePath","hdKey","mnemonicToSeed","idx","derivedKey","derive","txSigner","ethTx","networkId","privateKey","signedChainId","msgSigner","msgHash","hashPersonalMessage","toBuffer","signed","ecsign","HDWalletInterface","errorHandler","createWallet","_mnemonicWallet","init","pubkey","txParams","WalletInterface","SecalotUsb","apduHex","apdu","getUint8Tx","Uint8Array","SIGN_FAILED","MessageType","Messages","MESSAGETYPE_PINMATRIXREQUEST","MESSAGETYPE_PASSPHRASEREQUEST","KeepkeyWallet","eventHub","keepkeyType","isHardened","split","WebUSBDevice","requestPair","usbDevice","keepkey","KeepKey","withWebUSB","events","on","String","$emit","name","pin","acknowledgeWithPin","passPhrase","acknowledgeWithPassphrase","initialize","getRootPubKey","rootPub","accountPath","hexTx","addressNList","bip32ToAddressNList","ethereumSignTx","signMessage","EthereumSignMessage","setAddressNList","setMessage","MESSAGETYPE_ETHEREUMSIGNMESSAGE","toObject","signature","_keepkeyWallet","_keepkey","_path","getPublicKey","showDisplay","pubObj","fromExtendedKey","SecalotWallet","secalotType","transport","secalot","SecalotEth","signTransactionAsync","signMessageAsync","_secalotWallet","_secalot","getAddress","render","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","_v","clear","directives","rawName","expression","domProps","$event","target","composing","passphrase","submitPassword","staticRenderFns","components","StandardInput","mounted","$eventHub","$on","beforeDestroy","$off","methods","component","$t","modifiers","_s","selectedNetwork","type","service","_e","model","$$v","showCollapse1","_l","keys","reorderNetworkList","$router","Networks","icon","net","class","switchNetwork","showCollapse2","getPathLabel","selectedPath","val","changePath","preventDefault","removeCustomPath","showCustomPathInput","invalidPath","customPathInput","customPath","$set","addCustomPath","account","selectedId","setAccount","getChecksumAddressString","convertBalance","balance","unselectAllAddresses","previousAddressSet","nextAddressSet","accessMyWalletBtnDisabled","unlockWallet","CustomerSupport","blockie","Blockie","props","hardwareWallet","default","currentIndex","HDAccounts","availablePaths","currentWallet","computed","network","watch","getPaths","setHDAccounts","$refs","networkAndAddress","$store","dispatch","document","resetPaginationValues","bal","splitPath","array1","matcher","checkCustomPath","assembledPath","customPaths","getCurrentPath","setBalances","forEach","wallet","push","hide","_p","getSupportedPaths","ledgerWallet","ledgerType","getLedgerTransport","ledger","Ledger","getLedgerAppConfig","appConfig","raw","signTransaction","signPersonalMessage","vHex","_ledgerWallet","u2fTransport","create","_ledger","getAppConfiguration","deviceInfo","pos","acknowledgedTerms","actualClick","positions","enterpin","POPUP_CLOSED","DEVICE_DISCONNECTED","DEVICE_DISCONNECTED_ACTION","ACTION_CANCELLED","NO_PERMISSION","TRANSPORT_MISSING","TrezorWallet","trezorType","options","transaction","Trezor","ethereumSignTransaction","success","payload","ethereumSignMessage","_trezorWallet","focusInput","mnemonicValueBitSizeChange","mnemonic24","mnemonicPhrase","refInFor","openPasswordModal","mnemonicPhrasePasswordModalOpen","Function","Array","mnemonicSize","fill","newVal","indexOf","join","mnemonicInput0","focus","pinCode","element","number","isNaN","getErrorMessage","sw","operation","errorMessage","apdus","readUInt16BE","shift","alloc","copy","writeUInt32BE","offset","rawData","savedRaw","dataToHash","maxChunkSize","chunkSize","obj","show","isArray","_i","$$a","$$el","$$c","checked","$$i","_q","switchViewPassword","errors","has","first","hardwareBrand","walletConstructor","passwordInput","U2F_TIMEOUT","NO_LEDGER","DEVICE_BUSY","UNKNOWN_ERROR_6804","U2F_OTHER_ERROR","BitBoxWallet","bitboxType","bitbox","_bitbox","_bitboxWallet","REJECT_TX","Web3Wallet","address","web3WalletType","web3","window","currentProvider","Web3","getAddressString","eth","sendTransaction","personal","SIGNALER_URL","MEWconnectWalletInterface","mewConnect","MEWconnectWallet","mewConnectType","MEWconnect","Initiator","qrcode","sendRtcMessage","stringify","once","text","signalerConnect","_MEWconnectWallet","_tWallet","url","initiatorStart","spinner","hardwareWalletOpen","phrase","mnemonicPasswordInput","module","exports","isPub","_pubKey","isBuffer","isValidPublic","isAddress","isPubOnly","_privKey","isValidPrivate","privateToPublic","getPrivateKey","publicToAddress","toChecksumAddress","signer"],"mappings":"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","file":"js/chunk-492bec72.84c61009.js","sourcesContent":["// eslint-disable\n/**\n * (c) 2017 Douglas Bakkum, Shift Devices AG\n * MIT license\n **/\n\n'use strict';\n\nimport u2f from 'u2f-api';\n\nconst DigitalBitboxUsb = function(timeoutSeconds) {\n this.timeoutSeconds = timeoutSeconds;\n};\n\n// Convert from normal to web-safe, strip trailing \"=\"s\nDigitalBitboxUsb.webSafe64 = function(base64) {\n return base64\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n};\n\n// Convert from web-safe to normal, add trailing \"=\"s\nDigitalBitboxUsb.normal64 = function(base64) {\n return (\n // eslint-disable-next-line\n base64.replace(/\\-/g, '+').replace(/_/g, '/') +\n '=='.substring(0, (3 * base64.length) % 4)\n );\n};\n\nDigitalBitboxUsb.prototype.u2fCallback = function(response, callback) {\n if ('signatureData' in response) {\n const data = new Buffer(\n DigitalBitboxUsb.normal64(response.signatureData),\n 'base64'\n );\n if (data.length > 7) {\n callback(data.slice(5));\n } else return;\n } else {\n callback(undefined, response);\n }\n};\n\nDigitalBitboxUsb.prototype.exchange = function(msg, callback) {\n msg = Buffer.from(msg, 'ascii');\n const kh_max_len = 128 - 2; // Subtract 2 bytes for `index` and `total` header\n const challenge = new Buffer(\n 'dbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb',\n 'hex'\n );\n const total = Math.ceil(msg.length / kh_max_len);\n const self = this;\n const localCallback = function(result) {\n self.u2fCallback(result, callback);\n };\n for (let index = 0; index < total; index++) {\n const kh = Buffer.concat([\n Buffer.from([total]),\n Buffer.from([index]),\n msg.slice(index * kh_max_len, (index + 1) * kh_max_len)\n ]);\n const key = {\n appId: location.origin,\n challenge: DigitalBitboxUsb.webSafe64(challenge.toString('base64')),\n version: 'U2F_V2',\n keyHandle: DigitalBitboxUsb.webSafe64(kh.toString('base64'))\n };\n u2f\n .sign([key], this.timeoutSeconds)\n .then(localCallback)\n .catch(err => {\n callback(undefined, err);\n });\n }\n};\n\nexport default DigitalBitboxUsb;\n","import { bufferToInt } from 'ethereumjs-util';\n\nconst getBufferFromHex = hex => {\n const _hex = hex.toLowerCase().replace('0x', '');\n return new Buffer(_hex, 'hex');\n};\nconst padLeftEven = hex => {\n hex = hex.length % 2 != 0 ? '0' + hex : hex;\n return hex;\n};\nconst sanitizeHex = hex => {\n hex = hex.substring(0, 2) == '0x' ? hex.substring(2) : hex;\n if (hex == '') return '';\n return '0x' + padLeftEven(hex);\n};\nconst bufferToHex = buffer => {\n return '0x' + buffer.toString('hex');\n};\nconst getHexTxObject = tx => {\n return {\n to: sanitizeHex(tx.to.toString('hex')),\n value: sanitizeHex(tx.value.toString('hex')),\n data: sanitizeHex(tx.data.toString('hex')),\n chainId: tx._chainId,\n nonce: sanitizeHex(tx.nonce.toString('hex')),\n gasLimit: sanitizeHex(tx.gasLimit.toString('hex')),\n gasPrice: sanitizeHex(tx.gasPrice.toString('hex'))\n };\n};\nconst getSignTransactionObject = tx => {\n return {\n rawTransaction: bufferToHex(tx.serialize()),\n tx: {\n nonce: bufferToHex(tx.nonce),\n gasPrice: bufferToHex(tx.gasPrice),\n gas: tx.gasLimit ? bufferToHex(tx.gasLimit) : bufferToHex(tx.gas),\n to: bufferToHex(tx.to),\n value: bufferToHex(tx.value),\n input: bufferToHex(tx.data),\n v: bufferToHex(tx.v),\n r: bufferToHex(tx.r),\n s: bufferToHex(tx.s),\n hash: bufferToHex(tx.hash())\n }\n };\n};\nconst calculateChainIdFromV = v => {\n const sigV = bufferToInt(v);\n let chainId = Math.floor((sigV - 35) / 2);\n if (chainId < 0) chainId = 0;\n return chainId;\n};\nexport {\n getBufferFromHex,\n bufferToHex,\n getSignTransactionObject,\n sanitizeHex,\n padLeftEven,\n getHexTxObject,\n calculateChainIdFromV\n};\n","const ethereum = {\n path: \"m/44'/60'/0'/0\",\n label: 'Ethereum'\n};\nconst ethereumClassic = {\n path: \"m/44'/61'/0'/0\",\n label: 'Ethereum Classic'\n};\nconst ropsten = {\n path: \"m/44'/1'/0'/0\",\n label: 'Ethereum Testnet (Ropsten)'\n};\nconst singularDTV = {\n path: \"m/0'/0'/0'\",\n label: 'SingularDTV'\n};\nconst expanse = {\n path: \"m/44'/40'/0'/0\",\n label: 'Expanse'\n};\nconst ubiq = {\n path: \"m/44'/108'/0'/0\",\n label: 'Ubiq'\n};\nconst ellaism = {\n path: \"m/44'/163'/0'/0\",\n label: 'Ellaism'\n};\nconst etherGem = {\n path: \"m/44'/1987'/0'/0\",\n label: 'EtherGem'\n};\nconst callisto = {\n path: \"m/44'/820'/0'/0\",\n label: 'Callisto'\n};\nconst ethereumSocial = {\n path: \"m/44'/1128'/0'/0\",\n label: 'Ethereum Social'\n};\nconst musicoin = {\n path: \"m/44'/184'/0'/0\",\n label: 'Musicoin'\n};\nconst goChain = {\n path: \"m/44'/6060'/0'/0\",\n label: 'GoChain'\n};\nconst eosClassic = {\n path: \"m/44'/2018'/0'/0\",\n label: 'EOS Classic'\n};\nconst akroma = {\n path: \"m/44'/200625'/0'/0\",\n label: 'Akroma'\n};\nconst etherSocialNetwork = {\n path: \"m/44'/31102'/0'/0\",\n label: 'EtherSocial Network'\n};\nconst pirl = {\n path: \"m/44'/164'/0'/0\",\n label: 'PIRL'\n};\nconst ether1 = {\n path: \"m/44'/1313114'/0'/0\",\n label: 'Ether-1'\n};\nconst atheios = {\n path: \"m/44'/1620'/0'/0\",\n label: 'Atheios'\n};\n\nconst tomoChain = {\n path: \"m/44'/889'/0'/0\",\n label: 'TomoChain'\n};\nconst mixBlockchain = {\n path: \"m/44'/76'/0'/0\",\n label: 'Mix Blockchain'\n};\nconst iolite = {\n path: \"m/44'/1171337'/0'/0\",\n label: 'Iolite'\n};\nconst ledgerEthereum = {\n path: \"m/44'/60'/0'\",\n label: 'Ethereum'\n};\nconst ledgerLiveEthereum = {\n path: \"m/44'/60'\",\n label: 'Ethereum - Ledger Live'\n};\nconst ledgerEthereumClassic = {\n path: \"m/44'/60'/160720'/0\",\n label: 'Ethereum Classic'\n};\nconst ledgerLiveEthereumClassic = {\n path: \"m/44'/61'\",\n label: 'Ethereum Classic - Ledger Live'\n};\nconst rskMainnet = {\n path: \"m/44'/137'/0'/0\",\n label: 'RSK Mainnet'\n};\nconst rskTestnet = {\n path: \"m/44'/37310'/0'/0\",\n label: 'RSK Testnet'\n};\nconst keepkeyEthereum = {\n path: \"m/44'/60'\",\n label: 'Ethereum'\n};\nconst keepkeyEthereumClassic = {\n path: \"m/44'/61'\",\n label: 'Ethereum Classic'\n};\nexport {\n ethereum,\n ethereumClassic,\n ledgerEthereum,\n ledgerLiveEthereum,\n ledgerEthereumClassic,\n ledgerLiveEthereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet,\n keepkeyEthereum,\n keepkeyEthereumClassic\n};\n","import {\n ledgerEthereum,\n ledgerLiveEthereum,\n ledgerEthereumClassic,\n ledgerLiveEthereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet\n} from './paths';\nexport default [\n ledgerEthereum,\n ledgerLiveEthereum,\n ledgerEthereumClassic,\n ledgerLiveEthereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet\n];\n","import {\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet\n} from './paths';\nexport default [\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet\n];\n","import {\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite\n} from './paths';\nexport default [\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite\n];\n","import {\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite\n} from './paths';\nexport default [\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite\n];\n","import {\n keepkeyEthereum,\n keepkeyEthereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite\n} from './paths';\nexport default [\n keepkeyEthereum,\n keepkeyEthereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite\n];\n","import {\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet\n} from './paths';\nexport default [\n ethereum,\n ethereumClassic,\n ropsten,\n singularDTV,\n expanse,\n ubiq,\n ellaism,\n etherGem,\n callisto,\n ethereumSocial,\n musicoin,\n goChain,\n eosClassic,\n akroma,\n etherSocialNetwork,\n pirl,\n ether1,\n atheios,\n tomoChain,\n mixBlockchain,\n iolite,\n rskMainnet,\n rskTestnet\n];\n","import {\n LEDGER,\n TREZOR,\n BITBOX,\n SECALOT,\n KEEPKEY,\n MNEMONIC\n} from './walletTypes';\nimport ledgerPaths from './ledgerPaths';\nimport trezorPaths from './trezorPaths';\nimport bitboxPaths from './bitboxPaths';\nimport secalotPaths from './secalotPaths';\nimport keepkeyPaths from './keepkeyPaths';\nimport mnemonicPaths from './mnemonicPaths';\n\nexport default {\n [LEDGER]: ledgerPaths,\n [TREZOR]: trezorPaths,\n [BITBOX]: bitboxPaths,\n [SECALOT]: secalotPaths,\n [KEEPKEY]: keepkeyPaths,\n [MNEMONIC]: mnemonicPaths\n};\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterPinNumberModal.vue?vue&type=style&index=0&id=3cf53c36&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterPinNumberModal.vue?vue&type=style&index=0&id=3cf53c36&lang=scss&scoped=true&\"","import { Toast } from '@/helpers';\nconst ERRORS = {\n NO_DEVICE_SELECTED: 'No device selected.'\n};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","/**\n * (c) 2017 Douglas Bakkum, Shift Devices AG\n * MIT license\n **/\n\n// Hijacks the U2F auth command to pass HWW API commands\n\n// TODO - Integrate the smart verification mobile app (send result['echo'] from sign response).\n// Requires pairing, for example copy-pasting the pairing code from the desktop app (needs implementation).\n\n'use strict';\n\nimport * as Crypto from 'crypto';\nimport * as HDKey from 'hdkey';\nconst BitBoxSupportedMajorVersion = 6;\nclass DigitalBitboxEth {\n static aes_cbc_b64_decrypt = (ciphertext, key) => {\n try {\n const h = Crypto.createHash('sha512')\n .update(key)\n .digest();\n const encryptionKey = h.slice(0, 32);\n const authenticationKey = h.slice(32, 64);\n\n const ub64 = new Buffer(ciphertext, 'base64').toString('binary');\n const cipher = new Buffer(ub64.slice(0, ub64.length - 32), 'binary');\n const hmac = new Buffer(ub64.slice(ub64.length - 32), 'binary');\n const expectedHmac = Crypto.createHmac('sha256', authenticationKey)\n .update(cipher)\n .digest();\n if (!hmac.equals(expectedHmac)) {\n throw 'hmac check failed';\n }\n const iv = new Buffer(cipher.slice(0, 16), 'binary');\n const enc = new Buffer(cipher.slice(16), 'binary');\n const decipher = Crypto.createDecipheriv(\n 'aes-256-cbc',\n encryptionKey,\n iv\n );\n const dec = decipher.update(enc) + decipher.final();\n return dec.toString('utf8');\n } catch (err) {\n return ciphertext;\n }\n };\n static aes_cbc_b64_encrypt = (plaintext, key) => {\n try {\n const h = Crypto.createHash('sha512')\n .update(key)\n .digest();\n const encryptionKey = h.slice(0, 32);\n const authenticationKey = h.slice(32, 64);\n\n const iv = Crypto.randomBytes(16);\n const cipher = Crypto.createCipheriv('aes-256-cbc', encryptionKey, iv);\n const ciphertext = Buffer.concat([\n iv,\n cipher.update(plaintext),\n cipher.final()\n ]);\n const hmac = Crypto.createHmac('sha256', authenticationKey)\n .update(ciphertext)\n .digest();\n return Buffer.concat([ciphertext, hmac]).toString('base64');\n } catch (err) {\n return '';\n }\n };\n static parseError = errObject => {\n const errMsg = {\n err101:\n 'The BitBox is not initialized. First use the Digital Bitbox desktop app to set up a wallet.', // No password set\n err250:\n 'The BitBox is not initialized. First use the BitBox desktop app to set up a wallet.', // Wallet not seeded\n err251:\n 'The BitBox is not initialized. First use the BitBox desktop app to set up a wallet.', // Wallet not seeded\n err109:\n 'The BitBox received unexpected data. Was the correct password used? ' +\n errObject.message\n };\n const code = 'err' + errObject.code.toString();\n const msg = errMsg[code] || errObject.message;\n return msg;\n };\n static signGeneric = (self, path, chainId, hashToSign, callback) => {\n const cmd =\n '{\"sign\":{\"data\":[{\"hash\":\"' +\n hashToSign +\n '\",\"keypath\":\"' +\n path +\n '\"}]}}';\n const localCallback = (response, error) => {\n if (typeof error != 'undefined') {\n callback(undefined, error);\n return;\n }\n if ('echo' in response) {\n const cmd = '{\"sign\":\"\"}';\n self.send(cmd, localCallback);\n return;\n }\n if ('sign' in response) {\n const vOffset = chainId ? chainId * 2 + 8 : 0;\n const v = new Buffer([\n parseInt(response.sign[0].recid, 16) + 27 + vOffset\n ]);\n const result = {\n v: v.toString('hex'),\n r: response.sign[0].sig.slice(0, 64),\n s: response.sign[0].sig.slice(64, 128)\n };\n callback(result);\n return;\n }\n };\n self.send(cmd, localCallback);\n };\n constructor(comm, sec) {\n this.comm = comm;\n this.sec = '';\n this.to = null;\n this.sec = sec || this.sec;\n this.key = Crypto.createHash('sha256')\n .update(new Buffer(this.sec, 'utf8'))\n .digest();\n this.key = Crypto.createHash('sha256')\n .update(this.key)\n .digest();\n clearTimeout(this.to);\n this.to = setTimeout(() => {\n this.sec = '';\n }, 60000);\n }\n send(cmd, callback) {\n this.comm.exchange('{\"ping\":\"\"}', (pingResponse, pingError) => {\n if (typeof pingError !== 'undefined') {\n callback(undefined, pingError);\n return;\n }\n pingResponse = JSON.parse(pingResponse.toString('utf8'));\n if (!('device' in pingResponse)) {\n callback(\n undefined,\n 'Please upgrade to the newest firmware using the BitBox Desktop app.'\n );\n return;\n }\n const match = /^v(\\d+)\\.\\d+\\.\\d+/.exec(pingResponse.device.version);\n if (match === null || match.length != 2) {\n throw 'unexpected reply';\n }\n const majorVersion = parseInt(match[1]);\n if (majorVersion < BitBoxSupportedMajorVersion) {\n callback(\n undefined,\n 'Please upgrade to the newest firmware using the BitBox Desktop app.'\n );\n return;\n }\n if (majorVersion > BitBoxSupportedMajorVersion) {\n callback(\n undefined,\n 'MyEtherWallet does not yet support this version of the firmware'\n );\n return;\n }\n const cipher = DigitalBitboxEth.aes_cbc_b64_encrypt(cmd, this.key);\n this.comm.exchange(cipher, response => {\n if (typeof pingError !== 'undefined') {\n callback(undefined, pingError);\n return;\n }\n try {\n response = JSON.parse(response.toString('utf8'));\n if ('error' in response) {\n callback(undefined, DigitalBitboxEth.parseError(response.error));\n return;\n }\n if ('ciphertext' in response) {\n response = JSON.parse(\n DigitalBitboxEth.aes_cbc_b64_decrypt(\n response.ciphertext,\n this.key\n )\n );\n if ('error' in response) {\n callback(undefined, DigitalBitboxEth.parseError(response.error));\n return;\n }\n callback(response, undefined);\n }\n } catch (err) {\n callback(undefined, 'Unexpected error: ' + err.message);\n }\n });\n });\n }\n getAddress(path, callback) {\n const cmd = '{\"xpub\":\"' + path + '\"}';\n const localCallback = (response, error) => {\n if (typeof error != 'undefined') {\n callback(undefined, error);\n return;\n }\n const hdkey = HDKey.fromExtendedKey(response.xpub);\n const result = {\n publicKey: hdkey.publicKey.toString('hex'),\n chainCode: hdkey.chainCode.toString('hex')\n };\n callback(result);\n return;\n };\n this.send(cmd, localCallback);\n }\n signTransaction(path, eTx) {\n return new Promise((resolve, reject) => {\n const hashToSign = eTx.hash(false).toString('hex');\n DigitalBitboxEth.signGeneric(\n this,\n path,\n eTx._chainId,\n hashToSign,\n (result, error) => {\n if (error) return reject(error);\n resolve(result);\n }\n );\n });\n }\n signMessage(path, messageHex) {\n return new Promise((resolve, reject) => {\n const hashToSign = messageHex.toString('hex');\n DigitalBitboxEth.signGeneric(\n this,\n path,\n 0,\n hashToSign,\n (result, error) => {\n if (error) return reject(error);\n resolve(result);\n }\n );\n });\n }\n}\nexport default DigitalBitboxEth;\n","import * as HDKey from 'hdkey';\nimport ethTx from 'ethereumjs-tx';\nimport bip39 from 'bip39';\nimport { hashPersonalMessage, toBuffer, ecsign } from 'ethereumjs-util';\nimport { MNEMONIC as mnemonicType } from '../../bip44/walletTypes';\nimport bip44Paths from '../../bip44';\nimport HDWalletInterface from '@/wallets/HDWalletInterface';\nimport { getSignTransactionObject, calculateChainIdFromV } from '../../utils';\nimport errorHandler from './errorHandler';\n\nconst NEED_PASSWORD = true;\nconst IS_HARDWARE = false;\n\nclass MnemonicWallet {\n constructor(mnemonic, password) {\n if (!bip39.validateMnemonic(mnemonic)) throw new Error('Invalid Mnemonic');\n this.identifier = mnemonicType;\n this.isHardware = IS_HARDWARE;\n this.needPassword = NEED_PASSWORD;\n this.mnemonic = mnemonic;\n this.password = password;\n this.supportedPaths = bip44Paths[mnemonicType];\n }\n async init(basePath) {\n this.basePath = basePath ? basePath : this.supportedPaths[0].path;\n this.hdKey = HDKey.fromMasterSeed(\n bip39.mnemonicToSeed(this.mnemonic, this.password)\n );\n }\n getAccount(idx) {\n const derivedKey = this.hdKey.derive(this.basePath + '/' + idx);\n const txSigner = async tx => {\n tx = new ethTx(tx);\n const networkId = tx._chainId;\n tx.sign(derivedKey.privateKey);\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n return getSignTransactionObject(tx);\n };\n const msgSigner = async msg => {\n const msgHash = hashPersonalMessage(toBuffer(msg));\n const signed = ecsign(msgHash, derivedKey.privateKey);\n return Buffer.concat([\n Buffer.from(signed.r),\n Buffer.from(signed.s),\n Buffer.from([signed.v])\n ]);\n };\n return new HDWalletInterface(\n this.basePath + '/' + idx,\n derivedKey.publicKey,\n this.isHardware,\n this.identifier,\n errorHandler,\n txSigner,\n msgSigner\n );\n }\n getCurrentPath() {\n return this.basePath;\n }\n getSupportedPaths() {\n return this.supportedPaths;\n }\n}\nconst createWallet = async (mnemonic, password, basePath) => {\n const _mnemonicWallet = new MnemonicWallet(mnemonic, password);\n await _mnemonicWallet.init(basePath);\n return _mnemonicWallet;\n};\ncreateWallet.errorHandler = errorHandler;\n\nexport default createWallet;\n","import WalletInterface from './WalletInterface';\nclass HDWalletInterface extends WalletInterface {\n constructor(\n path,\n pubkey,\n isHardware,\n identifier,\n errorHandler,\n txSigner,\n msgSigner\n ) {\n super(pubkey, true, identifier);\n this.path = path;\n this.txSigner = txSigner;\n this.msgSigner = msgSigner;\n this.isHardware = isHardware;\n this.errorHandler = errorHandler;\n }\n signTransaction(txParams) {\n return super.signTransaction(txParams, this.txSigner);\n }\n signMessage(msg) {\n return super.signMessage(msg, this.msgSigner);\n }\n}\nexport default HDWalletInterface;\n","'use strict';\nimport u2f from 'u2f-api';\n\nconst SecalotUsb = function(timeoutSeconds) {\n this.timeoutSeconds = timeoutSeconds;\n};\n\nSecalotUsb.webSafe64 = base64 =>\n base64\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\nSecalotUsb.normal64 = base64 =>\n // eslint-disable-next-line\n base64.replace(/\\-/g, '+').replace(/_/g, '/') +\n '=='.substring(0, (3 * base64.length) % 4);\n\nSecalotUsb.prototype.u2fCallback = function(response, callback) {\n if (typeof response['signatureData'] !== 'undefined') {\n const data = Buffer.from(\n SecalotUsb.normal64(response['signatureData']),\n 'base64'\n );\n callback(data.toString('hex'));\n } else {\n callback(undefined, response);\n }\n};\n\nSecalotUsb.prototype.exchange = function(apduHex, callback) {\n const apdu = Buffer.from('1122334455667788' + apduHex, 'hex');\n const challenge = Buffer.from(\n '0000000000000000000000000000000000000000000000000000000000000000',\n 'hex'\n );\n const key = {};\n key['appId'] = location.origin;\n key['challenge'] = SecalotUsb.webSafe64(challenge.toString('base64'));\n key['version'] = 'U2F_V2';\n key['keyHandle'] = SecalotUsb.webSafe64(apdu.toString('base64'));\n const self = this;\n const localCallback = function(result) {\n self.u2fCallback(result, callback);\n };\n u2f\n .sign([key], this.timeoutSeconds)\n .then(localCallback)\n .catch(err => {\n callback(undefined, err);\n });\n};\n\nexport default SecalotUsb;\n","const getUint8Tx = tx => {\n return {\n to: new Uint8Array(tx.to),\n value: new Uint8Array(tx.value),\n data: new Uint8Array(tx.data),\n chainId: tx._chainId,\n nonce: new Uint8Array(tx.nonce),\n gasLimit: new Uint8Array(tx.gasLimit),\n gasPrice: new Uint8Array(tx.gasPrice)\n };\n};\nexport { getUint8Tx };\n","import { Toast } from '@/helpers';\nconst ERRORS = {\n SIGN_FAILED: 'Sign failed'\n};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WalletPasswordModal.vue?vue&type=style&index=0&id=6872bf34&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WalletPasswordModal.vue?vue&type=style&index=0&id=6872bf34&lang=scss&scoped=true&\"","import {\n WebUSBDevice,\n Messages,\n KeepKey,\n bip32ToAddressNList\n} from '@keepkey/keepkey.js';\nimport { KEEPKEY as keepkeyType } from '../../bip44/walletTypes';\nimport bip44Paths from '../../bip44';\nimport HDWalletInterface from '@/wallets/HDWalletInterface';\nimport { getUint8Tx } from './utils';\nimport {\n getBufferFromHex,\n sanitizeHex,\n getSignTransactionObject,\n calculateChainIdFromV\n} from '../../utils';\nimport HDKey from 'hdkey';\nimport { toBuffer } from 'ethereumjs-util';\nimport ethTx from 'ethereumjs-tx';\nimport errorHandler from './errorHandler';\n\nconst { MessageType } = Messages;\nconst {\n MESSAGETYPE_PINMATRIXREQUEST,\n MESSAGETYPE_PASSPHRASEREQUEST\n} = MessageType;\n\nconst NEED_PASSWORD = false;\n\nclass KeepkeyWallet {\n constructor(eventHub) {\n this.identifier = keepkeyType;\n this.isHardware = true;\n this.needPassword = NEED_PASSWORD;\n this.eventHub = eventHub;\n this.supportedPaths = bip44Paths[keepkeyType];\n }\n async init(basePath) {\n this.basePath = basePath ? basePath : this.supportedPaths[0].path;\n this.isHardened = this.basePath.split('/').length - 1 === 2;\n const usbDevice = await WebUSBDevice.requestPair();\n const device = new WebUSBDevice({ usbDevice });\n this.keepkey = KeepKey.withWebUSB(device);\n this.keepkey.device.events.on(String(MESSAGETYPE_PINMATRIXREQUEST), () => {\n this.eventHub.$emit(\n 'showHardwarePinMatrix',\n { name: this.identifier },\n pin => {\n this.keepkey.acknowledgeWithPin(pin);\n }\n );\n });\n this.keepkey.device.events.on(String(MESSAGETYPE_PASSPHRASEREQUEST), () => {\n this.eventHub.$emit(\n 'showHardwarePassword',\n { name: this.identifier },\n passPhrase => {\n this.keepkey.acknowledgeWithPassphrase(passPhrase);\n }\n );\n });\n await this.keepkey.initialize();\n if (!this.isHardened) {\n const rootPub = await getRootPubKey(this.keepkey, this.basePath);\n this.hdKey = new HDKey();\n this.hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n this.hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n } else {\n await getRootPubKey(this.keepkey, this.basePath + '/0 ');\n }\n }\n async getAccount(idx) {\n let derivedKey, accountPath;\n if (this.isHardened) {\n const rootPub = await getRootPubKey(\n this.keepkey,\n this.basePath + '/' + idx + \"'\"\n );\n const hdKey = new HDKey();\n hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n derivedKey = hdKey.derive('m/0/0');\n accountPath = this.basePath + '/' + idx + \"'\" + '/0/0';\n } else {\n derivedKey = this.hdKey.derive('m/' + idx);\n accountPath = this.basePath + '/' + idx;\n }\n const txSigner = async tx => {\n tx = new ethTx(tx);\n const hexTx = getUint8Tx(tx);\n const networkId = tx._chainId;\n hexTx.addressNList = bip32ToAddressNList(accountPath);\n const result = await this.keepkey.ethereumSignTx(\n hexTx,\n null,\n null,\n hexTx.data,\n networkId\n );\n tx.v = getBufferFromHex(sanitizeHex(result.v));\n tx.r = getBufferFromHex(sanitizeHex(result.r));\n tx.s = getBufferFromHex(sanitizeHex(result.s));\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n return getSignTransactionObject(tx);\n };\n const msgSigner = async msg => {\n const signMessage = new Messages.EthereumSignMessage();\n signMessage.setAddressNList(bip32ToAddressNList(accountPath));\n signMessage.setMessage(new Uint8Array(toBuffer(msg)));\n const [, response] = await this.keepkey.device.exchange(\n Messages.MessageType.MESSAGETYPE_ETHEREUMSIGNMESSAGE,\n signMessage\n );\n return Buffer.from(response.toObject().signature, 'base64');\n };\n return new HDWalletInterface(\n accountPath,\n derivedKey.publicKey,\n this.isHardware,\n this.identifier,\n errorHandler,\n txSigner,\n msgSigner\n );\n }\n getCurrentPath() {\n return this.basePath;\n }\n getSupportedPaths() {\n return this.supportedPaths;\n }\n}\nconst createWallet = async (basePath, eventHub) => {\n const _keepkeyWallet = new KeepkeyWallet(eventHub);\n await _keepkeyWallet.init(basePath);\n return _keepkeyWallet;\n};\ncreateWallet.errorHandler = errorHandler;\n\nconst getRootPubKey = async (_keepkey, _path) => {\n const pubObj = await _keepkey.getPublicKey({\n addressNList: bip32ToAddressNList(_path),\n showDisplay: false\n });\n const hdkey = HDKey.fromExtendedKey(pubObj[1]);\n return {\n publicKey: hdkey.publicKey.toString('hex'),\n chainCode: hdkey.chainCode.toString('hex')\n };\n};\n\nexport default createWallet;\n","import ethTx from 'ethereumjs-tx';\nimport SecalotEth from './secalotEth';\nimport SecalotUsb from './secalotUsb';\nimport { SECALOT as secalotType } from '../../bip44/walletTypes';\nimport bip44Paths from '../../bip44';\nimport HDWalletInterface from '@/wallets/HDWalletInterface';\nimport * as HDKey from 'hdkey';\nimport {\n getSignTransactionObject,\n sanitizeHex,\n getBufferFromHex,\n calculateChainIdFromV\n} from '../../utils';\nimport errorHandler from './errorHandler';\n\nconst NEED_PASSWORD = true;\n\nclass SecalotWallet {\n constructor(password) {\n this.identifier = secalotType;\n this.isHardware = true;\n this.needPassword = NEED_PASSWORD;\n this.supportedPaths = bip44Paths[secalotType];\n this.password = password;\n }\n async init(basePath) {\n this.basePath = basePath ? basePath : this.supportedPaths[0].path;\n const transport = new SecalotUsb();\n this.secalot = new SecalotEth(transport, this.password);\n const rootPub = await getRootPubKey(this.secalot, this.basePath);\n this.hdKey = new HDKey();\n this.hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n this.hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n }\n getAccount(idx) {\n const derivedKey = this.hdKey.derive('m/' + idx);\n const txSigner = async tx => {\n tx = new ethTx(tx);\n const networkId = tx._chainId;\n const result = await this.secalot.signTransactionAsync(\n this.basePath + '/' + idx,\n tx\n );\n tx.v = getBufferFromHex(sanitizeHex(result.v));\n tx.r = getBufferFromHex(sanitizeHex(result.r));\n tx.s = getBufferFromHex(sanitizeHex(result.s));\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n return getSignTransactionObject(tx);\n };\n const msgSigner = async msg => {\n const result = await this.secalot.signMessageAsync(\n this.basePath + '/' + idx,\n msg\n );\n return getBufferFromHex(result);\n };\n return new HDWalletInterface(\n this.basePath + '/' + idx,\n derivedKey.publicKey,\n this.isHardware,\n this.identifier,\n errorHandler,\n txSigner,\n msgSigner\n );\n }\n getCurrentPath() {\n return this.basePath;\n }\n getSupportedPaths() {\n return this.supportedPaths;\n }\n}\nconst createWallet = async (basePath, password) => {\n const _secalotWallet = new SecalotWallet(password);\n await _secalotWallet.init(basePath);\n return _secalotWallet;\n};\ncreateWallet.errorHandler = errorHandler;\nconst getRootPubKey = (_secalot, _path) => {\n return new Promise((resolve, reject) => {\n _secalot.getAddress(_path, (result, error) => {\n if (error) return reject(error);\n resolve({\n publicKey: result.publicKey,\n chainCode: result.chainCode\n });\n });\n });\n};\n\nexport default createWallet;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wallet-password-modal\"},[_c('b-modal',{ref:\"walletPassword\",staticClass:\"bootstrap-modal nopadding\",attrs:{\"title\":\"Passphrase\",\"hide-footer\":\"\",\"centered\":\"\"}},[_c('div',{staticClass:\"modal-contents\"},[_c('div',{staticClass:\"passphrase-container\"},[_c('div',{staticClass:\"input-container\"},[_c('div',{staticClass:\"input-headers\"},[_c('p',[_vm._v(\"Passphrase\")]),_c('span',{on:{\"click\":_vm.clear}},[_vm._v(\"Clear\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.passphrase),expression:\"passphrase\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.passphrase)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.passphrase=$event.target.value}}})])]),_c('div',{staticClass:\"button-block\"},[_c('button',{on:{\"click\":_vm.submitPassword}},[_vm._v(\"Access My Wallet\")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WalletPasswordModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WalletPasswordModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WalletPasswordModal.vue?vue&type=template&id=6872bf34&scoped=true&\"\nimport script from \"./WalletPasswordModal.vue?vue&type=script&lang=js&\"\nexport * from \"./WalletPasswordModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WalletPasswordModal.vue?vue&type=style&index=0&id=6872bf34&lang=scss&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 \"6872bf34\",\n null\n \n)\n\nexport default component.exports","export { default } from './WalletPasswordModal';\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"networkAndAddress\",staticClass:\"bootstrap-modal nopadding modal-network-and-address\",attrs:{\"title\":_vm.$t('accessWallet.networkAndAddress'),\"hide-footer\":\"\",\"centered\":\"\"}},[_c('div',{staticClass:\"modal-content-container\"},[_c('div',{staticClass:\"collapse-container\"},[_c('b-btn',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse1\",modifiers:{\"collapse1\":true}}],staticClass:\"collapse-open-button\",attrs:{\"variant\":\"primary\"}},[_c('p',{staticClass:\"button-number\"},[_vm._v(\"1\")]),_c('div',{staticClass:\"network\"},[_c('p',[_vm._v(\"\\n Network\\n \")]),_c('p',{staticClass:\"network-name\"},[_vm._v(\"\\n (\"+_vm._s(_vm.selectedNetwork.type.name)+\" - \"+_vm._s(_vm.selectedNetwork.service)+\")\\n \")])]),(false)?_c('p',{staticClass:\"right-button\"},[_vm._v(\"Cancel\")]):_vm._e()]),_c('b-collapse',{staticClass:\"collapse-content\",attrs:{\"id\":\"collapse1\"},model:{value:(_vm.showCollapse1),callback:function ($$v) {_vm.showCollapse1=$$v},expression:\"showCollapse1\"}},[_c('ul',{staticClass:\"networks\"},_vm._l((Object.keys(_vm.reorderNetworkList)),function(key,index){return _c('li',{key:_vm.$router.path + key + index},[_c('div',{staticClass:\"network-title\"},[_c('div',{staticClass:\"network-icon-container\"},[(_vm.Networks[key][0].type.icon)?_c('img',{attrs:{\"src\":_vm.Networks[key][0].type.icon}}):_c('div',{staticClass:\"no-icon\"},[_c('p',[_vm._v(\"No\")]),_c('p',[_vm._v(\"Icon\")])])]),_c('p',[_vm._v(_vm._s(key))])]),_c('div',{staticClass:\"network-content\"},_vm._l((_vm.Networks[key]),function(net){return _c('p',{key:net.service,class:net.service === _vm.selectedNetwork.service &&\n net.type &&\n net.type.name === _vm.selectedNetwork.type.name\n ? 'current-network'\n : '',on:{\"click\":function($event){return _vm.switchNetwork(net)}}},[_vm._v(\"\\n \"+_vm._s(net.service)+\"\\n \")])}),0)])}),0)])],1),_c('div',{staticClass:\"collapse-container\"},[_c('b-btn',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse2\",modifiers:{\"collapse2\":true}}],staticClass:\"collapse-open-button\",attrs:{\"variant\":\"primary\"}},[_c('p',{staticClass:\"button-number\"},[_vm._v(\"2\")]),_c('p',[_vm._v(\"Address\")])]),_c('b-collapse',{staticClass:\"collapse-content\",attrs:{\"id\":\"collapse2\"},model:{value:(_vm.showCollapse2),callback:function ($$v) {_vm.showCollapse2=$$v},expression:\"showCollapse2\"}},[_c('div',{staticClass:\"content-container-1\"},[_c('div',{staticClass:\"hd-derivation\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('accessWallet.hdDerivationPath')))]),_c('div',{staticClass:\"dropdown-button-container\"},[_c('b-dropdown',{staticClass:\"dropdown-button-2\",attrs:{\"id\":\"hd-derivation-path\",\"text\":_vm.getPathLabel(_vm.selectedPath),\"right\":\"\"}},[_vm._l((_vm.availablePaths),function(val,key){return _c('b-dropdown-item',{key:'base' + key,class:_vm.selectedPath === val.path ? 'active' : '',on:{\"click\":function($event){return _vm.changePath(key)}}},[_vm._v(_vm._s(val.label))])}),_c('b-dropdown-divider'),_c('b-dropdown-item',[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.customPaths'))+\"\\n \")]),_vm._l((_vm.customPaths),function(val,key){return _c('b-dropdown-item',{key:key,staticClass:\"custom-networks\",class:_vm.selectedPath === val.path ? 'active' : ''},[_c('div',{on:{\"click\":function($event){return _vm.changePath(key)}}},[_vm._v(_vm._s(val.path))]),_c('span',[_c('i',{staticClass:\"fa fa-times-circle\",on:{\"click\":function($event){$event.preventDefault();return _vm.removeCustomPath(val.path)}}})])])}),_c('b-dropdown-item',{on:{\"click\":_vm.showCustomPathInput}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.addCustomPath'))+\"\\n \")])],2)],1)]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.invalidPath !== '' && _vm.customPathInput),expression:\"invalidPath !== '' && customPathInput\"}],staticClass:\"error-message-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.invalidPathDesc', { path: _vm.invalidPath.path }))+\"\\n \")]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.customPathInput),expression:\"!customPathInput\"}],staticClass:\"derivation-brands\"},[_vm._v(\"\\n \"+_vm._s(_vm.getPathLabel(_vm.selectedPath))+\" (\"+_vm._s(_vm.selectedPath)+\")\\n \")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.customPathInput),expression:\"customPathInput\"}],staticClass:\"custom-path-container\"},[_c('label',{attrs:{\"for\":\"customPathLabel\"}},[_vm._v(\"Alias\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customPath.label),expression:\"customPath.label\"}],attrs:{\"id\":\"customPathLabel\",\"placeholder\":\"my custom path\"},domProps:{\"value\":(_vm.customPath.label)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.customPath, \"label\", $event.target.value)}}}),_c('label',{attrs:{\"for\":\"customPathInput\"}},[_vm._v(\"Path\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customPath.path),expression:\"customPath.path\"}],attrs:{\"id\":\"customPathInput\",\"placeholder\":\"m/44'/1'/0'/0\"},domProps:{\"value\":(_vm.customPath.path)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.customPath, \"path\", $event.target.value)}}}),_c('button',{staticClass:\"submit-button cancel\",on:{\"click\":_vm.showCustomPathInput}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('common.cancel'))+\"\\n \")]),_c('button',{staticClass:\"submit-button submit\",on:{\"click\":_vm.addCustomPath}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.addCustomPath'))+\"\\n \")])])]),_c('div',{staticClass:\"content-container-2\"},[_c('div',{staticClass:\"address-block-container\"},[_c('div',{staticClass:\"block-title\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('accessWallet.interactAddr')))])]),_c('ul',{staticClass:\"address-block table-header fours\"},[_c('li',[_vm._v(_vm._s(_vm.$t('accessWallet.id')))]),_c('li',[_vm._v(_vm._s(_vm.$t('common.address')))]),_c('li',[_vm._v(_vm._s(_vm.$t('common.balance')))])]),_vm._l((_vm.HDAccounts),function(account){return _c('ul',{key:account.index,class:[\n _vm.selectedId === 'address' + account.index ? 'selected' : '',\n 'address-block address-data fours'\n ],attrs:{\"data-address\":'address' + account.index},on:{\"click\":function($event){return _vm.setAccount(account)}}},[_c('li',[_c('blockie',{attrs:{\"address\":account.account.getChecksumAddressString(),\"size\":8,\"scale\":16,\"width\":\"30px\",\"height\":\"30px\"}})],1),_c('li',[_vm._v(_vm._s(account.account.getChecksumAddressString()))]),_c('li',[_vm._v(_vm._s(_vm.convertBalance(account.balance)))]),_c('li',{staticClass:\"user-input-checkbox\"},[_c('label',{staticClass:\"checkbox-container checkbox-container-small\"},[_c('input',{attrs:{\"id\":'address' + account.index,\"type\":\"checkbox\"},on:{\"click\":_vm.unselectAllAddresses}}),_c('span',{staticClass:\"checkmark checkmark-small\"})])])])})],2),_c('div',{staticClass:\"address-nav\"},[_c('span',{on:{\"click\":function($event){return _vm.previousAddressSet()}}},[_vm._v(\"< \"+_vm._s(_vm.$t('common.previous')))]),_c('span',{on:{\"click\":function($event){return _vm.nextAddressSet()}}},[_vm._v(_vm._s(_vm.$t('common.next'))+\" >\")])])]),_c('div',{staticClass:\"accept-terms\"},[_c('label',{staticClass:\"checkbox-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.acceptTerms'))+\"\\n \"),_c('router-link',{attrs:{\"to\":\"/terms-and-conditions\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('common.terms'))+\".\")]),_c('input',{ref:\"accessMyWalletBtn\",attrs:{\"type\":\"checkbox\"},on:{\"click\":function($event){_vm.accessMyWalletBtnDisabled = !_vm.accessMyWalletBtnDisabled}}}),_c('span',{staticClass:\"checkmark\"})],1)]),_c('div',{staticClass:\"button-container\"},[_c('b-btn',{staticClass:\"mid-round-button-green-filled close-button\",attrs:{\"disabled\":_vm.accessMyWalletBtnDisabled},on:{\"click\":function($event){$event.preventDefault();return _vm.unlockWallet($event)}}},[_vm._v(_vm._s(_vm.$t('common.accessMyWallet')))])],1),_c('customer-support')],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkAndAddressModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkAndAddressModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NetworkAndAddressModal.vue?vue&type=template&id=16c6f45d&scoped=true&\"\nimport script from \"./NetworkAndAddressModal.vue?vue&type=script&lang=js&\"\nexport * from \"./NetworkAndAddressModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NetworkAndAddressModal.vue?vue&type=style&index=0&id=16c6f45d&lang=scss&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 \"16c6f45d\",\n null\n \n)\n\nexport default component.exports","export { default } from './NetworkAndAddressModal';\n","import Ledger from '@ledgerhq/hw-app-eth';\nimport ethTx from 'ethereumjs-tx';\nimport u2fTransport from '@ledgerhq/hw-transport-u2f';\nimport { LEDGER as ledgerType } from '../../bip44/walletTypes';\nimport bip44Paths from '../../bip44';\nimport HDWalletInterface from '@/wallets/HDWalletInterface';\nimport * as HDKey from 'hdkey';\nimport {\n getSignTransactionObject,\n getBufferFromHex,\n sanitizeHex,\n calculateChainIdFromV\n} from '../../utils';\nimport errorHandler from './errorHandler';\n\nconst NEED_PASSWORD = false;\n\nclass ledgerWallet {\n constructor() {\n this.identifier = ledgerType;\n this.isHardware = true;\n this.needPassword = NEED_PASSWORD;\n this.supportedPaths = bip44Paths[ledgerType];\n }\n async init(basePath) {\n this.basePath = basePath ? basePath : this.supportedPaths[0].path;\n this.isHardened = this.basePath.split('/').length - 1 === 2;\n this.transport = await getLedgerTransport();\n this.ledger = new Ledger(this.transport);\n this.appConfig = await getLedgerAppConfig(this.ledger);\n if (!this.isHardened) {\n const rootPub = await getRootPubKey(this.ledger, this.basePath);\n this.hdKey = new HDKey();\n this.hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n this.hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n }\n }\n async getAccount(idx) {\n let derivedKey, accountPath;\n if (this.isHardened) {\n const rootPub = await getRootPubKey(\n this.ledger,\n this.basePath + '/' + idx + \"'\"\n );\n const hdKey = new HDKey();\n hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n derivedKey = hdKey.derive('m/0/0');\n accountPath = this.basePath + '/' + idx + \"'\" + '/0/0';\n } else {\n derivedKey = this.hdKey.derive('m/' + idx);\n accountPath = this.basePath + '/' + idx;\n }\n const txSigner = async tx => {\n tx = new ethTx(tx);\n const networkId = tx._chainId;\n tx.raw[6] = Buffer.from([networkId]);\n tx.raw[7] = Buffer.from([]);\n tx.raw[8] = Buffer.from([]);\n const result = await this.ledger.signTransaction(\n accountPath,\n tx.serialize().toString('hex')\n );\n tx.v = getBufferFromHex(result.v);\n tx.r = getBufferFromHex(result.r);\n tx.s = getBufferFromHex(result.s);\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n return getSignTransactionObject(tx);\n };\n const msgSigner = async msg => {\n const result = await this.ledger.signPersonalMessage(\n accountPath,\n Buffer.from(msg).toString('hex')\n );\n const v = parseInt(result.v, 10) - 27;\n const vHex = sanitizeHex(v.toString(16));\n return Buffer.concat([\n getBufferFromHex(result.r),\n getBufferFromHex(result.s),\n getBufferFromHex(vHex)\n ]);\n };\n return new HDWalletInterface(\n accountPath,\n derivedKey.publicKey,\n this.isHardware,\n this.identifier,\n errorHandler,\n txSigner,\n msgSigner\n );\n }\n getCurrentPath() {\n return this.basePath;\n }\n getSupportedPaths() {\n return this.supportedPaths;\n }\n}\nconst createWallet = async basePath => {\n const _ledgerWallet = new ledgerWallet();\n await _ledgerWallet.init(basePath);\n return _ledgerWallet;\n};\ncreateWallet.errorHandler = errorHandler;\nconst getLedgerTransport = async () => {\n const transport = await u2fTransport.create(3000, 3000);\n return transport;\n};\nconst getLedgerAppConfig = async _ledger => {\n const appConfig = await _ledger.getAppConfiguration();\n return appConfig;\n};\nconst getRootPubKey = async (_ledger, _path) => {\n const pubObj = await _ledger.getAddress(_path, false, true);\n return {\n publicKey: pubObj.publicKey,\n chainCode: pubObj.chainCode\n };\n};\n\nexport default createWallet;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"enter-pin-number-modal\"},[_c('b-modal',{ref:\"enterpin\",staticClass:\"bootstrap-modal nopadding\",attrs:{\"title\":\"Password\",\"hide-footer\":\"\",\"centered\":\"\"}},[_c('div',{staticClass:\"modal-contents\"},[_c('div',{staticClass:\"pin-input-block\"},[_c('p',{staticClass:\"main-title\"},[_vm._v(\"Enter PIN for your \"+_vm._s(_vm.deviceInfo.name))]),_c('p',{staticClass:\"sub-title\"},[_vm._v(\"\\n The PIN layout is displayed on your Hardware wallet\\n \")]),_c('div',{staticClass:\"input-container\"},[_c('div',{staticClass:\"input-headers\"},[_c('p',[_vm._v(\"PIN\")]),_c('span',{on:{\"click\":_vm.clear}},[_vm._v(\"Clear\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.pin),expression:\"pin\"}],attrs:{\"type\":\"password\",\"readonly\":\"true\"},domProps:{\"value\":(_vm.pin)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.pin=$event.target.value}}})])]),_c('div',{staticClass:\"button-matrix-block\"},_vm._l((_vm.positions),function(pos,idx){return _c('button',{key:pos + idx,on:{\"click\":function($event){_vm.pin += pos}}})}),0),_c('div',{staticClass:\"button-block\"},[_c('div',{staticClass:\"checkbox-container\"},[_c('label',{attrs:{\"for\":\"terms\"},on:{\"click\":function($event){_vm.acknowledgedTerms = !_vm.acknowledgedTerms}}},[_c('span',{class:[_vm.acknowledgedTerms ? 'enable' : '', 'custom-marker']},[(_vm.acknowledgedTerms)?_c('i',{staticClass:\"fa fa-check\"}):_vm._e()]),_c('input',{attrs:{\"name\":\"terms\",\"type\":\"checkbox\"}}),_vm._v(\" To access my wallet,\\n \"),_c('br'),_vm._v(\"I accept the\\n \"),_c('router-link',{attrs:{\"to\":\"/terms-and-conditions\"}},[_vm._v(\"\\n Terms and Conditions\\n \")])],1)]),_c('button',{attrs:{\"disabled\":!_vm.acknowledgedTerms},on:{\"click\":_vm.actualClick}},[_vm._v(\"\\n Access My Wallet\\n \")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterPinNumberModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterPinNumberModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EnterPinNumberModal.vue?vue&type=template&id=3cf53c36&scoped=true&\"\nimport script from \"./EnterPinNumberModal.vue?vue&type=script&lang=js&\"\nexport * from \"./EnterPinNumberModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EnterPinNumberModal.vue?vue&type=style&index=0&id=3cf53c36&lang=scss&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 \"3cf53c36\",\n null\n \n)\n\nexport default component.exports","export { default } from './EnterPinNumberModal';\n","import { Toast } from '@/helpers';\nconst ERRORS = {};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import { Toast } from '@/helpers';\nconst ERRORS = {\n POPUP_CLOSED: 'Popup closed',\n DEVICE_DISCONNECTED: 'Device disconnected',\n DEVICE_DISCONNECTED_ACTION: 'device disconnected during action',\n ACTION_CANCELLED: 'Action cancelled by user',\n NO_PERMISSION: 'Permissions not granted',\n TRANSPORT_MISSING: 'Device call in progress'\n};\n\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HardwarePasswordModal.vue?vue&type=style&index=0&id=37b16d84&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HardwarePasswordModal.vue?vue&type=style&index=0&id=37b16d84&lang=scss&scoped=true&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkAndAddressModal.vue?vue&type=style&index=0&id=16c6f45d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkAndAddressModal.vue?vue&type=style&index=0&id=16c6f45d&lang=scss&scoped=true&\"","import Trezor from 'trezor-connect';\nimport { TREZOR as trezorType } from '../../bip44/walletTypes';\nimport bip44Paths from '../../bip44';\nimport HDWalletInterface from '@/wallets/HDWalletInterface';\nimport * as HDKey from 'hdkey';\nimport ethTx from 'ethereumjs-tx';\nimport {\n getSignTransactionObject,\n getHexTxObject,\n getBufferFromHex,\n calculateChainIdFromV\n} from '../../utils';\nimport errorHandler from './errorHandler';\n\nconst NEED_PASSWORD = false;\n\nclass TrezorWallet {\n constructor() {\n this.identifier = trezorType;\n this.isHardware = true;\n this.needPassword = NEED_PASSWORD;\n this.supportedPaths = bip44Paths[trezorType];\n }\n async init(basePath) {\n this.basePath = basePath ? basePath : this.supportedPaths[0].path;\n const rootPub = await getRootPubKey(this.basePath);\n this.hdKey = new HDKey();\n this.hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n this.hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n }\n getAccount(idx) {\n const derivedKey = this.hdKey.derive('m/' + idx);\n const txSigner = async tx => {\n tx = new ethTx(tx);\n const networkId = tx._chainId;\n const options = {\n path: this.basePath + '/' + idx,\n transaction: getHexTxObject(tx)\n };\n const result = await Trezor.ethereumSignTransaction(options);\n if (!result.success) throw new Error(result.payload.error);\n tx.v = getBufferFromHex(result.payload.v);\n tx.r = getBufferFromHex(result.payload.r);\n tx.s = getBufferFromHex(result.payload.s);\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n return getSignTransactionObject(tx);\n };\n const msgSigner = async msg => {\n const result = await Trezor.ethereumSignMessage({\n path: this.basePath + '/' + idx,\n message: msg\n });\n if (!result.success) throw new Error(result.payload.error);\n return getBufferFromHex(result.payload.signature);\n };\n return new HDWalletInterface(\n this.basePath + '/' + idx,\n derivedKey.publicKey,\n this.isHardware,\n this.identifier,\n errorHandler,\n txSigner,\n msgSigner\n );\n }\n getCurrentPath() {\n return this.basePath;\n }\n getSupportedPaths() {\n return this.supportedPaths;\n }\n}\nconst createWallet = async basePath => {\n const _trezorWallet = new TrezorWallet();\n await _trezorWallet.init(basePath);\n return _trezorWallet;\n};\ncreateWallet.errorHandler = errorHandler;\nconst getRootPubKey = async _path => {\n const result = await Trezor.getPublicKey({ path: _path });\n if (!result.success) throw new Error(result.payload.error);\n return {\n publicKey: result.payload.publicKey,\n chainCode: result.payload.chainCode\n };\n};\n\nexport default createWallet;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"mnemonicPhrase\",staticClass:\"bootstrap-modal padding-20 modal-metamask\",attrs:{\"title\":_vm.$t('accessWallet.accessByMnemonicPhrase'),\"hide-footer\":\"\",\"centered\":\"\"},on:{\"shown\":_vm.focusInput}},[_c('div',{staticClass:\"contents\"},[_c('p',{staticClass:\"instruction\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.pleaseTypeInMnemonicPhrase'))+\"\\n \")]),_c('div',{staticClass:\"tools\"},[_c('div',{staticClass:\"value-switch noselect\"},[_c('div',{staticClass:\"sliding-switch\"},[_c('label',{staticClass:\"switch\"},[_c('input',{attrs:{\"type\":\"checkbox\"}}),_c('span',{staticClass:\"slider round\",on:{\"click\":_vm.mnemonicValueBitSizeChange}})]),_c('div',{staticClass:\"labels\"},[_c('span',{class:[!_vm.mnemonic24 ? 'white' : '', 'label-left']},[_vm._v(\"12\")]),_c('span',{class:[_vm.mnemonic24 ? 'white' : '', 'label-right']},[_vm._v(\"24\")])])]),_c('span',{staticClass:\"text__base link switch-label\"},[_vm._v(_vm._s(_vm.$t('createWallet.byMnemonicValue')))])])]),_c('form',[_c('div',{staticClass:\"phrases\"},[_c('ul',_vm._l((_vm.mnemonicSize),function(index){return _c('li',{key:index},[_c('span',[_vm._v(_vm._s(index)+\".\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mnemonicPhrase[index - 1]),expression:\"mnemonicPhrase[index - 1]\"}],ref:(\"mnemonicInput\" + (index - 1)),refInFor:true,attrs:{\"type\":\"text\",\"name\":\"\"},domProps:{\"value\":(_vm.mnemonicPhrase[index - 1])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.mnemonicPhrase, index - 1, $event.target.value)}}})])}),0)]),_c('div',{staticClass:\"button-container\"},[_c('b-btn',{staticClass:\"mid-round-button-green-filled close-button\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openPasswordModal($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('common.continue'))+\"\\n \")])],1)])]),_c('customer-support')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MnemonicModal.vue?vue&type=template&id=31083d60&scoped=true&\"\nimport script from \"./MnemonicModal.vue?vue&type=script&lang=js&\"\nexport * from \"./MnemonicModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MnemonicModal.vue?vue&type=style&index=0&id=31083d60&lang=scss&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 \"31083d60\",\n null\n \n)\n\nexport default component.exports","export { default } from './MnemonicModal';\n","import { Toast } from '@/helpers';\nconst ERRORS = {\n SIGN_FAILED: 'Sign failed'\n};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicPasswordModal.vue?vue&type=style&index=0&id=e64b5392&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicPasswordModal.vue?vue&type=style&index=0&id=e64b5392&lang=scss&scoped=true&\"","'use strict';\n\nconst SecalotEth = function(comm, pinCode) {\n this.comm = comm;\n if (typeof pinCode !== 'undefined') this.pinCode = pinCode;\n};\n\nSecalotEth.splitPath = function(path) {\n const result = [];\n const components = path.split('/');\n\n components.forEach(element => {\n let number = parseInt(element, 10);\n if (isNaN(number)) {\n return;\n }\n if (element.length > 1 && element[element.length - 1] === \"'\") {\n number += 0x80000000;\n }\n result.push(number);\n });\n return result;\n};\n\nSecalotEth.getErrorMessage = function(sw, operation) {\n let errorMessage;\n if (sw === 0x6d00) {\n errorMessage = 'XDC Wallet on your Secalot is not initialized.';\n } else if (sw === 0x6982) {\n if (operation === 'getPublicKey') {\n errorMessage =\n 'Invalid PIN-code. Be careful, after entering a wrong PIN-code three times in a row, your Secalot XDC Wallet would be permanently wiped.';\n } else {\n errorMessage = 'PIN-code not verified.';\n }\n } else if (sw === 0x6700) {\n errorMessage = 'Invalid PIN-code length.';\n } else if (sw === 0x6985) {\n errorMessage = 'Operation timed out.';\n } else {\n errorMessage = 'An error has occurred. SW = ' + sw.toString(16) + '.';\n }\n\n return errorMessage;\n};\n\nSecalotEth.prototype.getAddress = function(path, callback) {\n const splitPath = SecalotEth.splitPath(path);\n const apdus = [];\n let buffer;\n const self = this;\n const localCallback = function(response, error) {\n if (typeof error !== 'undefined') {\n callback(undefined, error);\n } else {\n const result = {};\n response = Buffer.from(response, 'hex');\n const sw = response.readUInt16BE(response.length - 2);\n if (sw !== 0x9000) {\n callback(undefined, SecalotEth.getErrorMessage(sw, 'getPublicKey'));\n return;\n }\n if (apdus.length === 0) {\n result['publicKey'] = response.slice(0, 65).toString('hex');\n result['chainCode'] = response.slice(65, 97).toString('hex');\n callback(result);\n } else {\n self.comm.exchange(apdus.shift(), localCallback);\n }\n }\n };\n\n if (typeof this.pinCode !== 'undefined') {\n const pin = Buffer.from(this.pinCode, 'utf8');\n buffer = Buffer.alloc(5 + pin.length);\n buffer[0] = 0x80;\n buffer[1] = 0x22;\n buffer[2] = 0x00;\n buffer[3] = 0x00;\n buffer[4] = pin.length;\n\n pin.copy(buffer, 5, 0, pin.length);\n apdus.push(buffer.toString('hex'));\n }\n\n buffer = Buffer.alloc(5 + 1 + splitPath.length * 4);\n buffer[0] = 0x80;\n buffer[1] = 0x40;\n buffer[2] = 0x00;\n buffer[3] = 0x00;\n buffer[4] = 1 + splitPath.length * 4;\n buffer[5] = splitPath.length;\n splitPath.forEach((element, idx) => {\n buffer.writeUInt32BE(element, 6 + 4 * idx);\n });\n\n apdus.push(buffer.toString('hex'));\n self.comm.exchange(apdus.shift(), localCallback);\n};\nSecalotEth.prototype.signTransactionAsync = function(path, eTx) {\n return new Promise((resolve, reject) => {\n this.signTransaction(path, eTx, (result, error) => {\n if (error) return reject(error);\n resolve(result);\n });\n });\n};\nSecalotEth.prototype.signTransaction = function(path, eTx, callback) {\n const splitPath = SecalotEth.splitPath(path);\n let offset = 0;\n let rawData = '';\n const apdus = [];\n const self = this;\n const localCallback = function(response, error) {\n if (typeof error !== 'undefined') {\n callback(undefined, error);\n } else {\n response = Buffer.from(response, 'hex');\n const sw = response.readUInt16BE(response.length - 2);\n\n if (sw !== 0x9000) {\n callback(undefined, SecalotEth.getErrorMessage(sw, 'signTransaction'));\n return;\n }\n\n if (apdus.length === 0) {\n const result = {};\n let v = response[0] + 27;\n\n if (eTx._chainId > 0) {\n v += eTx._chainId * 2 + 8;\n }\n\n result['v'] = Buffer.from([v]).toString('hex');\n result['r'] = response.slice(1, 1 + 32).toString('hex');\n result['s'] = response.slice(1 + 32, 1 + 32 + 32).toString('hex');\n callback(result);\n } else {\n self.comm.exchange(apdus.shift(), localCallback);\n }\n }\n };\n\n const savedRaw = eTx.raw.slice();\n eTx.v = eTx._chainId;\n eTx.r = 0;\n eTx.s = 0;\n const dataToHash = eTx.serialize();\n eTx.raw = savedRaw;\n\n rawData = Buffer.from(dataToHash, 'hex');\n\n while (offset !== rawData.length) {\n const maxChunkSize = 64;\n const chunkSize =\n offset + maxChunkSize > rawData.length\n ? rawData.length - offset\n : maxChunkSize;\n const buffer = Buffer.alloc(5 + chunkSize);\n\n buffer[0] = 0x80;\n buffer[1] = 0xf2;\n buffer[2] = offset === 0 ? 0x00 : 0x01;\n buffer[3] = 0x00;\n buffer[4] = chunkSize;\n\n rawData.copy(buffer, 5, offset, offset + chunkSize);\n apdus.push(buffer.toString('hex'));\n offset += chunkSize;\n }\n\n const buffer = Buffer.alloc(5 + 1 + splitPath.length * 4);\n\n buffer[0] = 0x80;\n buffer[1] = 0xf2;\n buffer[2] = 0x02;\n buffer[3] = 0x00;\n buffer[4] = 1 + splitPath.length * 4;\n buffer[5] = splitPath.length;\n\n splitPath.forEach((element, index) => {\n buffer.writeUInt32BE(element, 6 + 4 * index);\n });\n\n apdus.push(buffer.toString('hex'));\n self.comm.exchange(apdus.shift(), localCallback);\n};\nSecalotEth.prototype.signMessageAsync = function(path, message) {\n return new Promise((resolve, reject) => {\n this.signMessage(path, message, (result, error) => {\n if (error) return reject(error);\n resolve(result);\n });\n });\n};\nSecalotEth.prototype.signMessage = function(path, message, callback) {\n const splitPath = SecalotEth.splitPath(path);\n let offset = 0;\n let rawData = '';\n const apdus = [];\n const self = this;\n const localCallback = function(response, error) {\n if (typeof error !== 'undefined') {\n callback(undefined, error);\n } else {\n response = Buffer.from(response, 'hex');\n const sw = response.readUInt16BE(response.length - 2);\n if (sw !== 0x9000) {\n callback(undefined, SecalotEth.getErrorMessage(sw, 'signMessage'));\n return;\n }\n if (apdus.length === 0) {\n const obj = {};\n const v = response[0] + 27;\n obj['v'] = Buffer.from([v]).toString('hex');\n obj['r'] = response.slice(1, 1 + 32).toString('hex');\n obj['s'] = response.slice(1 + 32, 1 + 32 + 32).toString('hex');\n const result = obj['r'] + obj['s'] + obj['v'];\n\n callback('0x' + result.toString('hex'));\n } else {\n self.comm.exchange(apdus.shift(), localCallback);\n }\n }\n };\n\n message =\n '\\x19Ethereum Signed Message:\\n' + message.length.toString() + message;\n rawData = Buffer.from(Buffer.from(message).toString('hex'), 'hex');\n\n while (offset !== rawData.length) {\n const maxChunkSize = 64;\n const chunkSize =\n offset + maxChunkSize > rawData.length\n ? rawData.length - offset\n : maxChunkSize;\n const buffer = Buffer.alloc(5 + chunkSize);\n buffer[0] = 0x80;\n buffer[1] = 0xf2;\n buffer[2] = offset === 0 ? 0x00 : 0x01;\n buffer[3] = offset === 0 ? 0x01 : 0x00;\n buffer[4] = chunkSize;\n\n rawData.copy(buffer, 5, offset, offset + chunkSize);\n\n apdus.push(buffer.toString('hex'));\n offset += chunkSize;\n }\n\n const buffer = Buffer.alloc(5 + 1 + splitPath.length * 4);\n buffer[0] = 0x80;\n buffer[1] = 0xf2;\n buffer[2] = 0x02;\n buffer[3] = 0x00;\n buffer[4] = 1 + splitPath.length * 4;\n buffer[5] = splitPath.length;\n\n splitPath.forEach((element, idx) => {\n buffer.writeUInt32BE(element, 6 + 4 * idx);\n });\n\n apdus.push(buffer.toString('hex'));\n self.comm.exchange(apdus.shift(), localCallback);\n};\n\nexport default SecalotEth;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"password\",staticClass:\"bootstrap-modal modal-software\",attrs:{\"title\":_vm.$t('accessWallet.password'),\"hide-footer\":\"\",\"centered\":\"\"},on:{\"shown\":_vm.focusInput}},[_c('form',{staticClass:\"password-form\"},[_c('div',{staticClass:\"input-container\"},[((_vm.show ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"passwordInput\",attrs:{\"name\":\"Password\",\"autocomplete\":\"off\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.password)?_vm._i(_vm.password,null)>-1:(_vm.password)},on:{\"change\":function($event){var $$a=_vm.password,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.password=$$a.concat([$$v]))}else{$$i>-1&&(_vm.password=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.password=$$c}}}}):((_vm.show ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"passwordInput\",attrs:{\"name\":\"Password\",\"autocomplete\":\"off\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.password,null)},on:{\"change\":function($event){_vm.password=null}}}):_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"passwordInput\",attrs:{\"name\":\"Password\",\"autocomplete\":\"off\",\"type\":_vm.show ? 'text' : 'password'},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),(_vm.show)?_c('img',{attrs:{\"src\":require(\"@/assets/images/icons/show-password.svg\")},on:{\"click\":function($event){$event.preventDefault();return _vm.switchViewPassword($event)}}}):_vm._e(),(!_vm.show)?_c('img',{attrs:{\"src\":require(\"@/assets/images/icons/hide-password.svg\")},on:{\"click\":function($event){$event.preventDefault();return _vm.switchViewPassword($event)}}}):_vm._e()]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error !== ''),expression:\"error !== ''\"}],staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('password')),expression:\"errors.has('password')\"}],staticClass:\"error\"},[_vm._v(\"\\n \"+_vm._s(_vm.errors.first('password'))+\"\\n \")]),_c('button',{class:[\n _vm.errors.has('password') || _vm.password.length === 0 ? 'disabled' : '',\n 'submit-button large-round-button-green-filled'\n ],attrs:{\"type\":\"submit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.unlockWallet($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('accessWallet.unlock'))+\" \"+_vm._s(_vm.hardwareBrand)+\"\\n \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HardwarePasswordModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HardwarePasswordModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HardwarePasswordModal.vue?vue&type=template&id=37b16d84&scoped=true&\"\nimport script from \"./HardwarePasswordModal.vue?vue&type=script&lang=js&\"\nexport * from \"./HardwarePasswordModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HardwarePasswordModal.vue?vue&type=style&index=0&id=37b16d84&lang=scss&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 \"37b16d84\",\n null\n \n)\n\nexport default component.exports","export { default } from './HardwarePasswordModal';\n","import { Toast } from '@/helpers';\nconst ERRORS = {\n U2F_TIMEOUT: 'Failed to sign with Ledger device: U2F TIMEOUT',\n NO_LEDGER: 'No Ledger device found (timeout)',\n DEVICE_BUSY: 'Ledger Device is busy (lock signPersonalMessage)',\n UNKNOWN_ERROR_6804: 'Ledger device: UNKNOWN_ERROR (0x6804)',\n U2F_OTHER_ERROR:\n 'TransportError: Failed to sign with Ledger device: U2F OTHER_ERROR'\n};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import ethTx from 'ethereumjs-tx';\nimport { hashPersonalMessage, toBuffer } from 'ethereumjs-util';\nimport DigitalBitboxUsb from './digitalBitboxUsb';\nimport DigitalBitboxEth from './digitalBitboxEth';\nimport { BITBOX as bitboxType } from '../../bip44/walletTypes';\nimport bip44Paths from '../../bip44';\nimport HDWalletInterface from '@/wallets/HDWalletInterface';\nimport { Toast } from '@/helpers';\nimport errorHandler from './errorHandler';\nimport * as HDKey from 'hdkey';\nimport {\n getSignTransactionObject,\n sanitizeHex,\n getBufferFromHex,\n calculateChainIdFromV\n} from '../../utils';\n\nconst NEED_PASSWORD = true;\n\nclass BitBoxWallet {\n constructor(password) {\n this.identifier = bitboxType;\n this.isHardware = true;\n this.needPassword = NEED_PASSWORD;\n this.supportedPaths = bip44Paths[bitboxType];\n this.password = password;\n }\n async init(basePath) {\n this.basePath = basePath ? basePath : this.supportedPaths[0].path;\n const transport = new DigitalBitboxUsb();\n this.bitbox = new DigitalBitboxEth(transport, this.password);\n const rootPub = await getRootPubKey(this.bitbox, this.basePath);\n this.hdKey = new HDKey();\n this.hdKey.publicKey = Buffer.from(rootPub.publicKey, 'hex');\n this.hdKey.chainCode = Buffer.from(rootPub.chainCode, 'hex');\n }\n getAccount(idx) {\n const derivedKey = this.hdKey.derive('m/' + idx);\n const txSigner = async tx => {\n tx = new ethTx(tx);\n const networkId = tx._chainId;\n const result = await this.bitbox.signTransaction(\n this.basePath + '/' + idx,\n tx\n );\n tx.v = getBufferFromHex(sanitizeHex(result.v));\n tx.r = getBufferFromHex(sanitizeHex(result.r));\n tx.s = getBufferFromHex(sanitizeHex(result.s));\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n Toast.responseHandler(\n new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n ),\n false\n );\n return getSignTransactionObject(tx);\n };\n const msgSigner = async msg => {\n const msgHash = hashPersonalMessage(toBuffer(msg));\n const result = await this.bitbox.signMessage(\n this.basePath + '/' + idx,\n msgHash\n );\n return Buffer.concat([\n getBufferFromHex(sanitizeHex(result.r)),\n getBufferFromHex(sanitizeHex(result.s)),\n getBufferFromHex(sanitizeHex(result.v))\n ]);\n };\n return new HDWalletInterface(\n this.basePath + '/' + idx,\n derivedKey.publicKey,\n this.isHardware,\n this.identifier,\n errorHandler,\n txSigner,\n msgSigner\n );\n }\n getCurrentPath() {\n return this.basePath;\n }\n getSupportedPaths() {\n return this.supportedPaths;\n }\n}\nconst getRootPubKey = (_bitbox, _path) => {\n return new Promise((resolve, reject) => {\n _bitbox.getAddress(_path, (result, error) => {\n if (error) return reject(error);\n resolve({\n publicKey: result.publicKey,\n chainCode: result.chainCode\n });\n });\n });\n};\n\nconst createWallet = async (basePath, password) => {\n const _bitboxWallet = new BitBoxWallet(password);\n await _bitboxWallet.init(basePath);\n return _bitboxWallet;\n};\ncreateWallet.errorHandler = errorHandler;\n\nexport default createWallet;\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicModal.vue?vue&type=style&index=0&id=31083d60&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicModal.vue?vue&type=style&index=0&id=31083d60&lang=scss&scoped=true&\"","import { Toast } from '@/helpers';\nconst ERRORS = {\n REJECT_TX:\n 'Returned error: Error: MetaMask Tx Signature: User denied transaction signature.'\n};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import { WEB3_WALLET as web3WalletType } from '../../bip44/walletTypes';\nimport WalletInterface from '@/wallets/WalletInterface';\nimport Web3 from 'web3';\nimport { getBufferFromHex } from '../../utils';\nimport errorHandler from './errorHandler';\n\nclass Web3Wallet extends WalletInterface {\n static get errorHandler() {\n return errorHandler;\n }\n constructor(address) {\n super(address, true, web3WalletType);\n this.errorHandler = errorHandler;\n this.web3 = window.web3.currentProvider\n ? new Web3(window.web3.currentProvider)\n : null;\n if (!this.web3) throw new Error('No Web3 instance found');\n }\n signTransaction(tx) {\n tx.from = this.getAddressString();\n return this.web3.eth.sendTransaction(tx);\n }\n signMessage(msg) {\n return new Promise((resolve, reject) => {\n this.web3.eth.personal\n .sign(msg, this.getAddressString())\n .then(hex => {\n resolve(getBufferFromHex(hex));\n })\n .catch(reject);\n });\n }\n}\nexport default Web3Wallet;\n","import Web3Wallet from './web3wallet';\nimport MnemonicWallet from './mnemonic';\n\nexport { MnemonicWallet, Web3Wallet };\n","import { Toast } from '@/helpers';\nconst ERRORS = {};\nconst WARNING = {};\n\nexport default err => {\n const errorValues = Object.values(ERRORS);\n const warningValues = Object.values(WARNING);\n if (errorValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.ERROR);\n } else if (warningValues.includes(err.message)) {\n Toast.responseHandler(err, Toast.WARN);\n } else {\n Toast.responseHandler(err, false);\n }\n};\n","import MEWconnect from '@myetherwallet/mewconnect-web-client';\nimport ethTx from 'ethereumjs-tx';\nimport WalletInterface from '@/wallets/WalletInterface';\nimport { MEW_CONNECT as mewConnectType } from '../../bip44/walletTypes';\nimport {\n getSignTransactionObject,\n sanitizeHex,\n getBufferFromHex,\n calculateChainIdFromV\n} from '../../utils';\nimport { hashPersonalMessage, toBuffer } from 'ethereumjs-util';\nimport errorHandler from './errorHandler';\n\nconst SIGNALER_URL = 'https://connect.mewapi.io';\nconst IS_HARDWARE = true;\n\n// TODO: add listener and ui notification on RtcConnectedEvent and RtcClosedEvent\nclass MEWconnectWalletInterface extends WalletInterface {\n constructor(pubkey, isHardware, identifier, txSigner, msgSigner, mewConnect) {\n super(pubkey, true, identifier);\n this.errorHandler = errorHandler;\n this.txSigner = txSigner;\n this.msgSigner = msgSigner;\n this.isHardware = isHardware;\n this.mewConnect = mewConnect;\n }\n getConnection() {\n return this.mewConnect;\n }\n signTransaction(txParams) {\n return super.signTransaction(txParams, this.txSigner);\n }\n signMessage(msg) {\n return super.signMessage(msg, this.msgSigner);\n }\n}\n\nclass MEWconnectWallet {\n constructor() {\n this.identifier = mewConnectType;\n this.isHardware = IS_HARDWARE;\n this.mewConnect = new MEWconnect.Initiator();\n }\n async init(qrcode) {\n this.mewConnect.on('codeDisplay', qrcode);\n const txSigner = async tx => {\n const networkId = tx.chainId;\n return new Promise(resolve => {\n this.mewConnect.sendRtcMessage('signTx', JSON.stringify(tx));\n this.mewConnect.once('signTx', result => {\n tx = new ethTx(sanitizeHex(result));\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n resolve(getSignTransactionObject(tx));\n });\n });\n };\n const msgSigner = async msg => {\n return new Promise(resolve => {\n const msgHash = hashPersonalMessage(toBuffer(msg));\n this.mewConnect.sendRtcMessage('signMessage', {\n hash: msgHash.toString('hex'),\n text: msg\n });\n this.mewConnect.once('signMessage', data => {\n resolve(getBufferFromHex(sanitizeHex(data.sig)));\n });\n });\n };\n\n const mewConnect = () => {\n return this.mewConnect;\n };\n const address = await signalerConnect(SIGNALER_URL, this.mewConnect);\n\n return new MEWconnectWalletInterface(\n sanitizeHex(address),\n this.isHardware,\n this.identifier,\n txSigner,\n msgSigner,\n mewConnect // <- using this.mewConnect here was causing a circular reference and data clone error\n );\n }\n}\nconst createWallet = async qrcode => {\n const _MEWconnectWallet = new MEWconnectWallet();\n const _tWallet = await _MEWconnectWallet.init(qrcode);\n return _tWallet;\n};\ncreateWallet.errorHandler = errorHandler;\nconst signalerConnect = (url, mewConnect) => {\n return new Promise(resolve => {\n mewConnect.initiatorStart(url);\n mewConnect.on('RtcConnectedEvent', () => {\n mewConnect.sendRtcMessage('address', '');\n mewConnect.once('address', data => {\n resolve(data.address);\n });\n });\n });\n};\n\nexport default createWallet;\n","import {\n LedgerWallet,\n TrezorWallet,\n BitBoxWallet,\n SecalotWallet,\n KeepkeyWallet\n} from './hardware';\nimport WalletInterface from './WalletInterface';\nimport { MnemonicWallet } from './software';\nimport { MewConnectWallet } from './hybrid';\n\nexport {\n LedgerWallet,\n TrezorWallet,\n BitBoxWallet,\n SecalotWallet,\n KeepkeyWallet,\n MewConnectWallet,\n WalletInterface,\n MnemonicWallet\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"password\",staticClass:\"bootstrap-modal modal-software\",attrs:{\"title\":_vm.$t('accessWallet.password'),\"hide-footer\":\"\",\"centered\":\"\"},on:{\"shown\":_vm.focusInput}},[_c('form',{staticClass:\"password-form\"},[_c('div',{staticClass:\"input-container\"},[((_vm.show ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"mnemonicPasswordInput\",attrs:{\"name\":\"Password\",\"autocomplete\":\"off\",\"placeholder\":\"Enter password\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.password)?_vm._i(_vm.password,null)>-1:(_vm.password)},on:{\"change\":function($event){var $$a=_vm.password,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.password=$$a.concat([$$v]))}else{$$i>-1&&(_vm.password=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.password=$$c}}}}):((_vm.show ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"mnemonicPasswordInput\",attrs:{\"name\":\"Password\",\"autocomplete\":\"off\",\"placeholder\":\"Enter password\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.password,null)},on:{\"change\":function($event){_vm.password=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"mnemonicPasswordInput\",attrs:{\"name\":\"Password\",\"autocomplete\":\"off\",\"placeholder\":\"Enter password\",\"type\":_vm.show ? 'text' : 'password'},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),(_vm.show)?_c('img',{attrs:{\"src\":require(\"@/assets/images/icons/show-password.svg\")},on:{\"click\":function($event){$event.preventDefault();return _vm.switchViewPassword($event)}}}):_vm._e(),(!_vm.show)?_c('img',{attrs:{\"src\":require(\"@/assets/images/icons/hide-password.svg\")},on:{\"click\":function($event){$event.preventDefault();return _vm.switchViewPassword($event)}}}):_vm._e()]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error !== ''),expression:\"error !== ''\"}],staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))]),_c('button',{staticClass:\"submit-button large-round-button-green-filled\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.unlockWallet($event)}}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.spinner),expression:\"!spinner\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('common.continue'))+\" \")]),_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.spinner),expression:\"spinner\"}],staticClass:\"fa fa-spin fa-spinner fa-lg\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicPasswordModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MnemonicPasswordModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MnemonicPasswordModal.vue?vue&type=template&id=e64b5392&scoped=true&\"\nimport script from \"./MnemonicPasswordModal.vue?vue&type=script&lang=js&\"\nexport * from \"./MnemonicPasswordModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MnemonicPasswordModal.vue?vue&type=style&index=0&id=e64b5392&lang=scss&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 \"e64b5392\",\n null\n \n)\n\nexport default component.exports","export { default } from './MnemonicPasswordModal';\n","module.exports = __webpack_public_path__ + \"img/logo-small.78dde0c6.png\";","import {\n getBufferFromHex,\n getSignTransactionObject,\n sanitizeHex,\n calculateChainIdFromV\n} from './utils';\nimport {\n hashPersonalMessage,\n publicToAddress,\n toBuffer,\n bufferToHex,\n ecsign,\n isValidPrivate,\n isValidPublic,\n privateToPublic\n} from 'ethereumjs-util';\nimport ethTx from 'ethereumjs-tx';\nimport { toChecksumAddress } from '@/helpers/addressUtils';\nclass WalletInterface {\n constructor(key, isPub = false, identifier) {\n this.identifier = identifier;\n if (!isPub) {\n const _privKey = Buffer.isBuffer(key)\n ? key\n : getBufferFromHex(sanitizeHex(key));\n if (!isValidPrivate(_privKey))\n throw new Error(\n 'Private key does not satisfy the curve requirements (ie. it is invalid)'\n );\n this.privateKey = _privKey;\n this.publicKey = privateToPublic(_privKey);\n this.isPubOnly = false;\n } else {\n const _pubKey = Buffer.isBuffer(key) ? key : getBufferFromHex(key);\n if (_pubKey.length !== 20 && !isValidPublic(_pubKey, true))\n throw new Error('Invalid public key');\n if (_pubKey.length === 20) this.isAddress = true;\n this.publicKey = _pubKey;\n this.isPubOnly = true;\n }\n }\n getPrivateKey() {\n if (this.isPubOnly) throw new Error('public key only wallet');\n return this.privateKey;\n }\n\n getPrivateKeyString() {\n if (this.isPubOnly) throw new Error('public key only wallet');\n return bufferToHex(this.getPrivateKey());\n }\n\n getPublicKey() {\n if (this.isAddress) throw new Error('Address only wallet');\n return this.publicKey;\n }\n\n getPublicKeyString() {\n return bufferToHex(this.getPublicKey());\n }\n\n getAddress() {\n if (this.isAddress) return this.publicKey;\n return publicToAddress(this.publicKey, true);\n }\n\n getAddressString() {\n return bufferToHex(this.getAddress());\n }\n\n getChecksumAddressString() {\n return toChecksumAddress(this.getAddressString());\n }\n signTransaction(txParams, signer) {\n if (this.isPubOnly && typeof signer !== 'function')\n throw new Error('public key only wallets needs a signer');\n return new Promise((resolve, reject) => {\n if (!this.isPubOnly) {\n const tx = new ethTx(txParams);\n const networkId = tx._chainId;\n tx.sign(this.privateKey);\n const signedChainId = calculateChainIdFromV(tx.v);\n if (signedChainId !== networkId)\n throw new Error(\n 'Invalid networkId signature returned. Expected: ' +\n networkId +\n ', Got: ' +\n signedChainId,\n 'InvalidNetworkId'\n );\n resolve(getSignTransactionObject(tx));\n } else {\n signer(txParams)\n .then(resolve)\n .catch(reject);\n }\n });\n }\n signMessage(msg, signer) {\n if (this.isPubOnly && typeof signer !== 'function')\n throw new Error('public key only wallets needs a signer');\n return new Promise((resolve, reject) => {\n if (!this.isPubOnly) {\n const msgHash = hashPersonalMessage(toBuffer(msg));\n const signed = ecsign(msgHash, this.privateKey);\n resolve(\n Buffer.concat([\n Buffer.from(signed.r),\n Buffer.from(signed.s),\n Buffer.from([signed.v])\n ])\n );\n } else {\n signer(msg)\n .then(resolve)\n .catch(reject);\n }\n });\n }\n}\nexport default WalletInterface;\n"],"sourceRoot":""}