From 7469cd117871a46a075802d004b7eba239a010e3 Mon Sep 17 00:00:00 2001 From: liangping <18786721@qq.com> Date: Wed, 6 Apr 2022 19:03:25 +0800 Subject: [PATCH] add valuation --- src/libs/utils.js | 2 +- .../OperationModal/components/IBCTransfer.vue | 19 +++++++++++++-- .../OperationModal/components/Transfer.vue | 24 +++++++++++++++---- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/libs/utils.js b/src/libs/utils.js index 1f2b6b6b..a0c16bc5 100644 --- a/src/libs/utils.js +++ b/src/libs/utils.js @@ -380,7 +380,7 @@ export function formatTokenAmount(tokenAmount, decimals = 2, tokenDenom = 'uatom if (format) { return numberWithCommas(parseFloat(amount.toFixed(decimals))) } return parseFloat(amount.toFixed(decimals)) } - return parseFloat(amount.toFixed(decimals)) + return parseFloat(amount.toFixed(exp)) } export function isTestnet() { diff --git a/src/views/components/OperationModal/components/IBCTransfer.vue b/src/views/components/OperationModal/components/IBCTransfer.vue index 5adb7c5c..ccb29795 100644 --- a/src/views/components/OperationModal/components/IBCTransfer.vue +++ b/src/views/components/OperationModal/components/IBCTransfer.vue @@ -75,6 +75,9 @@ {{ errors[0] }} + + ≈ {{ currencySign }}{{ valuation }} + @@ -138,7 +141,7 @@ import { required, email, url, between, alpha, integer, password, min, digits, alphaDash, length, } from '@validations' import { - formatToken, formatTokenDenom, getUnitAmount, + formatToken, formatTokenDenom, getUnitAmount, getUserCurrency, getUserCurrencySign, } from '@/libs/utils' import vSelect from 'vue-select' import { coin } from '@cosmjs/amino' @@ -171,6 +174,8 @@ export default { }, data() { return { + currency: getUserCurrency(), + currencySign: getUserCurrencySign(), targetChainId: '', token: '', amount: null, @@ -230,6 +235,16 @@ export default { paths() { return this.$store.state.chains.ibcPaths }, + valuation() { + const { amount } = this + const d2 = this.printDenom() + if (amount && d2) { + const quote = this.$store.state.chains.quotes[d2] + const price = quote ? quote[this.currency] : 0 + return parseFloat((amount * price).toFixed(2)) + } + return 0 + }, }, mounted() { this.$emit('update', { @@ -274,7 +289,7 @@ export default { }, format(v) { - return formatToken(v, this.IBCDenom) + return formatToken(v, this.IBCDenom, 6) }, printDenom() { return formatTokenDenom(this.IBCDenom[this.token] || this.token) diff --git a/src/views/components/OperationModal/components/Transfer.vue b/src/views/components/OperationModal/components/Transfer.vue index cc32695a..37e6fddf 100644 --- a/src/views/components/OperationModal/components/Transfer.vue +++ b/src/views/components/OperationModal/components/Transfer.vue @@ -92,6 +92,9 @@ {{ errors[0] }} + + ≈ {{ currencySign }}{{ valuation }} + @@ -101,13 +104,14 @@