fix error
This commit is contained in:
parent
db7b1a65fc
commit
1c44a04cd4
@ -87,29 +87,35 @@ export const useIndexModule = defineStore('module-index', {
|
||||
return useBankStore();
|
||||
},
|
||||
twitter(): string {
|
||||
return `https://twitter.com/${this.coinInfo.links.twitter_screen_name}`;
|
||||
if(!this.coinInfo?.links?.twitter_screen_name) return ""
|
||||
return `https://twitter.com/${this.coinInfo?.links.twitter_screen_name}`;
|
||||
},
|
||||
homepage(): string {
|
||||
const [page1, page2, page3] = this.coinInfo.links?.homepage;
|
||||
if(!this.coinInfo?.links?.homepage) return ""
|
||||
const [page1, page2, page3] = this.coinInfo?.links?.homepage;
|
||||
return page1 || page2 || page3;
|
||||
},
|
||||
github(): string {
|
||||
const [page1, page2, page3] = this.coinInfo.links?.repos_url?.github;
|
||||
if(!this.coinInfo?.links?.repos_url) return ""
|
||||
const [page1, page2, page3] = this.coinInfo?.links?.repos_url?.github;
|
||||
return page1 || page2 || page3;
|
||||
},
|
||||
telegram(): string {
|
||||
return `https://t.me/${this.coinInfo.links.telegram_channel_identifier}`;
|
||||
if(!this.coinInfo?.links?.homepage) return ""
|
||||
return `https://t.me/${this.coinInfo?.links.telegram_channel_identifier}`;
|
||||
},
|
||||
|
||||
priceChange(): string {
|
||||
if(!this.coinInfo?.market_data?.price_change_percentage_24h) return ""
|
||||
const change =
|
||||
this.coinInfo.market_data?.price_change_percentage_24h || 0;
|
||||
this.coinInfo?.market_data?.price_change_percentage_24h || 0;
|
||||
return numeral(change).format('+0.[00]');
|
||||
},
|
||||
|
||||
priceColor(): string {
|
||||
if(!this.coinInfo?.market_data?.price_change_percentage_24h) return ""
|
||||
const change =
|
||||
this.coinInfo.market_data?.price_change_percentage_24h || 0;
|
||||
this.coinInfo?.market_data?.price_change_percentage_24h || 0;
|
||||
switch (true) {
|
||||
case change > 0:
|
||||
return 'text-success';
|
||||
@ -120,7 +126,8 @@ export const useIndexModule = defineStore('module-index', {
|
||||
}
|
||||
},
|
||||
trustColor(): string {
|
||||
const change = this.coinInfo.tickers[this.tickerIndex]?.trust_score;
|
||||
if(!this.coinInfo?.tickers) return ""
|
||||
const change = this.coinInfo?.tickers[this.tickerIndex]?.trust_score;
|
||||
return colorMap(change);
|
||||
},
|
||||
|
||||
|
@ -10,6 +10,15 @@ const blockchain = useBlockchain();
|
||||
const base = useBaseStore();
|
||||
const nodeInfo = ref({} as NodeInfo);
|
||||
|
||||
const height = ref(Number(base.latest.block?.header?.height|| 2001))
|
||||
const hash = ref(toHex(fromBase64(base.latest.block_id.hash)))
|
||||
|
||||
if(height.value > 2000) {
|
||||
height.value = Math.round((height.value - 2000) / 1000) * 1000
|
||||
base.fetchBlock(height.value).then(res => {
|
||||
hash.value = toHex(fromBase64(res.block_id.hash)).toUpperCase()
|
||||
})
|
||||
}
|
||||
const state = computed(() => {
|
||||
const rpcs = blockchain.current?.endpoints?.rpc
|
||||
?.map((x) => x.address)
|
||||
@ -17,10 +26,8 @@ const state = computed(() => {
|
||||
return `[statesync]
|
||||
enable = true
|
||||
rpc_servers = "${rpcs}"
|
||||
trust_height = ${base.latest.block?.header?.height || 'loading'}
|
||||
trust_hash = "${
|
||||
base.latest.block_id ? toHex(fromBase64(base.latest.block_id?.hash)) : ''
|
||||
}"
|
||||
trust_height = ${height.value || 'loading'}
|
||||
trust_hash = "${hash.value}"
|
||||
trust_period = "168h" # 2/3 of unbonding time"
|
||||
`;
|
||||
});
|
||||
@ -31,7 +38,6 @@ const appName = computed(() => {
|
||||
|
||||
onMounted(() => {
|
||||
blockchain.rpc.getBaseNodeInfo().then((x) => {
|
||||
console.log('node info', x);
|
||||
nodeInfo.value = x;
|
||||
});
|
||||
});
|
||||
|
@ -49,24 +49,22 @@ onMounted(() => {
|
||||
latest.value = Number(b.block.header.height);
|
||||
commits.value.unshift(b.block.last_commit);
|
||||
const height = Number(b.block.header?.height || 0);
|
||||
if (height === 0) {
|
||||
if (height > 50) {
|
||||
// constructs sequence for loading blocks
|
||||
let promise = Promise.resolve();
|
||||
for (let i = height - 1; i > height - 50; i -= 1) {
|
||||
if (i > height - 48) {
|
||||
promise = promise.then(
|
||||
() =>
|
||||
new Promise((resolve, reject) => {
|
||||
if (live.value && commits2.value.length < 50) {
|
||||
// continue only if the page is living
|
||||
baseStore.fetchBlock(i).then((x) => {
|
||||
commits.value.unshift(x.block.last_commit);
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
promise = promise.then(
|
||||
() =>
|
||||
new Promise((resolve, reject) => {
|
||||
if (live.value && commits2.value.length < 50) {
|
||||
// continue only if the page is living
|
||||
baseStore.fetchBlock(i).then((x) => {
|
||||
commits.value.unshift(x.block.last_commit);
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -143,28 +141,26 @@ function changeTab(v: string) {
|
||||
|
||||
<div :class="tab === '3'?'':'hidden'">
|
||||
<table class="table table-compact w-full mt-5">
|
||||
<thead>
|
||||
<thead class=" capitalize">
|
||||
<tr>
|
||||
<td rowspan="2">Validator</td>
|
||||
<td rowspan="2">Start Height</td>
|
||||
<td rowspan="2">Signed Blocks</td>
|
||||
<td colspan="2">Missing blocks</td>
|
||||
<td rowspan="2">Last Jailed Time</td>
|
||||
<td rowspan="2">Tombstoned</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>In Window</td>
|
||||
<td>Over All</td>
|
||||
<td>Validator</td>
|
||||
<td>Start Height</td>
|
||||
<td>Signed Precommits</td>
|
||||
<td>Missing blocks</td>
|
||||
<td>Last Jailed Time</td>
|
||||
<td>Tombstoned</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr v-for="({v, signing}, i) in list">
|
||||
<td>{{ i+1 }}. {{ v.description.moniker }}</td>
|
||||
<td>{{ signing?.start_height }}</td>
|
||||
<td>{{ signing?.index_offset }}</td>
|
||||
<td>
|
||||
{{ signing?.index_offset }}
|
||||
<span v-if="signing && signing.jailed_until.startsWith('1970')" class="badge badge-sm">{{ format.percent(Number(signing.index_offset)/(latest-Number(signing.start_height))) }}</span>
|
||||
</td>
|
||||
<td>
|
||||
<span v-if="signing" class="badge badge-sm text-white" :class="Number(signing?.missed_blocks_counter) < 10?'badge-success':'badge-error'">{{ signing?.missed_blocks_counter }}</span>
|
||||
</td>
|
||||
<td><span v-if="signing && signing.jailed_until.startsWith('1970')">{{ format.percent(Number(signing.index_offset)/(latest-Number(signing.start_height))) }}</span></td>
|
||||
<td><span v-if="signing && !signing.jailed_until.startsWith('1970')">
|
||||
<div class="tooltip" :data-tip="format.toDay(signing?.jailed_until, 'long')">
|
||||
<span>{{ format.toDay(signing?.jailed_until, "from") }}</span>
|
||||
|
Loading…
Reference in New Issue
Block a user