From: Zhiting Lin Date: Tue, 26 May 2020 07:43:13 +0000 (+0800) Subject: update the available balances and the asset list X-Git-Tag: 2.2.1~8 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=33d7da7773a1645a9bec39fc797b6d2f55901ef2;p=bytom%2FByone.git update the available balances and the asset list --- diff --git a/src/dapp.js b/src/dapp.js index 4e2ee79..0a0a8f5 100644 --- a/src/dapp.js +++ b/src/dapp.js @@ -60,6 +60,7 @@ export default class Bytomdapp { // currentVersion = parseFloat(_options.version) stream = _stream resolvers = [] + this.version = '2.0.0' //v1.4.0 this.defaultAccount = _options.defaultAccount diff --git a/src/models/account.js b/src/models/account.js index 6819fb8..ce32a98 100644 --- a/src/models/account.js +++ b/src/models/account.js @@ -1,5 +1,6 @@ import bytom from './bytom' import uuid from 'uuid' +import address from "../utils/address"; let account = { @@ -62,42 +63,12 @@ account.balance = function(guid) { let retPromise = new Promise((resolve, reject) => { bytom.accounts .listAddressUseServer(guid) - .then(addresses => { - let balances = [] - let votes = [] - addresses.forEach(address => { - if (address.balances != null) { - balances = balances.concat(address.balances) - } - if (address.votes != null) { - votes = votes.concat(address.votes) - } - }) - let obj = {}; - - balances.forEach(function (balance) { - if(obj.hasOwnProperty(balance.asset)) { - obj[balance.asset].balance = Number(obj[balance.asset].balance) + Number(balance.balance); - } else { - balance.balance = Number(balance.balance) - obj[balance.asset] = balance; - delete obj[balance.asset]['total_received'] - delete obj[balance.asset]['total_sent'] - // delete obj[balance.asset]['in_btc'] - // delete obj[balance.asset]['in_cny'] - // delete obj[balance.asset]['in_usd'] - } - }); - - - let res = []; - - for(let prop in obj) { - res.unshift(obj[prop]); - } + .then(address => { + let balances = address.balances || [] + let votes = address.votes || [] resolve({ - balances:res, + balances, votes }) }) diff --git a/src/utils/Number.js b/src/utils/Number.js index 301e60f..e69ea1d 100644 --- a/src/utils/Number.js +++ b/src/utils/Number.js @@ -10,9 +10,8 @@ export class Number { if(!exp){ exp = dec } - let base = new BigNumber(10).exponentiatedBy(exp) - let result = n.dividedBy(base) + let result = n return result.toFormat(dec); } diff --git a/src/views/assetList.vue b/src/views/assetList.vue index 0099f29..5446c02 100644 --- a/src/views/assetList.vue +++ b/src/views/assetList.vue @@ -85,19 +85,19 @@
-
+
- {{currentAsset.symbol}} + {{currentAsset.asset.symbol}}
-
{{currentAsset.name}}
+
{{currentAsset.asset.name}}
Asset
-
{{shortAddress(currentAsset.asset)}}
+
{{shortAddress(currentAsset.asset.asset)}}
@@ -202,6 +202,13 @@ export default { }, }, computed: { + address: function(){ + if(this.netType === 'vapor'){ + return this.currentAccount.vpAddress + }else{ + return this.currentAccount.address + } + }, ...mapState([ 'bytom', 'currentAsset', @@ -225,9 +232,9 @@ export default { }, itemBalance: function(asset){ if(asset.asset === BTM){ - return Num.formatNue(asset.balance,8) + return Num.formatNue(asset.available_balance,8) }else{ - return Num.formatNue(asset.balance,asset.decimals) + return Num.formatNue(asset.available_balance,asset.decimals) } }, @@ -251,8 +258,8 @@ export default { }, refreshTransactions: function (start, limit) { return new Promise((resolve, reject) => { - transaction.list(this.currentAccount.guid, this.currentAsset.asset, start, limit).then(transactions => { - if (transactions == null) { + transaction.list(this.address, this.currentAsset.asset.asset_id, start, limit).then(transactions => { + if (transactions == null) { return; } @@ -266,11 +273,11 @@ export default { }, transactionsFormat: function (transactions) { const formattedTransactions = [] - const assetID = this.currentAsset.asset + const assetID = this.currentAsset.asset.asset_id transactions.forEach(transaction => { const balanceObject = transaction.balances - .filter(b => b.asset === assetID); + .filter(b => b.asset.asset_id === assetID); const filterInput = _.find(transaction.inputs, function(o) { return o.type =='veto'; }) const filterOutput = _.find(transaction.outputs, function(o) { return o.type =='vote'; }) @@ -296,11 +303,11 @@ export default { if(balanceObject.length ===1 ){ const inputAddresses = transaction.inputs - .filter(input => input.asset === assetID && input.address !== this.currentAccount.address) + .filter(input => input.asset.asset_id === assetID && input.address !== this.currentAccount.address) .map(input => input.address) const outputAddresses = transaction.outputs - .filter(output => output.asset === assetID && output.address !== this.currentAccount.address) + .filter(output => output.asset.asset_id === assetID && output.address !== this.currentAccount.address) .map(output => output.address) let val = Math.abs(balanceObject[0].amount) @@ -315,7 +322,7 @@ export default { transaction.address = (resultAddr && resultAddr.includes(' '))?resultAddr:address.short(resultAddr); } - transaction.val = Num.formatNue(val, this.currentAsset.decimals) ; + transaction.val = val ; transaction.fee = transaction.fee / 100000000; formattedTransactions.push(transaction); diff --git a/src/views/home.vue b/src/views/home.vue index 5f139ee..55e5847 100644 --- a/src/views/home.vue +++ b/src/views/home.vue @@ -391,9 +391,9 @@ export default { itemBalance: function(assetObj){ const asset = assetObj.asset if(asset.asset_id === BTM){ - return Num.formatNue(assetObj.balance,8) + return Num.formatNue(assetObj.available_balance,8) }else{ - return assetObj.balance + return assetObj.available_balance } }, setupRefreshTimer() {