import TokenUtil from './TokenUtil.js' let fullWallet = { "BTC": [{ balance: 0, name: "BTC", coinList: [{ name: "BTC", xname: 'Bitcoin', balance: 0, icon: require('@/static/tongyonh/bye.png') }] }], "ETH": [{ balance: 0, name: "ETH", coinList: [{ name: "ETH", xname: 'Ethereum', balance: 0, icon: require('@/static/tongyonh/Frame3299.png') }, { name: "USDT", xname: 'Tether USD', balance: 0, contractAddress: '0xdac17f958d2ee523a2206206994597c13d831ec7', icon: require('@/static/tongyonh/img500.png') } ] }], "TRON": [{ balance: 0, name: "TRON", coinList: [{ name: "TRX", xname: 'TRON', balance: 0, icon: require('@/static/tongyonh/tron1.png') }, { name: "TRC20-USDT", xname: 'Tether USD', balance: 0, contractAddress: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t', icon: require('@/static/tongyonh/tether_usd.png') } ] }] } let WalletUtil = { //初次创建钱包 initialWallet: function(mnemonic, password) { let walletInfo = fullWallet; let btc = TokenUtil.generateBtc(mnemonic); walletInfo.BTC[0].password = password; walletInfo.BTC[0].mnemonic = mnemonic; walletInfo.BTC[0].privateKey = btc.privateKey; walletInfo.BTC[0].address = btc.address; let eth = TokenUtil.generateEth(mnemonic) walletInfo.ETH[0].password = password; walletInfo.ETH[0].mnemonic = mnemonic; walletInfo.ETH[0].privateKey = eth.privateKey; walletInfo.ETH[0].address = eth.mnemonic; let tron = TokenUtil.generateTron(mnemonic); walletInfo.TRON[0].mnemonic = mnemonic; walletInfo.TRON[0].password = password; walletInfo.TRON[0].privateKey = tron.privateKey; walletInfo.TRON[0].address = tron.mnemonic; let wallet = walletInfo.BTC[0]; uni.setStorageSync('walletInfo', walletInfo); uni.setStorageSync('wallet', wallet); }, //修改钱包名称 updateWalletName: function(type, address, name) { let walletInfo = uni.getStorageSync('walletInfo'); for (var k = 0, length = walletInfo.length; k < length; k++) { if (walletInfo[k].address === address) { walletInfo[k].name = name break; } } uni.setStorageSync('walletInfo', walletInfo); }, mnemonicEstablishWallet: function(type, mnemonic, password) { let walletInfo = uni.getStorageSync('walletInfo'); let wallet; switch (type) { case 'BTC': wallet = TokenUtil.generateBtc(mnemonic); break; case 'ETH': wallet = TokenUtil.generateTron(mnemonic); break; case 'TRON': wallet = TokenUtil.generateEth(mnemonic); break; } let walletInfo=walletInfo[type]; walletInfo.password = password; walletInfo.privateKey = wallet.privateKey; walletInfo.mnemonic = mnemonic; walletInfo.address = wallet.address; walletInfo.push(walletInfo); uni.setStorageSync('walletInfo', walletInfo); uni.setStorageSync('wallet', walletInfo); }, privateKeyEstablishWallet: function(type, privateKey, password) { let walletInfo = uni.getStorageSync('walletInfo'); let wallet; switch (type) { case 'BTC': wallet = TokenUtil.importBtcPrivateKey(privateKey); break; case 'ETH': wallet = TokenUtil.importEthPrivateKey(privateKey); break; case 'TRON': wallet = TokenUtil.importTronPrivateKey(privateKey); break; } let walletInfo=walletInfo[type]; walletInfo.password = password; walletInfo.privateKey = wallet.privateKey; walletInfo.address = wallet.address; walletInfo.push(walletInfo); uni.setStorageSync('walletInfo', walletInfo); uni.setStorageSync('wallet', walletInfo); } } export default WalletUtil