UNPKG

@funded-labs/plug-controller

Version:

Internet Computer Plug wallet's controller

18 lines (17 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const uuid_1 = require("uuid"); exports.default = (storage) => { const walletIds = storage.wallets.map(() => (0, uuid_1.v4)()); const networkModule = storage.networkModuleBis || storage.networkModule; const networks = networkModule && networkModule.networks; const editedNetworks = ((networks && Object.values(networks)) || []).map((network) => (Object.assign(Object.assign({}, network), { registeredTokens: network.registeredTokens.map((token) => { const registeredBy = token.registeredBy.map((walletNumber) => walletIds[walletNumber]); return (Object.assign(Object.assign({}, token), { registeredBy })); }) }))); const finalNetwork = editedNetworks.reduce((accum, network) => (Object.assign(Object.assign({}, accum), { [network.id]: network })), {}); return Object.assign(Object.assign(Object.assign({}, storage), { wallets: storage.wallets.reduce((walletsAccum, wallet, index) => { const walletId = walletIds[index]; return (Object.assign(Object.assign({}, walletsAccum), { [walletId]: Object.assign(Object.assign({}, wallet), { walletId, orderNumber: index }) })); }, {}), walletIds, mnemonicWalletCount: walletIds.length, currentWalletId: walletIds[0] }), (networks && { networkModule: Object.assign(Object.assign({}, storage.networkModule), { networks: finalNetwork }) })); };