bitcooo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

135 lines
3.6 KiB

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')
}
]
}],
"TRX": [{
balance: 0,
name: "TRX",
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.address;
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.address;
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 walletdec;
switch (type) {
case 'BTC':
walletdec = TokenUtil.generateBtc(mnemonic);
break;
case 'ETH':
walletdec = TokenUtil.generateTron(mnemonic);
break;
case 'TRX':
walletdec = TokenUtil.generateEth(mnemonic);
break;
}
let wallet=fullWallet[type][0];
wallet.password = password;
wallet.privateKey = walletdec.privateKey;
wallet.mnemonic = mnemonic;
wallet.address = walletdec.address;
console.log(wallet)
walletInfo[type].push(wallet);
console.log(walletInfo,1111111)
uni.setStorageSync('walletInfo', walletInfo);
uni.setStorageSync('wallet', wallet);
},
privateKeyEstablishWallet: function(type, privateKey, password) {
let walletInfo = uni.getStorageSync('walletInfo');
console.log(type)
let walletdec;
switch (type) {
case 'BTC':
walletdec = TokenUtil.importBtcPrivateKey(privateKey);
break;
case 'ETH':
walletdec = TokenUtil.importEthPrivateKey(privateKey);
break;
case 'TRX':
walletdec = TokenUtil.importTronPrivateKey(privateKey);
break;
}
let wallet=fullWallet[type][0];
wallet.password = password;
wallet.privateKey = walletdec.privateKey;
wallet.address = walletdec.address;
walletInfo.push(wallet);
uni.setStorageSync('walletInfo', walletInfo);
uni.setStorageSync('wallet', wallet);
}
}
export default WalletUtil