OSDN Git Service

update the available balances and the asset list
authorZhiting Lin <zlin035@uottawa.ca>
Tue, 26 May 2020 07:43:13 +0000 (15:43 +0800)
committerZhiting Lin <zlin035@uottawa.ca>
Tue, 26 May 2020 07:43:13 +0000 (15:43 +0800)
src/dapp.js
src/models/account.js
src/utils/Number.js
src/views/assetList.vue
src/views/home.vue

index 4e2ee79..0a0a8f5 100644 (file)
@@ -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
index 6819fb8..ce32a98 100644 (file)
@@ -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
           })
       })
index 301e60f..e69ea1d 100644 (file)
@@ -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);
   }
index 0099f29..5446c02 100644 (file)
             </div>
             <div class="topbar-middle">
               <div v-if="currentAsset!=undefined" class="amount color-white">
-                <div v-if="currentAsset.symbol!=='Asset'">
+                <div v-if="currentAsset.asset.symbol!=='Asset'">
                   <div class="symbol">
-                    {{currentAsset.symbol}}
+                    {{currentAsset.asset.symbol}}
                   </div>
 
-                  <div class="alias color-grey">{{currentAsset.name}}</div>
+                  <div class="alias color-grey">{{currentAsset.asset.name}}</div>
                 </div>
                 <div v-else>
                   <div class="symbol">
                     Asset
                   </div>
 
-                  <div class="alias color-grey">{{shortAddress(currentAsset.asset)}}</div>
+                  <div class="alias color-grey">{{shortAddress(currentAsset.asset.asset)}}</div>
                 </div>
               </div>
             </div>
@@ -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);
index 5f139ee..55e5847 100644 (file)
@@ -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() {