add v0.46.0 compatible
This commit is contained in:
parent
bc25fce1cc
commit
b0492e7260
@ -60,19 +60,19 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getLatestBlock(config = null) {
|
async getLatestBlock(config = null) {
|
||||||
const conf = config || this.getSelectedConfig()
|
// const conf = config || this.getSelectedConfig()
|
||||||
if (conf.chain_name === 'injective') {
|
// if (conf.chain_name === 'injective') {
|
||||||
return ChainFetch.fetch('https://tm.injective.network', '/block').then(data => Block.create(commonProcess(data)))
|
// return ChainFetch.fetch('https://tm.injective.network', '/cosmos/base/tendermint/v1beta1/block').then(data => Block.create(commonProcess(data)))
|
||||||
}
|
// }
|
||||||
return this.get(`/blocks/latest?${new Date().getTime()}`, config).then(data => Block.create(data))
|
return this.get('/cosmos/base/tendermint/v1beta1/blocks/latest', config).then(data => Block.create(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getBlockByHeight(height, config = null) {
|
async getBlockByHeight(height, config = null) {
|
||||||
const conf = config || this.getSelectedConfig()
|
// const conf = config || this.getSelectedConfig()
|
||||||
if (conf.chain_name === 'injective') {
|
// if (conf.chain_name === 'injective') {
|
||||||
return ChainFetch.fetch('https://tm.injective.network', `/block?height=${height}`).then(data => Block.create(commonProcess(data)))
|
// return ChainFetch.fetch('https://tm.injective.network', `/cosmos/base/tendermint/v1beta1/block?height=${height}`).then(data => Block.create(commonProcess(data)))
|
||||||
}
|
// }
|
||||||
return this.get(`/blocks/${height}`, config).then(data => Block.create(data))
|
return this.get(`/cosmos/base/tendermint/v1beta1/blocks/${height}`, config).then(data => Block.create(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getSlashingSigningInfo(config = null) {
|
async getSlashingSigningInfo(config = null) {
|
||||||
@ -94,7 +94,7 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getTxsByRecipient(recipient) {
|
async getTxsByRecipient(recipient) {
|
||||||
return this.get(`/txs?message.recipient=${recipient}`)
|
return this.get(`/cosmos/tx/v1beta1/txs?message.recipient=${recipient}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
async getTxsByHeight(height) {
|
async getTxsByHeight(height) {
|
||||||
@ -102,23 +102,33 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getValidatorDistribution(address) {
|
async getValidatorDistribution(address) {
|
||||||
return this.get(`/distribution/validators/${address}`).then(data => {
|
// return this.get(`/distribution/validators/${address}`).then(data => {
|
||||||
const ret = ValidatorDistribution.create(commonProcess(data))
|
return Promise.all([
|
||||||
ret.versionFixed(this.config.sdk_version)
|
this.get(`/cosmos/distribution/v1beta1/validators/${address}/commission`),
|
||||||
|
this.get(`/cosmos/distribution/v1beta1/validators/${address}/outstanding_rewards`),
|
||||||
|
]).then(data => {
|
||||||
|
const ret = ValidatorDistribution.create({
|
||||||
|
operator_address: address,
|
||||||
|
self_bond_rewards: data[1].rewards.rewards,
|
||||||
|
val_commission: data[0].commission.commission,
|
||||||
|
})
|
||||||
return ret
|
return ret
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getStakingDelegatorDelegation(delegatorAddr, validatorAddr) {
|
async getStakingDelegatorDelegation(delegatorAddr, validatorAddr) {
|
||||||
return this.get(`/staking/delegators/${delegatorAddr}/delegations/${validatorAddr}`).then(data => StakingDelegation.create(commonProcess(data)))
|
return this.get(`/cosmos/staking/v1beta1/validators/${validatorAddr}/delegations/${delegatorAddr}`).then(data => StakingDelegation.create(commonProcess(data).delegation_response))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getBankTotal(denom) {
|
async getBankTotal(denom) {
|
||||||
if (compareVersions(this.config.sdk_version, '0.40') < 0) {
|
if (compareVersions(this.config.sdk_version, '0.40') < 0) {
|
||||||
return this.get(`/supply/total/${denom}`).then(data => ({ amount: commonProcess(data), denom }))
|
return this.get(`/supply/total/${denom}`).then(data => ({ amount: commonProcess(data), denom }))
|
||||||
}
|
}
|
||||||
|
if (compareVersions(this.config.sdk_version, '0.46') < 0) {
|
||||||
return this.get(`/bank/total/${denom}`).then(data => commonProcess(data))
|
return this.get(`/bank/total/${denom}`).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
return this.get(`/cosmos/bank/v1beta1/supply/${denom}`).then(data => commonProcess(data))
|
||||||
|
}
|
||||||
|
|
||||||
async getBankTotals() {
|
async getBankTotals() {
|
||||||
if (compareVersions(this.config.sdk_version, '0.40') < 0) {
|
if (compareVersions(this.config.sdk_version, '0.40') < 0) {
|
||||||
@ -128,7 +138,7 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getStakingPool() {
|
async getStakingPool() {
|
||||||
return this.get('/staking/pool').then(data => new StakingPool().init(commonProcess(data)))
|
return this.get('/cosmos/staking/v1beta1/pool').then(data => new StakingPool().init(commonProcess(data.pool)))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getMintingInflation() {
|
async getMintingInflation() {
|
||||||
@ -139,29 +149,29 @@ export default class ChainFetch {
|
|||||||
return this.get('/echelon/inflation/v1/inflation_rate').then(data => Number(data.inflation_rate / 100 || 0))
|
return this.get('/echelon/inflation/v1/inflation_rate').then(data => Number(data.inflation_rate / 100 || 0))
|
||||||
}
|
}
|
||||||
if (this.isModuleLoaded('minting')) {
|
if (this.isModuleLoaded('minting')) {
|
||||||
return this.get('/minting/inflation').then(data => Number(commonProcess(data)))
|
return this.get('/cosmos/mint/v1beta1/inflation').then(data => Number(commonProcess(data.inflation)))
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
async getStakingParameters() {
|
async getStakingParameters() {
|
||||||
return this.get('/staking/parameters').then(data => {
|
return this.get('/cosmos/staking/v1beta1/params').then(data => {
|
||||||
this.getSelectedConfig()
|
this.getSelectedConfig()
|
||||||
return StakingParameters.create(commonProcess(data), this.config.chain_name)
|
return StakingParameters.create(commonProcess(data.params), this.config.chain_name)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getValidatorList(config = null) {
|
async getValidatorList(config = null) {
|
||||||
return this.get('/staking/validators', config).then(data => {
|
return this.get('/cosmos/staking/v1beta1/validators?pagination.limit=200&status=BOND_STATUS_BONDED', config).then(data => {
|
||||||
const vals = commonProcess(data).map(i => new Validator().init(i))
|
const vals = commonProcess(data.validators).map(i => new Validator().init(i))
|
||||||
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
|
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
|
||||||
return vals
|
return vals
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getValidatorUnbondedList() {
|
async getValidatorUnbondedList() {
|
||||||
return this.get('/cosmos/staking/v1beta1/validators?status=BOND_STATUS_UNBONDED').then(data => {
|
return this.get('/cosmos/staking/v1beta1/validators?pagination.limit&status=BOND_STATUS_UNBONDED').then(data => {
|
||||||
const result = commonProcess(data)
|
const result = commonProcess(data.validators)
|
||||||
const vals = result.validators ? result.validators : result
|
const vals = result.validators ? result.validators : result
|
||||||
return vals.map(i => new Validator().init(i))
|
return vals.map(i => new Validator().init(i))
|
||||||
})
|
})
|
||||||
@ -180,12 +190,12 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getStakingValidator(address) {
|
async getStakingValidator(address) {
|
||||||
return this.get(`/staking/validators/${address}`).then(data => new Validator().init(commonProcess(data)))
|
return this.get(`/cosmos/staking/v1beta1/validators/${address}`).then(data => new Validator().init(commonProcess(data).validator))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getSlashingParameters() {
|
async getSlashingParameters() {
|
||||||
if (this.isModuleLoaded('slashing')) {
|
if (this.isModuleLoaded('slashing')) {
|
||||||
return this.get('/slashing/parameters').then(data => commonProcess(data))
|
return this.get('/cosmos/slashing/v1beta1/params').then(data => commonProcess(data.params))
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
@ -228,33 +238,33 @@ export default class ChainFetch {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
if (this.isModuleLoaded('minting')) {
|
if (this.isModuleLoaded('minting')) {
|
||||||
return this.get('/minting/parameters').then(data => commonProcess(data))
|
return this.get('/cosmos/mint/v1beta1/params').then(data => commonProcess(data.params))
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
async getDistributionParameters() {
|
async getDistributionParameters() {
|
||||||
return this.get('/distribution/parameters').then(data => commonProcess(data))
|
return this.get('/cosmos/distribution/v1beta1/params').then(data => commonProcess(data.params))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getGovernanceParameterDeposit() {
|
async getGovernanceParameterDeposit() {
|
||||||
return this.get('/gov/parameters/deposit').then(data => commonProcess(data))
|
return this.get('/cosmos/gov/v1beta1/params/deposit').then(data => commonProcess(data.deposit_params))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getGovernanceParameterTallying() {
|
async getGovernanceParameterTallying() {
|
||||||
return this.get('/gov/parameters/tallying').then(data => commonProcess(data))
|
return this.get('/cosmos/gov/v1beta1/params/tallying').then(data => commonProcess(data.tally_params))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getGovernanceParameterVoting() {
|
async getGovernanceParameterVoting() {
|
||||||
return this.get('/gov/parameters/voting').then(data => commonProcess(data))
|
return this.get('/cosmos/gov/v1beta1/params/voting').then(data => commonProcess(data.voting_params))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getGovernanceTally(pid, total, conf) {
|
async getGovernanceTally(pid, total, conf) {
|
||||||
return this.get(`/gov/proposals/${pid}/tally`, conf).then(data => new ProposalTally().init(commonProcess(data), total))
|
return this.get(`/cosmos/gov/v1beta1/proposals/${pid}/tally`, conf).then(data => new ProposalTally().init(commonProcess(data), total))
|
||||||
}
|
}
|
||||||
|
|
||||||
getGovernance(pid) {
|
getGovernance(pid) {
|
||||||
return this.get(`/gov/proposals/${pid}`).then(data => {
|
return this.get(`/cosmos/gov/v1beta1/proposals/${pid}`).then(data => {
|
||||||
const p = new Proposal().init(commonProcess(data), 0)
|
const p = new Proposal().init(commonProcess(data), 0)
|
||||||
p.versionFixed(this.config.sdk_version)
|
p.versionFixed(this.config.sdk_version)
|
||||||
return p
|
return p
|
||||||
@ -275,7 +285,7 @@ export default class ChainFetch {
|
|||||||
return Array.isArray(result) ? result.reverse().map(d => new Deposit().init(d)) : result
|
return Array.isArray(result) ? result.reverse().map(d => new Deposit().init(d)) : result
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return this.get(`/gov/proposals/${pid}/deposits`).then(data => {
|
return this.get(`/cosmos/gov/v1beta1/proposals/${pid}/deposits`).then(data => {
|
||||||
const result = commonProcess(data)
|
const result = commonProcess(data)
|
||||||
return Array.isArray(result) ? result.reverse().map(d => new Deposit().init(d)) : result
|
return Array.isArray(result) ? result.reverse().map(d => new Deposit().init(d)) : result
|
||||||
})
|
})
|
||||||
@ -283,7 +293,7 @@ export default class ChainFetch {
|
|||||||
|
|
||||||
async getGovernanceVotes(pid, next = '', limit = 50) {
|
async getGovernanceVotes(pid, next = '', limit = 50) {
|
||||||
if (compareVersions(this.config.sdk_version, '0.40') < 0) {
|
if (compareVersions(this.config.sdk_version, '0.40') < 0) {
|
||||||
return this.get(`/gov/proposals/${pid}/votes`).then(data => ({
|
return this.get(`/cosmos/gov/v1beta1/proposals/${pid}/votes`).then(data => ({
|
||||||
votes: commonProcess(data).map(d => new Votes().init(d)),
|
votes: commonProcess(data).map(d => new Votes().init(d)),
|
||||||
pagination: {},
|
pagination: {},
|
||||||
}))
|
}))
|
||||||
@ -361,14 +371,14 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getAuthAccount(address, config = null) {
|
async getAuthAccount(address, config = null) {
|
||||||
return this.get('/auth/accounts/'.concat(address), config).then(data => {
|
return this.get('/cosmos/auth/v1beta1/accounts/'.concat(address), config).then(data => {
|
||||||
const result = commonProcess(data)
|
const result = commonProcess(data)
|
||||||
return result.value ? result : { value: result }
|
return result.value ? result : { value: result }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getBankAccountBalance(address) {
|
async getBankAccountBalance(address) {
|
||||||
return this.get('/bank/balances/'.concat(address)).then(data => commonProcess(data))
|
return this.get('/cosmos/bank/v1beta1/balances/'.concat(address)).then(data => commonProcess(data).balances)
|
||||||
}
|
}
|
||||||
|
|
||||||
async getStakingReward(address, config = null) {
|
async getStakingReward(address, config = null) {
|
||||||
@ -379,7 +389,7 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getStakingValidators(address) {
|
async getStakingValidators(address) {
|
||||||
return this.get(`/cosmos/distribution/v1beta1/delegators/${address}/validators`).then(data => commonProcess(data))
|
return this.get(`/cosmos/distribution/v1beta1/delegators/${address}/validators?pagination.size=200`).then(data => commonProcess(data.validators))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getStakingDelegations(address, config = null) {
|
async getStakingDelegations(address, config = null) {
|
||||||
@ -413,7 +423,7 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getBankBalances(address, config = null) {
|
async getBankBalances(address, config = null) {
|
||||||
return this.get('/bank/balances/'.concat(address), config).then(data => commonProcess(data))
|
return this.get('/cosmos/bank/v1beta1/balances/'.concat(address), config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getCommunityPool(config = null) {
|
async getCommunityPool(config = null) {
|
||||||
@ -458,7 +468,7 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static async getBankBalance(baseurl, address) {
|
static async getBankBalance(baseurl, address) {
|
||||||
return ChainFetch.fetch(baseurl, '/bank/balances/'.concat(address)).then(data => commonProcess(data))
|
return ChainFetch.fetch(baseurl, '/cosmos/bank/v1beta1/balances/'.concat(address)).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getGravityPools() {
|
async getGravityPools() {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
Bech32, fromBase64, fromBech32, fromHex, toBech32, toHex,
|
Bech32, fromBase64, fromBech32, fromHex, toBase64, toBech32, toHex,
|
||||||
} from '@cosmjs/encoding'
|
} from '@cosmjs/encoding'
|
||||||
import { sha256, stringToPath } from '@cosmjs/crypto'
|
import { sha256, stringToPath } from '@cosmjs/crypto'
|
||||||
// ledger
|
// ledger
|
||||||
@ -193,6 +193,15 @@ export function getUserCurrencySign() {
|
|||||||
export function consensusPubkeyToHexAddress(consensusPubkey) {
|
export function consensusPubkeyToHexAddress(consensusPubkey) {
|
||||||
let raw = null
|
let raw = null
|
||||||
if (typeof consensusPubkey === 'object') {
|
if (typeof consensusPubkey === 'object') {
|
||||||
|
if (consensusPubkey['@type'] === '/cosmos.crypto.ed25519.PubKey') {
|
||||||
|
raw = toBase64(fromHex(toHex(sha256(fromBase64(consensusPubkey.key))).slice(0, 40)))
|
||||||
|
return raw
|
||||||
|
}
|
||||||
|
// /cosmos.crypto.secp256k1.PubKey
|
||||||
|
if (consensusPubkey['@type'] === '/cosmos.crypto.secp256k1.PubKey') {
|
||||||
|
raw = toBase64(fromHex(new RIPEMD160().update(Buffer.from(sha256(fromBase64(consensusPubkey.key)))).digest('hex')))
|
||||||
|
return raw
|
||||||
|
}
|
||||||
if (consensusPubkey.type === 'tendermint/PubKeySecp256k1') {
|
if (consensusPubkey.type === 'tendermint/PubKeySecp256k1') {
|
||||||
raw = new RIPEMD160().update(Buffer.from(sha256(fromBase64(consensusPubkey.value)))).digest('hex').toUpperCase()
|
raw = new RIPEMD160().update(Buffer.from(sha256(fromBase64(consensusPubkey.value)))).digest('hex').toUpperCase()
|
||||||
return raw
|
return raw
|
||||||
|
@ -403,18 +403,13 @@ const router = new VueRouter({
|
|||||||
})
|
})
|
||||||
|
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
const c = String(to.params.chain).toLowerCase()
|
|
||||||
|
|
||||||
const configs = JSON.parse(localStorage.getItem('chains'))
|
const configs = JSON.parse(localStorage.getItem('chains'))
|
||||||
|
if (configs && to.params.chain) {
|
||||||
|
const c = String(to.params.chain).toLowerCase()
|
||||||
const conf = Object.values(configs).find(i => i.chain_name === c || i.alias === c)
|
const conf = Object.values(configs).find(i => i.chain_name === c || i.alias === c)
|
||||||
if (!configs || conf) {
|
|
||||||
if (conf) {
|
if (conf) {
|
||||||
store.commit('select', { chain_name: conf.chain_name })
|
store.commit('select', { chain_name: conf.chain_name })
|
||||||
}
|
|
||||||
next()
|
next()
|
||||||
} else if (c) {
|
|
||||||
if (c === 'index.php') {
|
|
||||||
next({ name: '/' })
|
|
||||||
} else {
|
} else {
|
||||||
next({ name: 'chain-404' })
|
next({ name: 'chain-404' })
|
||||||
}
|
}
|
||||||
|
@ -120,10 +120,6 @@ export default {
|
|||||||
this.latestTime = toDay(res.block.header.time, 'long')
|
this.latestTime = toDay(res.block.header.time, 'long')
|
||||||
})
|
})
|
||||||
|
|
||||||
this.$http.getMarketChart().then(res => {
|
|
||||||
this.marketData = res
|
|
||||||
})
|
|
||||||
|
|
||||||
this.$http.getStakingParameters().then(res => {
|
this.$http.getStakingParameters().then(res => {
|
||||||
this.staking = this.normalize(res, 'Staking Parameters')
|
this.staking = this.normalize(res, 'Staking Parameters')
|
||||||
Promise.all([this.$http.getStakingPool(), this.$http.getBankTotal(res.bond_denom)])
|
Promise.all([this.$http.getStakingPool(), this.$http.getBankTotal(res.bond_denom)])
|
||||||
|
@ -259,7 +259,6 @@
|
|||||||
:total-rows="transactions.total_count"
|
:total-rows="transactions.total_count"
|
||||||
:per-page="transactions.limit"
|
:per-page="transactions.limit"
|
||||||
:value="transactions.page_number"
|
:value="transactions.page_number"
|
||||||
align="center"
|
|
||||||
class="mt-1"
|
class="mt-1"
|
||||||
@change="pageload"
|
@change="pageload"
|
||||||
/>
|
/>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<b-card-title>
|
<b-card-title>
|
||||||
Starting New Node From State Sync
|
Starting New Node From State Sync
|
||||||
</b-card-title>
|
</b-card-title>
|
||||||
<b class="mt-1">1. Install Binary (Version: {{ version }})</b><br>
|
<b class="mt-1">1. Install Binary (Version: {{ app_version }})</b><br>
|
||||||
We need to install the binary first and make sure that the version is the one currently in use on mainnet.
|
We need to install the binary first and make sure that the version is the one currently in use on mainnet.
|
||||||
<br><br>
|
<br><br>
|
||||||
<b class="mt-1">2. Enable State Sync</b><br>
|
<b class="mt-1">2. Enable State Sync</b><br>
|
||||||
@ -69,7 +69,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
const { rpc, snapshot_provider } = this.$store.state.chains.selected
|
const { rpc, snapshot_provider } = this.$store.state.chains.selected
|
||||||
let servers = ''
|
let servers = ''
|
||||||
if (rpc && Array.isArray(rpc)) {
|
console.log('rpc', rpc)
|
||||||
|
if (rpc && Array.isArray(rpc) && rpc.length > 0) {
|
||||||
let serv = rpc
|
let serv = rpc
|
||||||
if (serv.length === 1) {
|
if (serv.length === 1) {
|
||||||
serv = serv.concat(serv)
|
serv = serv.concat(serv)
|
||||||
@ -88,7 +89,7 @@ export default {
|
|||||||
? `# Comma separated list of nodes to keep persistent connections to \npersistent_peers = "${peers}" `
|
? `# Comma separated list of nodes to keep persistent connections to \npersistent_peers = "${peers}" `
|
||||||
: 'OMG! There is NO available providers, but you can try it.'
|
: 'OMG! There is NO available providers, but you can try it.'
|
||||||
return {
|
return {
|
||||||
version: '',
|
app_version: '',
|
||||||
snapshot_provider,
|
snapshot_provider,
|
||||||
servers,
|
servers,
|
||||||
providers,
|
providers,
|
||||||
@ -125,9 +126,9 @@ trust_period = "168h" # 2/3 of unbonding time`
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.$http.getNodeInfo().then(res => {
|
this.$http.getNodeInfo().then(res => {
|
||||||
this.version = res.application_version.version
|
this.app_version = res.application_version.version
|
||||||
this.daemon = res.application_version.app_name
|
this.daemon = res.application_version.app_name
|
||||||
})
|
}).catch()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -108,7 +108,7 @@ import {
|
|||||||
import {
|
import {
|
||||||
consensusPubkeyToHexAddress, getCachedValidators, timeIn, toDay,
|
consensusPubkeyToHexAddress, getCachedValidators, timeIn, toDay,
|
||||||
} from '@/libs/utils'
|
} from '@/libs/utils'
|
||||||
import { Bech32, toHex } from '@cosmjs/encoding'
|
import { fromBech32, toBase64 } from '@cosmjs/encoding'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -171,7 +171,7 @@ export default {
|
|||||||
if (res.info) {
|
if (res.info) {
|
||||||
res.info.forEach(x => {
|
res.info.forEach(x => {
|
||||||
if (x.address) {
|
if (x.address) {
|
||||||
const hex = toHex(Bech32.decode(x.address).data).toUpperCase()
|
const hex = toBase64(fromBech32(x.address).data)
|
||||||
this.missing[hex] = x
|
this.missing[hex] = x
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -324,9 +324,12 @@ export default {
|
|||||||
if (this.address) {
|
if (this.address) {
|
||||||
return this.address
|
return this.address
|
||||||
}
|
}
|
||||||
|
if (this.accounts) {
|
||||||
const chain = this.$store.state.chains.selected.chain_name
|
const chain = this.$store.state.chains.selected.chain_name
|
||||||
const selectedAddress = this.accounts.address.find(x => x.chain === chain)
|
const selectedAddress = this.accounts?.address.find(x => x.chain === chain)
|
||||||
return selectedAddress?.addr
|
return selectedAddress?.addr
|
||||||
|
}
|
||||||
|
return null
|
||||||
},
|
},
|
||||||
selectedChain() {
|
selectedChain() {
|
||||||
let config = null
|
let config = null
|
||||||
|
Loading…
Reference in New Issue
Block a user