show all error message
This commit is contained in:
parent
9fd2aa33ed
commit
ef76cc6752
@ -357,7 +357,7 @@ export default {
|
|||||||
if (this.selectedAddress) {
|
if (this.selectedAddress) {
|
||||||
this.$http.getBankBalances(this.selectedAddress).then(res => {
|
this.$http.getBankBalances(this.selectedAddress).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
||||||
this.token = token.denom
|
this.token = token.denom
|
||||||
if (token) this.feeDenom = token.denom
|
if (token) this.feeDenom = token.denom
|
||||||
|
@ -352,7 +352,7 @@ export default {
|
|||||||
})
|
})
|
||||||
this.$http.getBankBalances(this.address).then(res => {
|
this.$http.getBankBalances(this.address).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.$http.getLatestBlock().then(ret => {
|
this.$http.getLatestBlock().then(ret => {
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
>
|
>
|
||||||
<b-form-select
|
<b-form-select
|
||||||
v-model="token"
|
v-model="token"
|
||||||
|
@change="tokenChange"
|
||||||
>
|
>
|
||||||
<b-form-select-option
|
<b-form-select-option
|
||||||
v-for="item in balance"
|
v-for="item in balance"
|
||||||
@ -104,12 +105,12 @@
|
|||||||
rules="required"
|
rules="required"
|
||||||
name="destination"
|
name="destination"
|
||||||
>
|
>
|
||||||
<b-input-group class="mb-25">
|
<v-select
|
||||||
<v-select
|
v-model="destination"
|
||||||
v-model="destination"
|
name="destination"
|
||||||
placeholder="Select a channel"
|
:options="destinationOptions"
|
||||||
/>
|
placeholder="Select a channel"
|
||||||
</b-input-group>
|
/>
|
||||||
<small class="text-danger">{{ errors[0] }}</small>
|
<small class="text-danger">{{ errors[0] }}</small>
|
||||||
</validation-provider>
|
</validation-provider>
|
||||||
</b-form-group>
|
</b-form-group>
|
||||||
@ -131,6 +132,7 @@
|
|||||||
id="Recipient"
|
id="Recipient"
|
||||||
v-model="recipient"
|
v-model="recipient"
|
||||||
:state="errors.length > 0 ? false:null"
|
:state="errors.length > 0 ? false:null"
|
||||||
|
:placeholder="placeholder"
|
||||||
/>
|
/>
|
||||||
</b-input-group>
|
</b-input-group>
|
||||||
<small class="text-danger">{{ errors[0] }}</small>
|
<small class="text-danger">{{ errors[0] }}</small>
|
||||||
@ -282,6 +284,8 @@ import {
|
|||||||
import { Cosmos } from '@cosmostation/cosmosjs'
|
import { Cosmos } from '@cosmostation/cosmosjs'
|
||||||
import vSelect from 'vue-select'
|
import vSelect from 'vue-select'
|
||||||
import ToastificationContent from '@core/components/toastification/ToastificationContent.vue'
|
import ToastificationContent from '@core/components/toastification/ToastificationContent.vue'
|
||||||
|
import { coin } from '@cosmjs/amino'
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TransforDialogue',
|
name: 'TransforDialogue',
|
||||||
@ -335,6 +339,7 @@ export default {
|
|||||||
advance: false,
|
advance: false,
|
||||||
paths: {},
|
paths: {},
|
||||||
destination: {},
|
destination: {},
|
||||||
|
channels: [],
|
||||||
|
|
||||||
required,
|
required,
|
||||||
password,
|
password,
|
||||||
@ -353,11 +358,23 @@ export default {
|
|||||||
feeDenoms() {
|
feeDenoms() {
|
||||||
return this.balance.filter(item => !item.denom.startsWith('ibc'))
|
return this.balance.filter(item => !item.denom.startsWith('ibc'))
|
||||||
},
|
},
|
||||||
|
destinationOptions() {
|
||||||
|
const options = this.channels.map(x => ({ port_id: x.port_id, channel_id: x.channel_id, label: `${x.chain_id ? x.chain_id : ''} ${x.port_id}/${x.channel_id}` }))
|
||||||
|
const query = this.paths[this.token]
|
||||||
|
return query && String(this.token).startsWith('ibc/') ? options.filter(x => x.channel_id === query.channel_id) : options
|
||||||
|
},
|
||||||
|
placeholder() {
|
||||||
|
return 'Input a destination address'
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// console.log('address: ', this.address)
|
// console.log('address: ', this.address)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
tokenChange() {
|
||||||
|
this.destination = null
|
||||||
|
this.recipient = null
|
||||||
|
},
|
||||||
printDenom() {
|
printDenom() {
|
||||||
return formatTokenDenom(this.IBCDenom[this.token] || this.token)
|
return formatTokenDenom(this.IBCDenom[this.token] || this.token)
|
||||||
},
|
},
|
||||||
@ -375,12 +392,13 @@ export default {
|
|||||||
return null
|
return null
|
||||||
},
|
},
|
||||||
loadBalance() {
|
loadBalance() {
|
||||||
|
this.destination = null
|
||||||
this.account = this.computeAccount()
|
this.account = this.computeAccount()
|
||||||
if (this.account && this.account.length > 0) this.address = this.account[0].addr
|
if (this.account && this.account.length > 0) this.address = this.account[0].addr
|
||||||
if (this.address) {
|
if (this.address) {
|
||||||
this.$http.getBankBalances(this.address, this.selectedChain).then(res => {
|
this.$http.getBankBalances(this.address, this.selectedChain).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
this.token = this.balance[0].denom
|
this.token = this.balance[0].denom
|
||||||
this.feeDenom = this.balance.find(x => !x.denom.startsWith('ibc')).denom
|
this.feeDenom = this.balance.find(x => !x.denom.startsWith('ibc')).denom
|
||||||
this.balance.filter(i => i.denom.startsWith('ibc')).forEach(x => {
|
this.balance.filter(i => i.denom.startsWith('ibc')).forEach(x => {
|
||||||
@ -390,8 +408,8 @@ export default {
|
|||||||
// console.log(denom.denom_trace)
|
// console.log(denom.denom_trace)
|
||||||
const path = denom.denom_trace.path.split('/')
|
const path = denom.denom_trace.path.split('/')
|
||||||
this.paths[x.denom] = {
|
this.paths[x.denom] = {
|
||||||
channel: path[1],
|
channel_id: path[1],
|
||||||
port: path[0],
|
port_id: path[0],
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -425,10 +443,13 @@ export default {
|
|||||||
chans.forEach((x, i) => {
|
chans.forEach((x, i) => {
|
||||||
this.$http.getIBCChannelClientState(x.channel_id, x.port_id, this.selectedChain).then(cs => {
|
this.$http.getIBCChannelClientState(x.channel_id, x.port_id, this.selectedChain).then(cs => {
|
||||||
chans[i].chain_id = cs.identified_client_state.client_state.chain_id
|
chans[i].chain_id = cs.identified_client_state.client_state.chain_id
|
||||||
// console.log(i, chans[i])
|
this.$store.commit('setChannels', { chain: this.selectedChain.chain_name, channels: chans })
|
||||||
|
this.$set(this, 'channels', chans)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.channels = channels
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -455,27 +476,25 @@ export default {
|
|||||||
cosmos.getAccounts()
|
cosmos.getAccounts()
|
||||||
},
|
},
|
||||||
async send() {
|
async send() {
|
||||||
|
if (!this.destination) {
|
||||||
|
this.error = 'You have to select a destination'
|
||||||
|
return
|
||||||
|
}
|
||||||
const txMsgs = [
|
const txMsgs = [
|
||||||
{
|
{
|
||||||
typeUrl: '/ibc.applications.transfer.v1.MsgTransfer',
|
typeUrl: '/ibc.applications.transfer.v1.MsgTransfer',
|
||||||
value: {
|
value: {
|
||||||
source_port: this.paths[this.token].port,
|
sourcePort: this.destination.port_id,
|
||||||
source_channel: this.paths[this.token].channel,
|
sourceChannel: this.destination.channel_id,
|
||||||
token: {
|
token: coin(Number(this.amount) * 1000000, this.token),
|
||||||
amount: String((Number(this.amount) * 1000000).toFixed()),
|
|
||||||
denom: this.token,
|
|
||||||
},
|
|
||||||
sender: this.address,
|
sender: this.address,
|
||||||
receiver: this.recipient,
|
receiver: this.recipient,
|
||||||
// timeout_height: this.timeoutHeight ? { revision_height: '', revision_number: '' } : {},
|
timeoutHeight: { revisionHeight: '1000', revisionNumber: '1000' },
|
||||||
// timeout_timestamp: null,
|
timeoutTimestamp: String(dayjs().add(5, 'm') * 1000),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
// console.log(txMsgs)
|
|
||||||
if (this.token) return
|
|
||||||
|
|
||||||
const txFee = {
|
const txFee = {
|
||||||
amount: [
|
amount: [
|
||||||
{
|
{
|
||||||
@ -492,6 +511,8 @@ export default {
|
|||||||
chainId: this.chainId,
|
chainId: this.chainId,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(txMsgs, txFee, signerData)
|
||||||
|
|
||||||
sign(
|
sign(
|
||||||
this.wallet,
|
this.wallet,
|
||||||
this.chainId,
|
this.chainId,
|
||||||
|
@ -354,7 +354,7 @@ export default {
|
|||||||
if (this.address) {
|
if (this.address) {
|
||||||
this.$http.getBankBalances(this.address, this.selectedChain).then(res => {
|
this.$http.getBankBalances(this.address, this.selectedChain).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
this.token = this.balance[0].denom
|
this.token = this.balance[0].denom
|
||||||
this.feeDenom = this.balance.find(x => !x.denom.startsWith('ibc')).denom
|
this.feeDenom = this.balance.find(x => !x.denom.startsWith('ibc')).denom
|
||||||
this.balance.filter(i => i.denom.startsWith('ibc')).forEach(x => {
|
this.balance.filter(i => i.denom.startsWith('ibc')).forEach(x => {
|
||||||
|
@ -331,7 +331,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$http.getBankBalances(this.address).then(res => {
|
this.$http.getBankBalances(this.address).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.$http.getLatestBlock().then(ret => {
|
this.$http.getLatestBlock().then(ret => {
|
||||||
|
@ -315,7 +315,7 @@ export default {
|
|||||||
if (this.voter) {
|
if (this.voter) {
|
||||||
this.$http.getBankBalances(this.voter).then(res => {
|
this.$http.getBankBalances(this.voter).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
||||||
if (token) this.feeDenom = token.denom
|
if (token) this.feeDenom = token.denom
|
||||||
}
|
}
|
||||||
|
@ -246,7 +246,7 @@ export default {
|
|||||||
loadBalance() {
|
loadBalance() {
|
||||||
this.$http.getBankBalances(this.address).then(res => {
|
this.$http.getBankBalances(this.address).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
||||||
if (token) this.feeDenom = token.denom
|
if (token) this.feeDenom = token.denom
|
||||||
}
|
}
|
||||||
|
@ -267,7 +267,7 @@ export default {
|
|||||||
if (this.address) {
|
if (this.address) {
|
||||||
this.$http.getBankBalances(this.address).then(res => {
|
this.$http.getBankBalances(this.address).then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
this.balance = res
|
this.balance = res.reverse()
|
||||||
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
const token = this.balance.find(i => !i.denom.startsWith('ibc'))
|
||||||
if (token) this.feeDenom = token.denom
|
if (token) this.feeDenom = token.denom
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<b-tr>
|
<b-tr>
|
||||||
<b-td>
|
<b-td>
|
||||||
{{ 'status' }}
|
{{ 'status' }}
|
||||||
</b-td><b-td> <b-badge
|
</b-td><b-td class="text-wrap"> <b-badge
|
||||||
v-if="tx.code===0"
|
v-if="tx.code===0"
|
||||||
variant="light-success"
|
variant="light-success"
|
||||||
>
|
>
|
||||||
|
@ -175,11 +175,16 @@
|
|||||||
|
|
||||||
<b-card
|
<b-card
|
||||||
v-if="account"
|
v-if="account"
|
||||||
:title="accountTitle"
|
title="Profile"
|
||||||
class="text-trancate"
|
class="text-trancate"
|
||||||
>
|
>
|
||||||
<b-table-simple stacked="sm">
|
<b-table-simple stacked="sm">
|
||||||
<b-tbody v-if="account.type === 'cosmos-sdk/BaseAccount'">
|
<b-tbody v-if="account.type === 'cosmos-sdk/BaseAccount'">
|
||||||
|
<b-tr>
|
||||||
|
<b-td>
|
||||||
|
Account Type
|
||||||
|
</b-td><b-td> {{ account.type }} </b-td>
|
||||||
|
</b-tr>
|
||||||
<b-tr>
|
<b-tr>
|
||||||
<b-td class="max-width:100px;">
|
<b-td class="max-width:100px;">
|
||||||
Account Number
|
Account Number
|
||||||
@ -192,7 +197,12 @@
|
|||||||
<b-td> Public Key </b-td><b-td> <object-field-component :tablefield="account.value.public_key" /> </b-td>
|
<b-td> Public Key </b-td><b-td> <object-field-component :tablefield="account.value.public_key" /> </b-td>
|
||||||
</b-tr>
|
</b-tr>
|
||||||
</b-tbody>
|
</b-tbody>
|
||||||
<b-tbody v-if="account.type === 'cosmos-sdk/PeriodicVestingAccount'">
|
<b-tbody v-else-if="account.type === 'cosmos-sdk/PeriodicVestingAccount'">
|
||||||
|
<b-tr>
|
||||||
|
<b-td>
|
||||||
|
Account Type
|
||||||
|
</b-td><b-td> {{ account.type }} </b-td>
|
||||||
|
</b-tr>
|
||||||
<b-tr>
|
<b-tr>
|
||||||
<b-td class="max-width:100px;">
|
<b-td class="max-width:100px;">
|
||||||
Account Number
|
Account Number
|
||||||
@ -231,7 +241,12 @@
|
|||||||
</b-td>
|
</b-td>
|
||||||
</b-tr>
|
</b-tr>
|
||||||
</b-tbody>
|
</b-tbody>
|
||||||
<b-tbody v-if="account.type === 'cosmos-sdk/DelayedVestingAccount'">
|
<b-tbody v-else-if="account.type === 'cosmos-sdk/DelayedVestingAccount'">
|
||||||
|
<b-tr>
|
||||||
|
<b-td>
|
||||||
|
Account Type
|
||||||
|
</b-td><b-td> {{ account.type }} </b-td>
|
||||||
|
</b-tr>
|
||||||
<b-tr>
|
<b-tr>
|
||||||
<b-td style="max-width:100px;">
|
<b-td style="max-width:100px;">
|
||||||
Account Number
|
Account Number
|
||||||
|
Loading…
Reference in New Issue
Block a user