From: j Date: Fri, 6 Aug 2021 06:07:12 +0000 (+0800) Subject: fix: update 2.0 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3f86478f90564537a1fff1c2b23a69631fd72b33;p=bytom%2FByone.git fix: update 2.0 --- diff --git a/src/assets/language/cn.js b/src/assets/language/cn.js index f9a61ff..47fc931 100644 --- a/src/assets/language/cn.js +++ b/src/assets/language/cn.js @@ -103,6 +103,7 @@ const cn = { listAsset: { all:'全部', fail:'失败', + confirming: '确认中', main:'主链', side:'侧链', }, diff --git a/src/assets/language/en.js b/src/assets/language/en.js index 6496714..271487a 100644 --- a/src/assets/language/en.js +++ b/src/assets/language/en.js @@ -103,6 +103,7 @@ const en = { listAsset: { all:'All', fail:'Failed', + confirming: 'Confirming', main:'Chain', side:'Sidechain', }, diff --git a/src/background.js b/src/background.js index b5eccc5..b7b374b 100644 --- a/src/background.js +++ b/src/background.js @@ -288,11 +288,12 @@ export default class Background { if(!currentAccount){ sendResponse(Error.signatureAccountMissing()) }else{ - const {vpAddress, address} = currentAccount let account = { addresses: [vpAddress, address], - rootXPub: currentAccount.xpub + rootXPub: currentAccount.xpub, + net: bytom.net, + chain: bytom.chain } if(bytom.settings.netType === 'vapor'){ account.address = vpAddress; diff --git a/src/inject.js b/src/inject.js index 4078f54..57e6fce 100644 --- a/src/inject.js +++ b/src/inject.js @@ -44,7 +44,10 @@ class Inject { switch (p.type){ case 'default_account':{ window.bytom.emit(MsgTypes.ACCOUNT_CHANGED, [p.value]) - window.bytom2.setAccount(p.value && p.value.address) + window.bytom2.setAccount(p.value && { + address: p.value.address, + xpub: p.value.rootXPub + }) break } case 'net':{ diff --git a/src/migrations/versions/version.js b/src/migrations/versions/version.js index f90ab87..8edc2f5 100644 --- a/src/migrations/versions/version.js +++ b/src/migrations/versions/version.js @@ -1,2 +1,2 @@ -export * from './3.0.0'; +// export * from './3.0.0'; export * from './3.0.5'; diff --git a/src/models/account.js b/src/models/account.js index 0e488b4..b639f50 100644 --- a/src/models/account.js +++ b/src/models/account.js @@ -19,8 +19,8 @@ let account = { } } -function findOrCreateAccount (pubkey, chain) { - const currentChain = wallet.options.chain +function findOrCreateAccount (pubkey, guid, chain) { + const currentChain = wallet.chain setChain(chain) // return bytom.wallet.list(pubkey).then(async (wallet) =>{ return wallet.getWallets(pubkey).then(async (res) =>{ @@ -31,19 +31,19 @@ function findOrCreateAccount (pubkey, chain) { } } else { // return bytom.accounts.createNewAccount(pubkey, 'byone') - return wallet.createAccount(pubkey, 'byone') + return wallet.createAccount(pubkey, guid) } }).finally(() => { setChain(currentChain) }) } -function createAccount (pubkey, chain) { +function createAccount (pubkey, guid, chain) { // bytom.setupNet(`${net}${chain}`) // return bytom.accounts.createNewAccount(pubkey, 'byone') - const currentChain = wallet.options.chain + const currentChain = wallet.chain setChain(chain) - return wallet.createAccount(pubkey, 'byone').finally(() => { + return wallet.createAccount(pubkey, guid).finally(() => { setChain(currentChain) }) } @@ -92,28 +92,44 @@ account.createAccount = function( context) { const currentAccount = _bytom.currentAccount const keystore = currentAccount.keystore - Promise.all([ - createAccount(keystore.xpub, 'bytom'), - createAccount(keystore.xpub, 'bytom1') - ]).then(async ([bytom2Account, bytom1Account]) => { - let resultObj = Object.assign(currentAccount, bytom2Account) - resultObj.vMnemonic = true; - resultObj.bytom1 = bytom1Account - - const domains = await getDomains(); - _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) - - _bytom.keychain.pairs[_bytom.settings.network][currentAccount.alias] = resultObj - _bytom.currentAccount = resultObj - context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { - resolve(resultObj) - }).catch(e => { throw e }) + createAccount(keystore.xpub, null, 'bytom1').then((bytom1Account) => { + return createAccount(keystore.xpub, bytom1Account.guid, 'bytom').then(async (bytom2Account) => { + let resultObj = Object.assign(currentAccount, bytom2Account) + resultObj.vMnemonic = true; + resultObj.bytom1 = bytom1Account + + const domains = await getDomains(); + _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) + + _bytom.keychain.pairs[_bytom.settings.network][currentAccount.alias] = resultObj + _bytom.currentAccount = resultObj + context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { + resolve(resultObj) + }).catch(e => { throw e }) + }) }) + // Promise.all([ + // createAccount(keystore.xpub, 'bytom1') + // ]).then(async ([bytom2Account, bytom1Account]) => { + // let resultObj = Object.assign(currentAccount, bytom2Account) + // resultObj.vMnemonic = true; + // resultObj.bytom1 = bytom1Account + + // const domains = await getDomains(); + // _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) + + // _bytom.keychain.pairs[_bytom.settings.network][currentAccount.alias] = resultObj + // _bytom.currentAccount = resultObj + // context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { + // resolve(resultObj) + // }).catch(e => { throw e }) + // }) }) return retPromise } account.restoreByMnemonic = function(accountAlias, mnemonic, passwd, context) { + let retPromise = new Promise((resolve, reject) => { const keyAlias = `${accountAlias}-key-${uuid.v4()}` @@ -129,30 +145,29 @@ account.restoreByMnemonic = function(accountAlias, mnemonic, passwd, context) { // const res = bytom.keys.restoreFromMnemonic(keyAlias, passwd, mnemonic) const res = wallet.restoreFromMnemonic(keyAlias, passwd, mnemonic) - - Promise.all([ - findOrCreateAccount(res.xpub, 'bytom'), - findOrCreateAccount(res.xpub, 'bytom1'), - ]).then(async ([bytom2Account, bytom1Account]) => { - const domains = await getDomains(); - _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) - - let resultObj = Object.assign(res, bytom2Account) - resultObj.alias = accountAlias - resultObj.keyAlias = keyAlias - resultObj.vMnemonic = true - resultObj.bytom1 = bytom1Account - - _bytom.keychain.pairs[_bytom.settings.network][accountAlias] = resultObj - _bytom.currentAccount = resultObj - context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { - resolve(bytom2Account) - }) - .catch(error => { - reject(error) + // findOrCreateAccount(res.xpub, null, 'bytom1'), + findOrCreateAccount(res.xpub, null, 'bytom1').then((bytom1Account) => { + findOrCreateAccount(res.xpub, bytom1Account.guid, 'bytom').then(async (bytom2Account) => { + const domains = await getDomains(); + _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) + + let resultObj = Object.assign(res, bytom2Account) + resultObj.alias = accountAlias + resultObj.keyAlias = keyAlias + resultObj.vMnemonic = true + resultObj.bytom1 = bytom1Account + + _bytom.keychain.pairs[_bytom.settings.network][accountAlias] = resultObj + _bytom.currentAccount = resultObj + + context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { + resolve(bytom2Account) + }) + .catch(error => { + reject(error) + }) }) - }) }) return retPromise @@ -173,31 +188,29 @@ account.restoreByKeystore = function(accountAlias, keystore, password, context) // const res = bytom.keys.restoreFromKeystore(password, keystore) const res = wallet.restoreFromKeystore(password, keystore) - - Promise.all([ - findOrCreateAccount(res.xpub, 'bytom'), - findOrCreateAccount(res.xpub, 'bytom1'), - ]).then(async ([bytom2Account, bytom1Account]) => { - const domains = await getDomains(); - _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) - - let resultObj = Object.assign(bytom2Account, {}) - resultObj.alias = accountAlias - resultObj.keyAlias = res.keyAlias - resultObj.vMnemonic = true - resultObj.keystore = keystore - resultObj.xpub = res.xpub - resultObj.bytom1 = bytom1Account - - _bytom.keychain.pairs[_bytom.settings.network][accountAlias] = resultObj - _bytom.currentAccount = resultObj - - context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { - resolve(bytom2Account) - }) - .catch(error => { - reject(error) + findOrCreateAccount(res.xpub, null, 'bytom1').then((bytom1Account) => { + findOrCreateAccount(res.xpub, bytom1Account.guid, 'bytom').then(async (bytom2Account) => { + const domains = await getDomains(); + _bytom.settings.domains = Array.from(new Set(_bytom.settings.domains.concat(domains))) + + let resultObj = Object.assign(bytom2Account, {}) + resultObj.alias = accountAlias + resultObj.keyAlias = res.keyAlias + resultObj.vMnemonic = true + resultObj.keystore = keystore + resultObj.xpub = res.xpub + resultObj.bytom1 = bytom1Account + + _bytom.keychain.pairs[_bytom.settings.network][accountAlias] = resultObj + _bytom.currentAccount = resultObj + + context[Actions.UPDATE_STORED_BYTOM](_bytom).then(() => { + resolve(bytom2Account) }) + .catch(error => { + reject(error) + }) + }) }) }) return retPromise diff --git a/src/models/transaction.js b/src/models/transaction.js index f40ccb8..ecafa83 100644 --- a/src/models/transaction.js +++ b/src/models/transaction.js @@ -8,7 +8,7 @@ let transaction = {}; transaction.list = function(address, asset_id, start, limit, tx_types) { const filter = {asset_id} if(tx_types){ - filter.tx_types = tx_types + filter.tx_type = tx_types[0] } // return bytom.transaction.list(guid, filter, null, start, limit); return wallet.getTransactions({ @@ -313,10 +313,10 @@ function signTx(address, transaction, password, context){ if(!keyArray){ throw 'Account not found.' }else{ - const key = JSON.stringify(keyArray.keystore) + // const key = JSON.stringify(keyArray.keystore) return new Promise((resolve, reject) => { try { - const data = wallet.signTransaction(transaction, password, key) + const data = wallet.signTransaction(transaction, password, keyArray.keystore) resolve(data) } catch(e) { reject(e) diff --git a/src/models/wallet.js b/src/models/wallet.js index 4fc798c..41dfc11 100644 --- a/src/models/wallet.js +++ b/src/models/wallet.js @@ -3,25 +3,16 @@ import bytom from './bytom' import { networks } from '../utils/constants' export const wallet = new Wallet({ - url: { - bytom: networks.testnet, - bytom1: networks.mainnet, - vapor: networks.mainnet - }, + net: 'testnet', chain: 'bytom' }) -export function setNet (net) { - wallet.setOptions({ - url: { - bytom: networks.testnet, - bytom1: networks[net], - vapor: networks[net] - } - }) +export function setNet(net) { + // wallet.setNet(net) } -export function setChain (chain) { - wallet.setOptions({ chain }) +export function setChain(chain) { + wallet.setChain(chain) } +window.wallet = wallet diff --git a/src/views/assetList.vue b/src/views/assetList.vue index 8422e3d..dc5c2b7 100644 --- a/src/views/assetList.vue +++ b/src/views/assetList.vue @@ -114,8 +114,9 @@ font-size: 15px;
{{ $t('listAsset.all') }}
-
{{ $t('common.transfer_in') }}
+
{{ $t('common.transfer_out') }}
+
@@ -133,7 +134,7 @@ font-size: 15px;
{{transaction.direct}}{{transaction.val}} {{currentAsset.asset.symbol}}
- {{ $t('listAsset.fail') }} + {{ $t('listAsset.confirming') }}
{{transaction.submissionTimestamp | moment}} @@ -286,10 +287,13 @@ export default { let type_txs switch (type){ case 'transfer_out': - type_txs = ["transfer_out"]; + type_txs = ["ordinary"]; break; case 'transfer_in': - type_txs = ["transfer_in"]; + type_txs = ["ordinary"]; + break; + case 'vote': + type_txs = ["vote"]; break; default: type_txs = [] @@ -365,14 +369,14 @@ export default { } transaction.address = `${symbol} ${chain}` }else if(transaction.types.includes('vote')){ - const pubKey = transaction.outputs.find( i => i.type ==='vote').vote - const item = this.listVote[pubKey] - transaction.address = item? (((this.language ==='zh' || this.language ==='cn')? (item.name ==='-'? null: item.name):item.nameEn)||address.short(item.pubKey)):'-' + // const pubKey = transaction.outputs.find( i => i.type ==='vote').vote + // const item = this.listVote[pubKey] + // transaction.address = item? (((this.language ==='zh' || this.language ==='cn')? (item.name ==='-'? null: item.name):item.nameEn)||address.short(item.pubKey)):'-' transaction.type = this.$t("common.vote") }else if(transaction.types.includes('veto')){ - const pubKey = transaction.inputs.find( i => i.type ==='veto').vote - const item = this.listVote[pubKey] - transaction.address = item? (((this.language ==='zh' || this.language ==='cn')? (item.name ==='-'? null: item.name):item.nameEn)||address.short(item.pubKey)):'-' + // const pubKey = transaction.inputs.find( i => i.type ==='veto').vote + // const item = this.listVote[pubKey] + // transaction.address = item? (((this.language ==='zh' || this.language ==='cn')? (item.name ==='-'? null: item.name):item.nameEn)||address.short(item.pubKey)):'-' transaction.type = this.$t("common.veto") } transaction.val = val ; diff --git a/src/views/backup/backupMnemonic.vue b/src/views/backup/backupMnemonic.vue index 7d0454d..a0cc1c3 100644 --- a/src/views/backup/backupMnemonic.vue +++ b/src/views/backup/backupMnemonic.vue @@ -45,7 +45,7 @@
- {{ n }} + {{ n }}

{{ $t('backup.mnemonicHint') }}

diff --git a/src/views/home.vue b/src/views/home.vue index c085924..1c22b0c 100644 --- a/src/views/home.vue +++ b/src/views/home.vue @@ -422,6 +422,7 @@ export default { }, watch: { '$route'(to, from) { + this.refreshBalance(this.address) if (to.name.startsWith('menu')) { this.maskShow = true } else if (from.name.startsWith('menu')) {