Compare commits

...
108 Commits
Author SHA1 Message Date
liangping 1e0342423b rename actions 2022-10-29 13:16:48 +08:00
liangping ba743e2085 reorder links 2022-10-29 09:52:32 +08:00
liangping a695db9320 remove social links 2022-10-29 09:25:00 +08:00
ping 9c900bcd54 Merge pull request #246 from effofxprime/master
Adding Rebus Chain
2022-10-29 08:40:48 +08:00
Erialos 4b13fb7291 Update rebus.json 2022-10-28 08:47:25 -06:00
Erialos f27bbec54c Merge branch 'master' of https://github.com/effofxprime/pingpub_explorer 2022-10-28 08:44:11 -06:00
Erialos 1f9645dc35 Update rebus.json 2022-10-28 08:43:57 -06:00
Erialos ca2d2314d8 Merge branch 'ping-pub:master' into master 2022-10-28 08:43:15 -06:00
ping a6419a0a11 Merge pull request #245 from nodestake/ping-PR
Add jackal rpc/api by NodeStake
2022-10-28 17:33:39 +08:00
NodeStake 43681f3251 Add jackal rpc/api by NodeStake 2022-10-28 15:40:07 +08:00
liangping f11c119f43 add autoclean storage 2022-10-28 14:10:03 +08:00
liangping f03ee64cfa remove validator cache 2022-10-28 13:39:18 +08:00
liangping cb7a3321d6 Merge branch 'master' of https://github.com/ping-pub/explorer 2022-10-28 13:31:39 +08:00
liangping 427d6bb241 remove quotos 2022-10-28 13:10:47 +08:00
ping fb9959b7b5 Merge pull request #244 from polkachu/master
fix jackal endpoints
2022-10-28 13:02:53 +08:00
Polkachu 0bdfb30705 fix bad code 2022-10-27 21:59:28 -07:00
liangping f309b899fc remove console 2022-10-28 12:21:37 +08:00
liangping 676e19ed1d remove price cache 2022-10-28 12:11:46 +08:00
liangping b684059eb0 Merge branch 'master' of https://github.com/ping-pub/explorer 2022-10-28 11:18:41 +08:00
liangping c4cf50b4ca add frequency 2022-10-28 11:18:30 +08:00
liangping af061b553d fix typo 2022-10-28 11:18:20 +08:00
Polkachu 057f842544 fix jackal endpoints 2022-10-27 18:11:30 -07:00
Erialos e8006eb966 Update rebus.json 2022-10-27 17:40:46 -06:00
ping d469b394b4 Merge pull request #243 from polkachu/master
add polkachu endpoint for jackal
2022-10-28 07:21:30 +08:00
Erialos 6988f2e1db rebus network 2022-10-27 17:03:31 -06:00
Polkachu 70a29ce9f7 update 2022-10-27 10:45:02 -07:00
Polkachu 644f0fd946 update 2022-10-27 09:15:44 -07:00
Polkachu 10e58ea7d4 add polkachu endpoint for jackal 2022-10-26 11:05:12 -07:00
liangping 44be3478fa upgrade github action 2022-10-26 18:49:52 +08:00
ping 937ef1c880 Merge pull request #242 from ping-pub/check
add config workflow
2022-10-26 18:28:26 +08:00
liangping c5eba544c8 update 2022-10-26 18:27:19 +08:00
liangping 629a29c235 update endpoint 2022-10-26 18:23:20 +08:00
liangping 1e106152e6 remove unavailable endpoint 2022-10-26 18:18:44 +08:00
liangping b42621023e remove unavailable 2022-10-26 18:14:51 +08:00
liangping d5a5f8cdea upgrade checkout action 2022-10-26 18:12:53 +08:00
liangping b1c8cf1396 add more provider 2022-10-26 18:09:06 +08:00
liangping d6871295d0 debug check 2022-10-26 17:56:09 +08:00
liangping 06782b31e2 remove snapshot 2022-10-26 17:37:54 +08:00
liangping 8dabf724f2 remove field 2022-10-26 17:34:24 +08:00
liangping eadf0ae2a2 update cosmos rpc 2022-10-26 17:25:54 +08:00
liangping b10e2a6ffc add config workflow 2022-10-26 17:22:10 +08:00
ping a6d3762cc0 Merge pull request #240 from manolius148/master
Rename lumenx.json.disabled to lumenx.json
2022-10-26 09:29:31 +08:00
ping 9779585eeb Merge pull request #241 from JackalLabs/jackal-main
Jackal goes Mainnet
2022-10-26 09:27:03 +08:00
Marston Connell 0618336741 jackal mainnet 2022-10-25 21:17:05 -04:00
manolius148 92f7fd9275 Rename lumenx.json.disabled to lumenx.json
It's of the community interest to get the highest visibility for this Blockchain. Please do not comply with malintentioned or interested petitions to shut down networks. Fair play.
2022-10-25 10:31:17 +02:00
liangping 7e5d2b64f0 reduce frequency 2022-10-25 10:05:09 +08:00
ping 7c5aa6b727 Merge pull request #238 from JackalLabs/jackal
Adding Jackal to Testnet
2022-10-24 09:19:39 +08:00
Marston Connell 7f48c4a40f fixing version 2022-10-21 10:13:24 -04:00
Marston Connell c7c2394d10 fixed rpc 2022-10-21 10:13:24 -04:00
Marston Connell 9e250d747f Merge branch 'ping-pub:master' into jackal 2022-10-21 10:10:00 -04:00
Marston Connell 119c7a8a32 jackal in testnet 2022-10-21 10:09:43 -04:00
Marston Connell 6aa24beff1 moving jackal to mainnet 2022-10-20 18:35:19 -04:00
ping e166acc803 Merge pull request #233 from okp4/okp4-testnet
Add OKP4 testnet
2022-10-20 18:52:36 +08:00
ping bf07689f6c Merge pull request #235 from effofxprime/master
Vidulum Version change
2022-10-20 18:51:51 +08:00
ping 4788510f6c Merge pull request #234 from ech-world/patch-1
Add ech.world API and RPC URLs
2022-10-20 18:51:14 +08:00
Erialos 3f09205957 Update vidulum.json 2022-10-20 02:54:44 -06:00
ech-world f81291dbc5 Add ech.world API and RPC URLs 2022-10-20 10:45:49 +03:00
liangping bc82cc9577 add withdraw on dashboard 2022-10-20 09:16:57 +08:00
Marston Connell 2557a50cc4 fixed 2022-10-19 21:09:29 -04:00
ping 55e6b00d9a Merge pull request #232 from commercionetwork/master
Add mainnet commercio.network
2022-10-20 08:54:40 +08:00
Marston Connell 7a7b4a0ffe jackal test 2022-10-19 20:49:04 -04:00
ccamel 6ac8646d06 add okp4 logo 2022-10-19 11:49:02 +02:00
ccamel 1a2eb87fb7 add okp4 testnet 2022-10-19 11:48:57 +02:00
Marco Ruaro fc38fd0f0a Add commercio.network mainnet conf 2022-10-19 09:22:21 +02:00
ping 27add6de3c Merge pull request #230 from commercionetwork/master
Add testnet commercio.network
2022-10-19 09:25:43 +08:00
ping 5daf2e0ec5 Merge pull request #231 from Clarxxon/master
Rename lumenx.json to lumenx.json.disabled
2022-10-19 07:06:33 +08:00
Clarxxon | Stakewolle 25c2e8eb3d Rename lumenx.json to lumenx.json.disabled 2022-10-18 20:25:38 +03:00
Marco Ruaro 047c7b1500 Add testnet commercio.network 2022-10-18 10:49:14 +02:00
liangping 6d0d2f1ee9 fix: proposal status 2022-10-17 15:35:43 +08:00
liangping e0a008b466 add support for v0.46.1 2022-10-16 17:06:25 +08:00
liangping 5ce328c6b2 Merge branches 'master' and 'master' of https://github.com/ping-pub/explorer 2022-10-16 11:12:03 +08:00
liangping 43e403c061 add group 2022-10-16 11:11:44 +08:00
liangping efbf2731e0 patch for uptime issue 2022-10-16 10:37:54 +08:00
ping 81e039d05d Merge pull request #228 from PrasoonPratham/master
Spelling mistake
2022-10-15 12:41:37 +08:00
Pratham Prasoon 825545b6bf Spelling mistake
Moniter -> Monitor
2022-10-15 01:01:10 +05:30
ping 82f5248861 Merge pull request #227 from Neschadin/master
update haqq to testedge-2 & logos .svg
2022-10-14 23:23:14 +08:00
Neschadin Aleksandr 171f25f372 Update haqq.json 2022-10-14 14:47:36 +03:00
Neschadin Aleksandr 68d6420256 Create islm.svg 2022-10-14 14:46:40 +03:00
Neschadin Aleksandr 8298226c16 Create haqq.svg 2022-10-14 14:44:16 +03:00
ping 1461d77bb8 Merge pull request #225 from PantheaEU/master
Update shentu.json
2022-10-13 10:38:50 +08:00
Panthea EU 82a9e53393 Update shentu.json 2022-10-12 15:21:07 +02:00
liangping b37c74aeb4 update default fee 2022-10-12 17:53:33 +08:00
ping 289d4df50b Merge pull request #223 from adamewozniak/master
Update umee.json
2022-10-12 10:27:12 +08:00
Adam Wozniak 1d0e30c846 fix umee endpoints 2022-10-11 09:00:25 -06:00
ping 20ecc14ab8 Merge pull request #221 from effofxprime/master
Juno and Teritori Icon - fetch.js fix
2022-10-11 20:19:26 +08:00
Erialos 7f26e31422 Possible fix for fetch.js
When I was looking at the code this morning, I incorrectly interpreted it's purpose.

I see my issue that I had reading it this morning.  Reverted back to the original.
2022-10-10 16:05:56 -06:00
liangping 3982286c2b update version 2022-10-11 00:10:21 +08:00
liangping 0e5466d898 fix 2022-10-10 23:59:45 +08:00
Erialos f0cefc17db Aura network
CORS has been fixed and is ready to go for when mainnet goes live.

After speaking with the team, they wanted to wait until next month for the listing on Pingpub.  They are on a 'testnet' right now in prep for Mainnet.  Current testnet is being treated as mainnet.

Sorry for the bouncing around.
2022-10-10 09:08:46 -06:00
Erialos d0ab40da1b fetch.js fix
This morning the Vidulum chain was showing all validators as red and missed blocks.

There might be a more inline way to do the logic but it wasn't comparing both to be greater than 1.  After making sure both were compared against, the update for Vidulum was resolved.

I also spot checked a few other chains to ensure their uptimes were showing properly and they were.
2022-10-10 06:58:45 -06:00
Erialos e15789e095 Update vidulum.json 2022-10-10 06:42:45 -06:00
Erialos 26330fec28 Merge branch 'ping-pub:master' into master 2022-10-10 06:28:58 -06:00
Erialos 83c799e5ce Create teritori.svg 2022-10-10 06:28:32 -06:00
Erialos bd94dd60ad Juno old icon
fixed the usage of the old juno icon
2022-10-10 06:27:33 -06:00
liangping 830a03b02b Fix issue on lum 2022-10-10 18:09:25 +08:00
ping 657ba8aa85 Merge pull request #216 from effofxprime/master
Updated gitignore and chain files
2022-10-10 17:34:43 +08:00
Erialos 63c94982fc Chain File corrections and update
Some of the chain files I updated were done on an older chain file, and so some of the new information was lost.

I went through all chains that I found a github link for, verified the cosmos sdk version and change it respectively.

Some of the chains do not have a link to github.  Others have an improper link to their repo, some links go to another project within their repo and some were just wrong.

Probably worth figuring out how to auto fetch the current SDK version instead of it being a manual configuration.
2022-10-09 06:41:19 -06:00
Erialos b88cce7b5a Merge remote-tracking branch 'upstream/master' 2022-10-08 11:39:11 -06:00
liangping 6225c1b66f improve proposal display 2022-10-08 09:31:15 +08:00
liangping 99cb79e0cd fix proposal content is nill 2022-10-08 08:35:22 +08:00
Erialos 0d36329a0d fixed vidulums api order
My API shouldn't be first.  switched the order so the Main official RPC server is used.
2022-10-07 08:56:12 -06:00
Erialos 2d2733a15d Feature update - Add Discord option to dashboard
This feature add's the discord chat link if one exists inside the `chat_url`.  I filter and search for a link containing `discord`.  Then if matching, displays the link.
2022-10-07 08:25:38 -06:00
Erialos 5eef53e294 Updated gitignore and chain files
There were a few odd issues with some of the RPC's blocking certain calls for some chains.  I don't know all affected, as I only use a few that the true ping.pub repository uses.
Stargaze was one.

I have added Polkachu and Notional API and RPC endpoints.

I have updated the git ignore file to exclude some of the yarn files created when running that command.
2022-10-06 08:42:58 -06:00
liangping fa83df53de add block number switch 2022-10-06 15:58:55 +08:00
liangping 5f42df584a add slashes 2022-10-06 09:56:14 +08:00
liangping 2fca7644bf improvement 2022-10-06 09:30:54 +08:00
liangping 9fc2328ab6 fixed issue: display moniker on blocks 2022-10-06 08:40:33 +08:00
liangping 12fde18e75 change back 2022-10-05 20:41:09 +08:00
84 changed files with 2511 additions and 312 deletions
+18
View File
@@ -0,0 +1,18 @@
name: Config Checker
on:
# push:
# branches: [ master ]
pull_request:
branches: [ master ]
jobs:
deploy:
name: Check Blockchain Config
runs-on: ubuntu-latest
steps:
- name: Git Checkout Latest
uses: actions/checkout@v3
- name: Check Chain Configs
uses: ping-pub/ping-dashboard-config-checker@v1.0
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
- name: print
run: echo ${GITHUB_REF#refs/heads/}
- name: Git Checkout Latest
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Install
run: yarn install
+1 -1
View File
@@ -1,5 +1,5 @@
name: Ping Deploy
name: Testnet Deploy
on:
push:
+5
View File
@@ -27,3 +27,8 @@ yarn-error.log*
# Docs
/docs/.temp
# Yarn
.yarn/
.yarnrc.yml
package-lock.json
Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

+1527
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

+14
View File
@@ -0,0 +1,14 @@
<svg
width="52"
height="52"
viewBox="0 0 52 52"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M7.494 18.6773L0 26.4139L7.73637 33.9078L7.90782 44.6775L18.677 44.506L26.4138 52L33.9073 44.2636L44.6778 44.0922L44.5065 33.3227L52 25.5864L44.2632 18.0922L44.0919 7.32266L33.323 7.49404L25.5862 0L18.0927 7.73639L7.32271 7.90778L7.494 18.6773Z"
fill="#5BABCD"
/>
</svg>

After

Width:  |  Height:  |  Size: 447 B

+14
View File
@@ -0,0 +1,14 @@
<svg
width="34"
height="34"
viewBox="0 0 34 34"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M16.9999 0C21.6942 0 25.9445 1.90288 29.0208 4.97915C32.0607 8.01904 33.9545 12.2051 33.9989 16.8328V16.8425L33.9995 16.9056L34 16.9992L33.9989 17.1558V17.1661C33.9545 21.7938 32.0607 25.9793 29.0208 29.0192C25.9445 32.0955 21.6947 33.9983 16.9999 33.9983C12.3058 33.9983 8.05556 32.0955 4.97923 29.0192C1.90291 25.9429 0 21.6927 0 16.9986C0 12.3046 1.90291 8.05488 4.97923 4.97862C8.05556 1.90235 12.3058 0 16.9999 0ZM26.7707 9.77002C27.4152 9.77002 28.0404 9.85509 28.6357 10.0129C26.8825 8.31159 24.4918 7.26389 21.8557 7.26389C19.1671 7.26389 16.7331 8.35331 14.9719 10.115C13.2102 11.8766 12.1208 14.3107 12.1208 16.9992C12.1208 19.6877 13.2102 22.1217 14.9719 23.8828C16.7337 25.6445 19.1676 26.7339 21.8557 26.7339C24.4918 26.7339 26.883 25.6862 28.6357 23.9849C28.041 24.1432 27.4158 24.2278 26.7712 24.2278C24.7753 24.2278 22.9676 23.4186 21.6599 22.1104C20.3517 20.8022 19.5426 18.9946 19.5426 16.9986C19.5426 15.0027 20.3517 13.195 21.6599 11.8869C22.9671 10.5797 24.7742 9.77002 26.7707 9.77002ZM30.1786 13.5913C29.3063 12.7195 28.1014 12.1799 26.7702 12.1799C25.439 12.1799 24.2341 12.7195 23.3618 13.5913C22.4895 14.4636 21.9503 15.6685 21.9503 16.9997C21.9503 18.3309 22.49 19.5358 23.3618 20.4081C24.2341 21.2799 25.439 21.8194 26.7702 21.8194C28.1014 21.8194 29.3063 21.2799 30.1786 20.4081C31.0504 19.5358 31.5901 18.3309 31.5901 16.9997L31.5895 16.9377C31.5735 15.6305 31.037 14.4497 30.1786 13.5913ZM21.8552 4.85454C23.3692 4.85454 24.8181 5.13157 26.1551 5.63805C23.6516 3.61858 20.4668 2.40935 16.9999 2.40935C12.9712 2.40935 9.32307 4.04269 6.68266 6.68254C4.04275 9.3224 2.40939 12.9704 2.40939 16.9992C2.40939 21.0285 4.04221 24.6759 6.68266 27.3163C9.32307 29.9562 12.9706 31.5896 16.9999 31.5896C20.4673 31.5896 23.6516 30.3803 26.1551 28.3603C24.8181 28.8668 23.3692 29.1438 21.8552 29.1438C18.5017 29.1438 15.465 27.7843 13.2679 25.5867C11.0704 23.3891 9.71085 20.353 9.71085 16.9997C9.71085 13.6464 11.0704 10.6097 13.2679 8.41214C15.465 6.21405 18.5017 4.85454 21.8552 4.85454Z"
fill="#04D484"
/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 22 KiB

+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="uuid-7c4dac6b-fee9-4a31-84a7-3dedb7527f8e" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 313.61 231.9"><polygon points="114.88 231.9 0 115.49 116.11 .92 143.14 28.26 127.78 43.31 116.11 31.33 30.41 115.8 114.88 201.5 125.93 190.74 140.99 206.1 114.88 231.9" style="fill:#181c49;"/><polygon points="199.35 160.64 184.29 145.29 212.86 117.03 183.37 86.93 198.42 71.87 243.27 117.33 199.35 160.64" style="fill:#cecece;"/><path d="M197.5,230.68L82.93,114.57,170.17,28.57h0L199.04,0l114.57,116.41-116.11,114.26ZM113.34,114.88l84.47,85.7,85.39-84.47L198.73,30.41,113.34,114.88h0Z" style="fill:#181c49;"/></svg>

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

+104
View File
@@ -0,0 +1,104 @@
<svg width="3000" height="3000" viewBox="0 0 3000 3000" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="3000" height="3000" fill="black"/>
<g clip-path="url(#clip0_3924_32027)">
<g opacity="0.25">
<path d="M1186.87 2309.97C1178.08 2302.2 1172.57 2291.37 1171.47 2279.69L1084.03 1349.45H1395.22V2391.61C1395.22 2431.35 1348.32 2452.51 1318.53 2426.2L1186.87 2309.97Z" fill="black"/>
<path d="M1395.22 1330.99V1201.14L1067.43 1172.82L1082.3 1330.99H1395.22Z" fill="black"/>
<path d="M1395.22 1182.61L1065.67 1154.14L1014.16 606.169C1011.62 579.095 1032.92 555.702 1060.11 555.702H1349.07C1374.56 555.702 1395.22 576.363 1395.22 601.85V1182.61Z" fill="black"/>
<path d="M2003.44 1330.99H2240.65C2253.39 1330.99 2263.72 1320.66 2263.72 1307.92V1171.84C2263.72 1158.21 2251.97 1147.55 2238.41 1148.87L2018.13 1170.38L2003.44 1330.99Z" fill="black"/>
<path d="M1999.43 1172.21L1671.18 1204.26V1330.99H1984.9L1999.43 1172.21Z" fill="black"/>
<path d="M1652.72 1206.06V1330.99H778.683C765.939 1330.99 755.609 1320.66 755.609 1307.92V1171.53C755.609 1158.01 767.179 1147.39 780.649 1148.54L1557.45 1214.98C1558.85 1215.1 1560.26 1215.09 1561.66 1214.95L1652.72 1206.06Z" fill="black"/>
<path d="M1750.18 2423.07C1721.21 2452.44 1671.18 2431.92 1671.18 2390.66V959.041H2019.37L1898.25 2258.12C1897.26 2268.73 1892.63 2278.67 1885.15 2286.25L1750.18 2423.07Z" fill="black"/>
<path d="M2021.09 940.582H1671.18V741.615L2041.8 718.495L2021.09 940.582Z" fill="black"/>
<path d="M1671.18 601.856V723.12L2043.54 699.892L2052.28 606.14C2054.8 579.079 2033.51 555.708 2006.33 555.708H1717.33C1691.84 555.708 1671.18 576.369 1671.18 601.856Z" fill="black"/>
<path d="M1395.22 940.583V742.195L1025.06 723.978L1045.31 940.583H1395.22Z" fill="black"/>
<path d="M1413.68 940.583H2346.79C2356.98 940.583 2365.25 932.318 2365.25 922.124V717.052C2365.25 706.397 2356.25 697.955 2345.62 698.63L1544.28 749.53L1413.68 743.103V940.583Z" fill="black"/>
<path d="M1004.91 722.986L1027.02 940.583H653.16C642.966 940.583 634.701 932.318 634.701 922.124V724.157C634.701 713.606 643.529 705.201 654.068 705.72L1004.91 722.986Z" fill="black"/>
</g>
<path d="M1183.17 2306.26C1174.38 2298.5 1168.87 2287.67 1167.77 2275.99L1080.33 1345.75H1391.52V2387.91C1391.52 2427.65 1344.62 2448.81 1314.82 2422.5L1183.17 2306.26Z" fill="url(#paint0_linear_3924_32027)"/>
<path d="M1391.52 1327.29V1197.44L1063.73 1169.11L1078.59 1327.29H1391.52Z" fill="url(#paint1_linear_3924_32027)"/>
<path d="M1391.52 1178.91L1061.97 1150.43L1010.46 602.467C1007.92 575.393 1029.22 552 1056.41 552H1345.37C1370.85 552 1391.52 572.661 1391.52 598.148V1178.91Z" fill="url(#paint2_linear_3924_32027)"/>
<path d="M1999.73 1327.29H2236.95C2249.69 1327.29 2260.02 1316.96 2260.02 1304.22V1168.13C2260.02 1154.5 2248.27 1143.84 2234.71 1145.17L2014.43 1166.68L1999.73 1327.29Z" fill="url(#paint3_linear_3924_32027)"/>
<path d="M1995.73 1168.51L1667.48 1200.56V1327.29H1981.2L1995.73 1168.51Z" fill="url(#paint4_linear_3924_32027)"/>
<path d="M1649.02 1202.36V1327.29H774.981C762.238 1327.29 751.908 1316.96 751.908 1304.22V1167.83C751.908 1154.31 763.478 1143.69 776.948 1144.84L1553.75 1211.28C1555.15 1211.4 1556.56 1211.39 1557.95 1211.25L1649.02 1202.36Z" fill="url(#paint5_linear_3924_32027)"/>
<path d="M1746.48 2419.36C1717.5 2448.74 1667.48 2428.22 1667.48 2386.96V955.339H2015.67L1894.55 2254.42C1893.56 2265.03 1888.93 2274.96 1881.45 2282.55L1746.48 2419.36Z" fill="url(#paint6_linear_3924_32027)"/>
<path d="M2017.39 936.88H1667.48V737.913L2038.1 714.793L2017.39 936.88Z" fill="url(#paint7_linear_3924_32027)"/>
<path d="M1667.48 598.155V719.418L2039.84 696.19L2048.58 602.439C2051.1 575.377 2029.81 552.007 2002.63 552.007H1713.63C1688.14 552.007 1667.48 572.668 1667.48 598.155Z" fill="url(#paint8_linear_3924_32027)"/>
<path d="M1391.52 936.881V738.493L1021.36 720.276L1041.61 936.881H1391.52Z" fill="url(#paint9_linear_3924_32027)"/>
<path d="M1409.98 936.881H2343.09C2353.28 936.881 2361.55 928.617 2361.55 918.422V713.35C2361.55 702.695 2352.55 694.253 2341.92 694.928L1540.58 745.829L1409.98 739.401V936.881Z" fill="url(#paint10_linear_3924_32027)"/>
<path d="M1001.21 719.285L1023.32 936.881H649.459C639.264 936.881 631 928.617 631 918.422V720.455C631 709.904 639.828 701.5 650.367 702.018L1001.21 719.285Z" fill="url(#paint11_linear_3924_32027)"/>
<path d="M1078.88 1151.9L1061.97 1150.43L1041.9 936.881H1041.61L1021.36 720.276L1021.54 720.285L1010.46 602.467C1007.92 575.393 1029.22 552 1056.41 552H1345.37C1362.87 552 1378.09 561.74 1385.92 576.095C1379.37 572.529 1371.86 570.502 1363.88 570.502H1074.92C1047.72 570.502 1026.43 593.895 1028.97 620.969L1040.04 738.787L1039.87 738.778L1060.12 955.383H1060.4L1078.88 1151.9Z" fill="white"/>
<path d="M1410.02 936.881H1428.48V757.903L1559.08 764.33L2360.43 713.43C2360.8 713.406 2361.18 713.394 2361.55 713.392V713.35C2361.55 702.695 2352.55 694.253 2341.92 694.928L2058.51 712.93L2058.34 714.692L1685.99 737.92V736.592L1540.58 745.829L1410.02 739.404L1410.02 936.881Z" fill="white"/>
<path d="M2043.17 576.094C2036.64 572.538 2029.14 570.508 2021.14 570.508H1732.14C1706.65 570.508 1685.99 591.17 1685.99 616.656V718.264L1667.48 719.418V598.155C1667.48 572.668 1688.14 552.007 1713.63 552.007H2002.63C2020.24 552.007 2035.38 561.821 2043.17 576.094Z" fill="white"/>
<path d="M1667.48 955.383H2015.67L2013.95 973.841H1685.99V2405.46C1685.99 2413.67 1687.97 2421.05 1691.37 2427.39C1677.6 2419.87 1667.48 2405.51 1667.48 2386.96V1345.79H1667.53V1220.86L1667.48 1220.87V955.383Z" fill="white"/>
<path d="M1649.02 1222.67V1202.36L1557.95 1211.25C1556.56 1211.39 1555.15 1211.4 1553.75 1211.28L1063.73 1169.11L1063.75 1169.37L776.948 1144.84C763.478 1143.69 751.908 1154.31 751.908 1167.83V1304.22C751.908 1315.53 760.05 1324.94 770.795 1326.91C770.545 1325.55 770.415 1324.15 770.415 1322.72V1186.33C770.415 1172.81 781.985 1162.19 795.455 1163.34L1082.26 1187.87L1082.23 1187.62L1572.25 1229.78C1573.65 1229.9 1575.06 1229.89 1576.46 1229.75L1649.02 1222.67Z" fill="white"/>
<path d="M1080.33 1345.79L1167.77 2275.99C1168.87 2287.67 1174.38 2298.5 1183.17 2306.26L1193.66 2315.53C1189.55 2309.28 1186.99 2302.06 1186.28 2294.49L1098.84 1364.25H1391.52V1345.79L1080.33 1345.79Z" fill="white"/>
<path d="M2001.4 1327.29H2019.93L2032.94 1185.18L2253.21 1163.67C2255.42 1163.46 2257.58 1163.56 2259.64 1163.94C2257.53 1152.39 2246.84 1143.98 2234.71 1145.17L2016.22 1166.5L2010.54 1227.39L2001.4 1327.29Z" fill="white"/>
<path d="M1003.01 736.964L1001.21 719.285L650.367 702.018C639.828 701.5 631 709.904 631 720.455V918.422C631 928.617 639.264 936.881 649.459 936.881H649.507V738.957C649.507 728.406 658.335 720.001 668.874 720.52L1003.01 736.964Z" fill="white"/>
</g>
<defs>
<linearGradient id="paint0_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint1_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint2_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint3_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint4_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint5_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint6_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint7_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint8_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint9_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint10_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<linearGradient id="paint11_linear_3924_32027" x1="631" y1="1493.07" x2="2361.55" y2="1493.07" gradientUnits="userSpaceOnUse">
<stop stop-color="#5433FF"/>
<stop offset="0.5" stop-color="#20BDFF"/>
<stop offset="1" stop-color="#A5FECB"/>
</linearGradient>
<clipPath id="clip0_3924_32027">
<rect width="1738.15" height="1895.14" fill="white" transform="translate(631 552)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

@@ -51,11 +51,14 @@ export default {
}
}
})
return [{
header: `${selected.chain_name} Dashboard`,
const current = {
title: selected.chain_name,
icon: selected.logo,
}].concat(children).concat(this.items)
route: { name: selected.chain_name, params: { chain: selected.chain_name } },
}
current.children = children
// this.items.unshift(current)
return [{ header: 'dashboard' }, current].concat(this.items)
},
},
}
+3 -3
View File
@@ -1,10 +1,10 @@
{
"chain_name": "akash",
"alias": "akash-network",
"api": ["https://akash.c29r3.xyz:443/api", "https://akash.api.ping.pub"],
"rpc": ["http://rpc.akash.forbole.com:80", "http://akashsentry01.skynetvalidators.com:26657"],
"api": ["https://api-akash-ia.cosmosia.notional.ventures/", "https://akash-api.polkachu.com", "https://akash.c29r3.xyz:443/api", "https://akash.api.ping.pub"],
"rpc": ["https://rpc-akash-ia.cosmosia.notional.ventures/", "https://akash-rpc.polkachu.com/", "http://rpc.akash.forbole.com:80", "http://akashsentry01.skynetvalidators.com:26657"],
"snapshot_provider": "",
"sdk_version": "0.41.3",
"sdk_version": "0.45.4",
"coin_type": "118",
"min_tx_fee": "8000",
"assets": [{
+19
View File
@@ -0,0 +1,19 @@
{
"chain_name": "aura",
"coingecko": "aura-network",
"api": ["https://lcd.euphoria.aura.network"],
"rpc": ["https://snapshot-1.euphoria.aura.network:443","https://snapshot-2.euphoria.aura.network:443"],
"snapshot_provider": "705e3c2b2b554586976ed88bb27f68e4c4176a33@13.250.223.114:26656,b9243524f659f2ff56691a4b2919c3060b2bb824@13.214.5.1:26656",
"sdk_version": "0.45.6",
"coin_type": "118",
"min_tx_fee": "8000",
"addr_prefix": "eaura",
"logo": "/logos/aura.png",
"assets": [{
"base": "ueaura",
"symbol": "AURA",
"exponent": "6",
"coingecko_id": "aura-network",
"logo": "/logos/aura.png"
}]
}
+2 -2
View File
@@ -1,7 +1,7 @@
{
"chain_name": "axelar",
"api": ["https://lcd-axelar.imperator.co", "https://axelar-lcd.quickapi.com", "https://axelar-api.polkachu.com", "https://axelar-lcd.qubelabs.io", "https://axelar-rest.chainode.tech", "https://axelar-lcd.quantnode.tech", "https://api-1.axelar.nodes.guru:443"],
"rpc": ["https://rpc-axelar.imperator.co:443", "https://axelar-rpc.quickapi.com:443", "https://axelar-rpc.pops.one:443", "https://axelar-rpc.chainode.tech:443", "https://axelar-rpc.polkachu.com:443"],
"api": ["https://api-axelar-ia.cosmosia.notional.ventures", "https://lcd-axelar.imperator.co", "https://axelar-lcd.quickapi.com", "https://axelar-api.polkachu.com", "https://axelar-lcd.qubelabs.io", "https://axelar-rest.chainode.tech", "https://axelar-lcd.quantnode.tech", "https://api-1.axelar.nodes.guru:443"],
"rpc": ["https://rpc-axelar-ia.cosmosia.notional.ventures:443", "https://rpc-axelar.imperator.co:443", "https://axelar-rpc.quickapi.com:443", "https://axelar-rpc.pops.one:443", "https://axelar-rpc.chainode.tech:443", "https://axelar-rpc.polkachu.com:443"],
"snapshot_provider": "",
"sdk_version": "0.45.6",
"coin_type": "118",
+1 -1
View File
@@ -15,5 +15,5 @@
"logo": "/logos/band-protocol.svg"
}],
"logo": "/logos/band-protocol.svg",
"sdk_version": "0.45.0"
"sdk_version": "0.45.8"
}
+19
View File
@@ -0,0 +1,19 @@
{
"chain_name": "beezee",
"coingecko": "bzedge",
"api": ["https://rest.getbze.com"],
"rpc": ["https://rpc-1.getbze.com:443","https://rpc-2.getbze.com:443"],
"snapshot_provider": ["a9fac0534bd6853f5810fdc692564967bd01b1fe@rpc-1.getbze.com:26656"],
"sdk_version": "0.44.3",
"coin_type": "370",
"min_tx_fee": "8000",
"addr_prefix": "bze",
"logo": "/logos/beezee.png",
"assets": [{
"base": "ubze",
"symbol": "BZE",
"exponent": "6",
"coingecko_id": "bzedge",
"logo": "/logos/beezee.png"
}]
}
+4 -3
View File
@@ -1,9 +1,10 @@
{
"chain_name": "bitcanna",
"coingecko": "bitcanna",
"api": ["https://lcd.bitcanna.io"],
"rpc": ["https://rpc.bitcanna.io:443", "https://rpc.bitcanna.ezstaking.io:443"],
"sdk_version": "0.45.1",
"api": ["https://api-bitcanna-ia.cosmosia.notional.ventures", "https://bitcanna-api.polkachu.com", "https://lcd.bitcanna.io"],
"rpc": ["https://rpc-bitcanna-ia.cosmosia.notional.ventures:443", "https://bitcanna-rpc.polkachu.com:443", "http://bitcanna.rpc.ping.pub:26657", "https://rpc.bitcanna.io:443","https://rpc.bitcanna.ezstaking.io:443"],
"snapshot_provider": "29edc55748bc341224f711a05cb0a9f6d73b4da3@bitcanna.rpc.ping.pub:26656",
"sdk_version": "0.45.8",
"coin_type": "118",
"min_tx_fee": "8000",
"assets": [{
+3 -3
View File
@@ -1,13 +1,13 @@
{
"chain_name": "bitsong",
"coingecko": "bitsong",
"api": "https://lcd.explorebitsong.com",
"rpc": ["https://rpc-bitsong.itastakers.com:443","https://rpc-bitsong.itastakers.com:443"],
"api": ["https://api-bitsong-ia.cosmosia.notional.ventures", "https://lcd.explorebitsong.com"],
"rpc": ["https://rpc-bitsong-ia.cosmosia.notional.ventures:443", "https://rpc-bitsong.itastakers.com:443","https://rpc-bitsong.itastakers.com:443"],
"addr_prefix": "bitsong",
"coin_type": "639",
"min_tx_fee": "5000",
"logo": "/logos/bitsong.svg",
"sdk_version": "0.45.0",
"sdk_version": "0.45.6",
"assets": [{
"base": "ubtsg",
"symbol": "BTSG",
+5 -5
View File
@@ -1,10 +1,10 @@
{
"chain_name": "cerberus",
"coingecko": "cerberus",
"api": ["https://api.cerberus.zone:1317"],
"rpc": ["https://rpc.cerberus.zone:26657", "https://rpc-cerberus.ecostake.com:443"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"coingecko": "cerberus-2",
"api": ["https://cerberus-api.polkachu.com","https://api-cerberus-ia.cosmosia.notional.ventures", "https://api.cerberus.zone:1317"],
"rpc": ["https://cerberus-rpc.polkachu.com:443", "https://rpc-cerberus-ia.cosmosia.notional.ventures:443", "https://rpc-cerberus.ecostake.com:443"],
"snapshot_provider": "21cca2db122c48a11f426799131ef08235d46671@cerberus-rpc.polkachu.com:10656",
"sdk_version": "0.45.8",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "cerberus",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": ["https://api.cheqd.net","https://api.cheqd.nodestake.top"],
"rpc": ["https://rpc.cheqd.net:443", "https://rpc.cheqd.net:443","https://rpc.cheqd.nodestake.top"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"sdk_version": "0.45.5",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "cheqd",
+6 -4
View File
@@ -1,10 +1,12 @@
{
"chain_name": "chihuahua",
"api": ["https://api.chihuahua.wtf", "https://chihuahua-api.mercury-nodes.net"],
"rpc": ["https://rpc.chihuahua.wtf:443", "https://rpc.chihuahua.wtf:443"],
"sdk_version": "0.44.3",
"coingecko": "chihuahua-token",
"api": ["https://chihuahua-api.polkachu.com", "https://api.chihuahua.wtf", "https://chihuahua-api.mercury-nodes.net"],
"rpc": ["https://chihuahua-rpc.polkachu.com:443", "https://rpc.chihuahua.wtf:443"],
"snapshot_provider": "12611137be6f64f9a7fb8977614a5a6f257c1394@65.21.200.224:29656",
"sdk_version": "0.45.8",
"coin_type": "118",
"min_tx_fee": "8000",
"min_tx_fee": "250000",
"addr_prefix": "chihuahua",
"logo": "/logos/chihuahua.png",
"assets": [{
+3 -3
View File
@@ -1,9 +1,9 @@
{
"chain_name": "comdex",
"api":"https://rest.comdex.one/",
"rpc": ["https://api.comdex.audit.one:443/rpc", "https://rpc.comdex.one:443"],
"api": ["https://api-comdex-ia.cosmosia.notional.ventures", "https://comdex-api.polkachu.com", "https://rest.comdex.one/"],
"rpc": ["https://rpc-comdex-ia.cosmosia.notional.ventures:443", "https://comdex-rpc.polkachu.com:443", "https://api.comdex.audit.one:443/rpc", "https://rpc.comdex.one:443"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"sdk_version": "0.45.8",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "comdex",
+25
View File
@@ -0,0 +1,25 @@
{
"chain_name": "commercio.network",
"coingecko": "",
"api": ["https://lcd-mainnet.commercio.network"],
"rpc": ["https://rpc-mainnet.commercio.network:443"],
"snapshot_provider": "",
"sdk_version": "0.45.9",
"coin_type": "118",
"min_tx_fee": "10000",
"addr_prefix": "did:com:",
"logo": "/logos/commercionetwork.png",
"assets": [{
"base": "ucommercio",
"symbol": "COM",
"exponent": "6",
"coingecko_id": "",
"logo": "/logos/com.png"
},{
"base": "uccc",
"symbol": "CCC",
"exponent": "6",
"coingecko_id": "",
"logo": "/logos/ccc.png"
}]
}
+7 -4
View File
@@ -1,9 +1,12 @@
{
"chain_name": "cosmos",
"coingecko": "cosmos",
"api": ["https://cosmos.api.ping.pub", "https://cosmos.api.s16.ventures", "https://lcd-cosmoshub.whispernode.com", "https://api-cosmoshub-ia.cosmosia.notional.ventures", "https://cosmos-api.polkachu.com"],
"rpc": ["https://cosmos.rpc.s16.ventures", "https://rpc-cosmoshub-ia.cosmosia.notional.ventures"],
"sdk_version": "0.44.3",
"api": [
"https://cosmos.api.ping.pub",
"https://lcd-cosmoshub.blockapsis.com:443",
"https://api-cosmoshub-ia.cosmosia.notional.ventures"
],
"rpc": ["https://rpc.cosmos.network:443", "https://cosmos-rpc.icycro.org", "https://rpc.cosmos.dragonstake.io"],
"sdk_version": "0.45.1",
"coin_type": "118",
"min_tx_fee": "800",
"addr_prefix": "cosmos",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": ["https://crescent-api.polkachu.com", "https://mainnet.crescent.network:1317", "https://api.crescent.pupmos.network"],
"rpc": ["https://mainnet.crescent.network:26657", "https://crescent-rpc.polkachu.com"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"sdk_version": "0.45.3",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "cre",
+1 -1
View File
@@ -5,7 +5,7 @@
"api": "https://mainnet.crypto.org:1317",
"rpc": ["https://mainnet.crypto.org:443", "https://rpc-crypto-org.keplr.app:443"],
"snapshot_provider": "",
"sdk_version": "0.39.2",
"sdk_version": "0.46.1",
"coin_type": "394",
"min_tx_fee": "5000",
"addr_prefix": "cro",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": ["https://rest.mainnet.decentr.xyz","https://api.decentr.nodestake.top"],
"rpc": ["https://ares.mainnet.decentr.xyz:443", "https://poseidon.mainnet.decentr.xyz:443","https://rpc.decentr.nodestake.top"],
"snapshot_provider": "",
"sdk_version": "0.44.0",
"sdk_version": "0.44.3",
"coin_type": "118",
"min_tx_fee": "3000",
"addr_prefix": "decentr",
+1 -1
View File
@@ -3,7 +3,7 @@
"coingecko": "desmos",
"api": ["https://api.mainnet.desmos.network"],
"rpc": ["https://rpc.mainnet.desmos.network:443"],
"sdk_version": "0.44.4",
"sdk_version": "0.45.8",
"coin_type": "852",
"min_tx_fee": "3000",
"addr_prefix": "desmos",
+1 -1
View File
@@ -4,7 +4,7 @@
"api": "https://api-1-dig.notional.ventures",
"rpc": ["https://rpc-1-dig.notional.ventures:443", "https://rpc-1-dig.notional.ventures:443"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"sdk_version": "0.46.1",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "dig",
+2 -2
View File
@@ -1,8 +1,8 @@
{
"chain_name": "echelon",
"coingecko": "echelon",
"api": ["https://api.ech.network", "https://lcd-echelon.whispernode.com", "https://api.echelon.nodestake.top", "https://echelon-api.polkachu.com"],
"rpc": ["https://tendermint.ech.network", "https://rpc-echelon.whispernode.com" , "https://rpc.echelon.nodestake.top", "https://echelon-rpc.polkachu.com"],
"api": ["https://api.ech.network", "https://lcd-echelon.whispernode.com", "https://api.echelon.nodestake.top", "https://echelon-api.polkachu.com", "https://api.eu.ech.world", "https://api.us.ech.world"],
"rpc": ["https://tendermint.ech.network", "https://rpc-echelon.whispernode.com" , "https://rpc.echelon.nodestake.top", "https://echelon-rpc.polkachu.com", "https://rpc.eu.ech.world", "https://rpc.us.ech.world"],
"snapshot_provider": "",
"sdk_version": "0.45.1",
"coin_type": "60",
+3 -3
View File
@@ -1,9 +1,9 @@
{
"chain_name": "evmos",
"api": ["https://evmos-api.polkachu.com", "https://rest.bd.evmos.org:1317", "https://evmos-api.skynetvalidators.com","https://api.evmos.nodestake.top"],
"rpc": ["https://evmos-rpc.polkachu.com:443", "https://tendermint.bd.evmos.org:26657", "https://tendermint.bd.evmos.org:26657","https://rpc.evmos.nodestake.top"],
"api": ["https://evmos-api.polkachu.com", "https://api-evmos-ia.cosmosia.notional.ventures", "https://rest.bd.evmos.org:1317", "https://evmos-api.skynetvalidators.com","https://api.evmos.nodestake.top"],
"rpc": ["https://evmos-rpc.polkachu.com:443", "https://rpc-evmos-ia.cosmosia.notional.ventures:443", "https://tendermint.bd.evmos.org:26657", "https://tendermint.bd.evmos.org:26657","https://rpc.evmos.nodestake.top"],
"snapshot_provider": "",
"sdk_version": "0.45.1",
"sdk_version": "0.46.2",
"coin_type": "60",
"min_tx_fee": "5000000000000000",
"addr_prefix": "evmos",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": ["https://rest-fetchhub.fetch.ai"],
"rpc": ["https://rpc-fetchhub.fetch.ai:443", "https://rpc-fetchhub.fetch.ai:443"],
"snapshot_provider": "",
"sdk_version": "0.45.1",
"sdk_version": "0.45.6",
"coin_type": "118",
"min_tx_fee": "3000000000000000",
"addr_prefix": "fetch",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": "https://lcd.injective.network",
"rpc": ["https://injective-rpc.api.chainlayer.network:443", "https://injective-rpc.api.chainlayer.network:443"],
"snapshot_provider": "",
"sdk_version": "v0.44.5",
"sdk_version": "v0.45.5",
"coin_type": "60",
"min_tx_fee": "5000",
"addr_prefix": "inj",
+1 -1
View File
@@ -4,7 +4,7 @@
"api": "https://iris.api.ping.pub",
"rpc": ["http://34.82.96.8:26657","http://34.77.68.145:26657"],
"snapshot_provider": "fcc1d9bc43163b20ce5163cf41a302b33f25375f@34.82.96.8:26656",
"sdk_version": "0.45.4",
"sdk_version": "0.46.1",
"coin_type": "118",
"min_tx_fee": "40000",
"addr_prefix": "iaa",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": ["https://impacthub.ixo.world/rest", "https://proxies.sifchain.finance/api/impacthub-3/rest"],
"rpc": [],
"snapshot_provider": "",
"sdk_version": "0.42.6",
"sdk_version": "0.45.4",
"coin_type": "118",
"min_tx_fee": "3000",
"addr_prefix": "ixo",
+18
View File
@@ -0,0 +1,18 @@
{
"chain_name": "jackal",
"coingecko": "",
"api": ["https://api.jackalprotocol.com", "https://jackal-api.polkachu.com","https://api.jackal.nodestake.top"],
"rpc": ["https://rpc.jackalprotocol.com", "https://jackal-rpc.polkachu.com","https://rpc.jackal.nodestake.top"],
"snapshot_provider": "",
"coin_type": "118",
"sdk_version": "0.45.9",
"addr_prefix": "jkl",
"logo": "/logos/jackal.png",
"assets": [{
"base": "ujkl",
"symbol": "JKL",
"exponent": "6",
"coingecko_id": "jackal",
"logo": "/logos/jackal.png"
}]
}
+5 -5
View File
@@ -1,12 +1,12 @@
{
"chain_name": "juno",
"coingecko": "juno-network",
"api": ["https://juno-api.polkachu.com", "https://lcd-juno.itastakers.com", "https://api-juno.nodes.guru"],
"rpc": ["https://rpc-juno.itastakers.com:443", "https://rpc-juno.itastakers.com:443"],
"api": ["https://api-juno-ia.cosmosia.notional.ventures", "https://juno-api.polkachu.com", "https://lcd-juno.itastakers.com"],
"rpc": ["https://rpc-juno-ia.cosmosia.notional.ventures:443", "https://juno-rpc.polkachu.com:443", "https://rpc-juno.itastakers.com:443", "https://rpc-juno.itastakers.com:443"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"sdk_version": "0.45.8",
"coin_type": "118",
"min_tx_fee": "8000",
"min_tx_fee": "3000",
"addr_prefix": "juno",
"logo": "/logos/juno.png",
"assets": [{
@@ -14,6 +14,6 @@
"symbol": "JUNO",
"exponent": "6",
"coingecko_id": "juno-network",
"logo": "/logos/juno.jpg"
"logo": "/logos/juno.png"
}]
}
+1 -1
View File
@@ -4,7 +4,7 @@
"api": "https://api.data.kava.io",
"rpc": ["https://rpc.kava.io:443", "https://rpc.kava.io:443"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"sdk_version": "0.45.4",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "kava",
+1 -1
View File
@@ -3,7 +3,7 @@
"api": ["https://api-mainnet.blockchain.ki", "https://ki.api.ping.pub","https://api.ki.nodestake.top"],
"rpc": ["https://rpc-mainnet.blockchain.ki:443", "https://rpc-mainnet.blockchain.ki:443","https://rpc.ki.nodestake.top"],
"snapshot_provider": "",
"sdk_version": "0.42.10",
"sdk_version": "0.45.6",
"coin_type": "118",
"min_tx_fee": "8000",
"addr_prefix": "ki",
+4 -4
View File
@@ -1,8 +1,8 @@
{
"chain_name": "lum-network",
"coingecko": "",
"api": "https://node0.mainnet.lum.network/rest",
"rpc": ["https://node0.mainnet.lum.network:443/rpc", "https://node0.mainnet.lum.network:443/rpc"],
"coingecko": "lum-network",
"api": ["https://api-lum.degeno.de", "https://node0.mainnet.lum.network/rest"],
"rpc": ["https://rpc-lum.degeno.de:443", "https://node0.mainnet.lum.network:443/rpc"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"coin_type": "880",
@@ -13,7 +13,7 @@
"base": "ulum",
"symbol": "LUM",
"exponent": "6",
"coingecko_id": "",
"coingecko_id": "lum-network",
"logo": "/logos/lum-network.png"
}]
}
+1 -1
View File
@@ -4,7 +4,7 @@
"api": ["https://api.omniflix.nodestake.top","https://omniflixhub-api.skynetvalidators.com"],
"rpc": ["https://rpc.omniflix.nodestake.top"],
"snapshot_provider": "",
"sdk_version": "0.45.1",
"sdk_version": "0.46.1",
"coin_type": "118",
"min_tx_fee": "3000",
"addr_prefix": "omniflix",
+3 -3
View File
@@ -1,10 +1,10 @@
{
"chain_name": "osmosis",
"coingecko": "osmosis",
"api": ["https://osmosis-api.polkachu.com", "https://osmo.api.ping.pub", "https://lcd-osmosis.blockapsis.com", "https://api-osmosis-ia.cosmosia.notional.ventures"],
"rpc": ["https://osmosis-rpc.lavenderfive.com:443", "https://rpc-osmosis.blockapsis.com:443", "https://rpc-osmosis-ia.cosmosia.notional.ventures"],
"api": ["https://api-osmosis-ia.cosmosia.notional.ventures", "https://osmosis-api.polkachu.com", "https://osmo.api.ping.pub", "https://lcd-osmosis.blockapsis.com"],
"rpc": ["https://rpc-osmosis-ia.cosmosia.notional.ventures:443", "https://osmosis-rpc.polkachu.com:443", "https://osmosis.validator.network:443", "https://rpc-osmosis.blockapsis.com:443"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"sdk_version": "0.46.1",
"coin_type": "118",
"min_tx_fee": "800",
"addr_prefix": "osmo",
+1 -1
View File
@@ -4,7 +4,7 @@
"api": "https://rest.core.persistence.one",
"rpc": ["https://rpc.core.persistence.one:443", "https://rpc.core.persistence.one:443"],
"snapshot_provider": "",
"sdk_version": "0.44.2",
"sdk_version": "0.45.6",
"coin_type": "750",
"min_tx_fee": "3000",
"addr_prefix": "persistence",
+1 -1
View File
@@ -4,7 +4,7 @@
"api": "https://api.provenance.io",
"rpc": ["https://rpc.provenance.io:443", "https://rpc.provenance.io:443"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"sdk_version": "0.46.1",
"coin_type": "505",
"min_tx_fee": "800000000",
"addr_prefix": "pb",
+20
View File
@@ -0,0 +1,20 @@
{
"chain_name": "rebus",
"api": ["https://api.mainnet.rebus.money:1317"],
"rpc": ["https://api.mainnet.rebus.money:26657"],
"snapshot_provider": "",
"sdk_version": "0.45.6",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "rebus",
"logo": "/logos/rebus.png",
"assets": [
{
"base": "arebus",
"symbol": "REBUS",
"exponent": "18",
"coingecko_id": "rebus",
"logo": "/logos/rebus.png"
}
]
}
+1 -1
View File
@@ -4,7 +4,7 @@
"api": "https://regen.api.ping.pub",
"rpc": ["http://public-rpc.regen.vitwit.com:26657", "https://regen.stakesystems.io:2053"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"sdk_version": "0.46.2",
"coin_type": "118",
"min_tx_fee": "3000",
"addr_prefix": "regen",
+1 -1
View File
@@ -2,7 +2,7 @@
"chain_name": "rizon",
"api": ["https://api.rizon.chaintools.tech", "https://restapi.rizon.world"],
"rpc": ["http://seed-1.mainnet.rizon.world:26657"],
"sdk_version": "v0.45.0",
"sdk_version": "v0.45.6",
"coin_type": "118",
"min_tx_fee": "8000",
"assets": [{
+2 -2
View File
@@ -1,8 +1,8 @@
{
"chain_name": "secret",
"coingecko": "secret",
"api": ["https://api.scrt.network", "https://secret-4.api.trivium.network:1317"],
"rpc": ["https://rpc.scrt.network", "https://secret-4.api.trivium.network:26657"],
"api": ["https://api.roninventures.io","https://api.scrt.network"],
"rpc": ["http://beta-api.scrt.network:26657", "https://api.scrt.network:443"],
"snapshot_provider": "",
"sdk_version": "0.45.4",
"coin_type": "529",
+3 -3
View File
@@ -1,9 +1,9 @@
{
"chain_name": "sentinel",
"api": "https://lcd.sentinel.co",
"rpc": ["https://rpc-sentinel.keplr.app:443", "https://rpc-sentinel.keplr.app:443"],
"api": ["https://api-sentinel-ia.cosmosia.notional.ventures", "https://lcd.sentinel.co"],
"rpc": ["https://api-sentinel-ia.cosmosia.notional.ventures:443", "https://rpc-sentinel.keplr.app:443", "https://rpc-sentinel.keplr.app:443"],
"snapshot_provider": "",
"sdk_version": "0.45.6",
"sdk_version": "0.45.8",
"coin_type": "118",
"min_tx_fee": "8000",
"addr_prefix": "sent",
+3 -3
View File
@@ -2,10 +2,10 @@
{
"chain_name": "shentu",
"coingecko": "certik",
"api": ["https://chainfull.noopsbycertik.com"],
"rpc": "",
"api": ["https://certik-api.polkachu.com/", "https://shentu-api.panthea.eu", "https://chainfull.noopsbycertik.com"],
"rpc": ["https://certik-rpc.polkachu.com:443", "https://shentu-rpc.panthea.eu:443"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"sdk_version": "0.45.4",
"coin_type": "118",
"min_tx_fee": "8000",
"addr_prefix": "certik",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"chain_name": "sifchain",
"api": "https://api.sifchain.finance",
"rpc": ["https://rpc.sifchain.finance:443", "https://rpc-archive.sifchain.finance:443"],
"api": ["https://api-sifchain-ia.cosmosia.notional.ventures", "https://sifchain-api.polkachu.com", "https://api.sifchain.finance"],
"rpc": ["https://rpc-sifchain-ia.cosmosia.notional.ventures/", "https://sifchain-rpc.polkachu.com:443", "https://rpc.sifchain.finance:443", "https://rpc-archive.sifchain.finance:443"],
"snapshot_provider": "",
"sdk_version": "0.45.0",
"coin_type": "118",
+4 -4
View File
@@ -1,9 +1,9 @@
{
"chain_name": "stargaze",
"api": ["https://rest.stargaze-apis.com", "https://rest.stargaze.publicawesome.dev","https://api.stargaze.nodestake.top"],
"rpc": ["https://rpc.stargaze-apis.com:443", "https://rpc.stargaze.ezstaking.io:443","https://rpc.stargaze.nodestake.top"],
"api": ["https://stargaze-api.polkachu.com/","https://api-stargaze-ia.cosmosia.notional.ventures/", "https://rest.stargaze-apis.com", "https://rest.stargaze.publicawesome.dev"],
"rpc": ["https://stargaze-rpc.polkachu.com/", "https://rpc-stargaze-ia.cosmosia.notional.ventures/","https://rpc.stargaze-apis.com:443", "https://rpc.stargaze.ezstaking.io:443"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"sdk_version": "0.45.6",
"coin_type": "118",
"min_tx_fee": "800",
"addr_prefix": "stars",
@@ -15,4 +15,4 @@
"coingecko_id": "stargaze",
"logo": "/logos/stargaze.png"
}]
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
"api": "https://api.iov-mainnet-ibc.iov.one",
"rpc": ["https://rpc-iov.keplr.app:443", "https://rpc-iov.keplr.app:443"],
"snapshot_provider": "",
"sdk_version": "0.42.6",
"sdk_version": "0.44.5",
"coin_type": "234",
"min_tx_fee": "8000",
"addr_prefix": "star",
+20
View File
@@ -0,0 +1,20 @@
{
"chain_name": "teritori",
"api": ["https://rest.mainnet.teritori.com"],
"rpc": ["https://rpc.mainnet.teritori.com"],
"snapshot_provider": "",
"sdk_version": "0.45.4",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "tori",
"logo": "/logos/teritori.svg",
"assets": [
{
"base": "utori",
"symbol": "TORI",
"exponent": "6",
"coingecko_id": "teritori",
"logo": "/logos/teritori.svg"
}
]
}
+6 -6
View File
@@ -1,9 +1,9 @@
{
"chain_name": "umee",
"api": ["https://api.blue.main.network.umee.cc", "https://api.bottlenose.main.network.umee.cc", "https://api.apollo.main.network.umee.cc", "https://api.aphrodite.main.network.umee.cc", "https://api.artemis.main.network.umee.cc", "https://api.athena.main.network.umee.cc", "https://api.beaked.main.network.umee.cc"],
"rpc": ["https://rpc.aphrodite.main.network.umee.cc:443", "https://rpc.apollo.main.network.umee.cc:443"],
"snapshot_provider": "d97750eddfe88fcd0be61694c396d4491217549b@94.250.203.6:26696,c12ac110e0249f0cef55599b335892444e4a21ac@142.132.198.227:26656",
"sdk_version": "0.45.1",
"api": ["https://api.barnacle.mainnet.network.umee.cc:443"],
"rpc": ["https://rpc.barnacle.mainnet.network.umee.cc:443"],
"snapshot_provider": "",
"sdk_version": "0.46.2",
"coin_type": "118",
"min_tx_fee": "8000",
"addr_prefix": "umee",
@@ -12,7 +12,7 @@
"base": "uumee",
"symbol": "UMEE",
"exponent": "6",
"coingecko_id": "umee",
"coingecko_id": "umee",
"logo": "/logos/umee.png"
}]
}
}
+4 -4
View File
@@ -1,10 +1,10 @@
{
"chain_name": "vidulum",
"coingecko": "vidulum",
"api": "https://mainnet-lcd.vidulum.app",
"rpc": ["https://mainnet-rpc.vidulum.app:443", "https://mainnet-rpc.vidulum.app:443"],
"snapshot_provider": "",
"sdk_version": "0.45.0",
"api": ["https://mainnet-lcd.vidulum.app", "https://api-vidulum-ia.cosmosia.notional.ventures", "https://rest.rpc.erialos.me"],
"rpc": ["https://trpc.rpc.erialos.me:443","https://rpc-vidulum-ia.cosmosia.notional.ventures:443", "https://mainnet-rpc.vidulum.app:443"],
"snapshot_provider": "c32903505e9ab811ac46306d2913c98ccf4883ce@rpc.erialos.me:26656",
"sdk_version": "0.45.9",
"coin_type": "370",
"min_tx_fee": "8000",
"addr_prefix": "vdl",
+19
View File
@@ -0,0 +1,19 @@
{
"chain_name": "beezee",
"coingecko": "bzedge",
"api": ["https://testnet.getbze.com"],
"rpc": ["https://testnet-rpc.getbze.com:443","https://testnet-rpc.getbze.com:443"],
"snapshot_provider": [""],
"sdk_version": "0.44.0",
"coin_type": "370",
"min_tx_fee": "8000",
"addr_prefix": "bze",
"logo": "https://assets.coingecko.com/coins/images/7814/large/BZEdge_Color_icon.png",
"assets": [{
"base": "ubze",
"symbol": "BZE",
"exponent": "6",
"coingecko_id": "bzedge",
"logo": "https://assets.coingecko.com/coins/images/7814/large/BZEdge_Color_icon.png"
}]
}
+21
View File
@@ -0,0 +1,21 @@
{
"chain_name": "cerberus",
"coingecko": "",
"api": ["https://api.cerberus.zone:1317"],
"rpc": ["https://rpc.cerberus.zone:26657", "https://rpc-cerberus.ecostake.com:443"],
"snapshot_provider": "",
"sdk_version": "0.44.5",
"coin_type": "118",
"min_tx_fee": "5000",
"addr_prefix": "cerberus",
"logo": "/logos/cerberus.png",
"assets": [
{
"base": "ucrbrus",
"symbol": "CRBRUS",
"exponent": "6",
"coingecko_id": "",
"logo": "/logos/cerberus.png"
}
]
}
+25
View File
@@ -0,0 +1,25 @@
{
"chain_name": "commercio.network",
"coingecko": "",
"api": ["https://lcd-testnet.commercio.network"],
"rpc": ["https://rpc-testnet.commercio.network:443"],
"snapshot_provider": "",
"sdk_version": "0.45.9",
"coin_type": "118",
"min_tx_fee": "10000",
"addr_prefix": "did:com:",
"logo": "/logos/commercionetwork.png",
"assets": [{
"base": "ucommercio",
"symbol": "COM",
"exponent": "6",
"coingecko_id": "",
"logo": "/logos/com.png"
},{
"base": "uccc",
"symbol": "CCC",
"exponent": "6",
"coingecko_id": "",
"logo": "/logos/ccc.png"
}]
}
+4 -4
View File
@@ -1,19 +1,19 @@
{
"chain_name": "haqq",
"coingecko": "",
"api": ["https://rest.cosmos.testedge.haqq.network/"],
"rpc": ["https://rpc.tm.testedge.haqq.network/"],
"api": ["https://rest.cosmos.testedge2.haqq.network/"],
"rpc": ["https://rpc.tm.testedge2.haqq.network/"],
"snapshot_provider": "",
"sdk_version": "0.45.3",
"coin_type": "60",
"min_tx_fee": "3000000000000000",
"addr_prefix": "haqq",
"logo": "/logos/haqq.png",
"logo": "/logos/haqq.svg",
"assets": [{
"base": "aISLM",
"symbol": "ISLM",
"exponent": "18",
"coingecko_id": "",
"logo": "/logos/islm.png"
"logo": "/logos/islm.svg"
}]
}
+17
View File
@@ -0,0 +1,17 @@
{
"chain_name": "jackal",
"coingecko": "jackal",
"api": "https://testnet-api.jackalprotocol.com",
"rpc": "https://testnet-rpc.jackalprotocol.com",
"coin_type": "118",
"sdk_version": "0.45.9",
"addr_prefix": "jkl",
"logo": "/logos/jackal.png",
"assets": [{
"base": "ujkl",
"symbol": "JKL",
"exponent": "6",
"coingecko_id": "jackal",
"logo": "/logos/jackal.png"
}]
}
+19
View File
@@ -0,0 +1,19 @@
{
"chain_name": "OKP4 testnet",
"api": ["https://api.testnet.okp4.network"],
"rpc": ["https://api.testnet.okp4.network:443/rpc"],
"snapshot_provider": "",
"sdk_version": "0.46.2",
"coin_type": "118",
"min_tx_fee": "800",
"addr_prefix": "okp4",
"logo": "/logos/okp4.png",
"assets": [
{
"base": "uknow",
"symbol": "KNOW",
"exponent": "6",
"logo": "/logos/okp4.png"
}
]
}
+18
View File
@@ -0,0 +1,18 @@
{
"chain_name": "sifchain",
"api": "https://api.sifchain.finance",
"rpc": ["https://rpc.sifchain.finance:443", "https://rpc-archive.sifchain.finance:443"],
"snapshot_provider": "",
"sdk_version": "0.42.6",
"coin_type": "118",
"min_tx_fee": "8000",
"addr_prefix": "sif",
"logo": "/logos/sifchain.jpeg",
"assets": [{
"base": "rowan",
"symbol": "ROWAN",
"exponent": "18",
"coingecko_id": "sifchain",
"logo": "/logos/sifchain.jpeg"
}]
}
+18
View File
@@ -0,0 +1,18 @@
{
"chain_name": "stargaze",
"api": ["https://rest.stargaze-apis.com", "https://rest.stargaze.publicawesome.dev"],
"rpc": ["https://rpc.stargaze-apis.com:443", "https://rpc.stargaze.ezstaking.io:443"],
"snapshot_provider": "",
"sdk_version": "0.44.3",
"coin_type": "118",
"min_tx_fee": "800",
"addr_prefix": "stars",
"logo": "/logos/stargaze.png",
"assets": [{
"base": "ustars",
"symbol": "STARS",
"exponent": "6",
"coingecko_id": "stargaze",
"logo": "/logos/stargaze.png"
}]
}
+19
View File
@@ -0,0 +1,19 @@
{
"chain_name": "vidulum",
"coingecko": "vidulum",
"api": ["https://testnet-lcd.vidulum.app"],
"rpc": [],
"snapshot_provider": "",
"sdk_version": "0.44.0",
"coin_type": "370",
"min_tx_fee": "8000",
"addr_prefix": "vdl",
"logo": "/logos/VDL.png",
"assets": [{
"base": "uvdl",
"symbol": "VDL",
"exponent": "6",
"coingecko_id": "vidulum",
"logo": "/logos/VDL.png"
}]
}
+10 -7
View File
@@ -23,10 +23,6 @@ export default class Proposal {
this.id = element.proposal_id || element.id
this.status = element.status
this.type = element.content.type
if (element.content['@type']) {
this.type = element.content['@type']
}
this.tally = new ProposalTally().init(element.final_tally_result, total)
this.submit_time = element.submit_time
this.voting_end_time = element.voting_end_time
@@ -37,6 +33,10 @@ export default class Proposal {
if (this.contents) {
this.title = this.contents.title
this.description = this.contents.description
this.type = element.content.type
if (element.content['@type']) {
this.type = element.content['@type']
}
}
return this
}
@@ -50,8 +50,11 @@ export default class Proposal {
}
versionFixed(ver) {
if (compareVersions(ver, '0.40') >= 0) {
// do nothing
if (compareVersions(ver, '0.46') >= 0) {
if (this.element.metadata) {
this.title = this.element.metadata.title || this.element.metadata
this.description = this.element.metadata.description || this.element.metadata
}
} else if (compareVersions(ver, '0.30') >= 0) {
switch (this.element.proposal_status) {
case 'Passed':
@@ -64,7 +67,7 @@ export default class Proposal {
this.status = 4
break
default:
this.status = 1
// this.status = 1
}
}
if (String(this.status).indexOf('PASSED') > -1) {
+42 -10
View File
@@ -3,7 +3,7 @@ import fetch from 'node-fetch'
import store from '@/store'
import compareVersions from 'compare-versions'
import { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx'
import { toBase64 } from '@cosmjs/encoding'
import { fromHex, toBase64 } from '@cosmjs/encoding'
import {
Proposal, ProposalTally, Proposer, StakingPool, Votes, Deposit,
Validator, StakingParameters, Block, ValidatorDistribution, StakingDelegation, WrapStdTx, getUserCurrency,
@@ -60,18 +60,34 @@ export default class ChainFetch {
}
async getLatestBlock(config = null) {
// const conf = config || this.getSelectedConfig()
// if (conf.chain_name === 'injective') {
// return ChainFetch.fetch('https://tm.injective.network', '/cosmos/base/tendermint/v1beta1/block').then(data => Block.create(commonProcess(data)))
// }
const conf = config || this.getSelectedConfig()
const ver = conf.sdk_version || '0.41'
if (ver && compareVersions(ver, '0.45') < 1) {
return this.get('/blocks/latest', config).then(data => Block.create(data)).then(block => {
block.block.last_commit.signatures.map(s1 => {
const s = s1
s.validator_address = toBase64(fromHex(s.validator_address))
return s
})
return block
})
}
return this.get('/cosmos/base/tendermint/v1beta1/blocks/latest', config).then(data => Block.create(data))
}
async getBlockByHeight(height, config = null) {
// const conf = config || this.getSelectedConfig()
// if (conf.chain_name === 'injective') {
// return ChainFetch.fetch('https://tm.injective.network', `/cosmos/base/tendermint/v1beta1/block?height=${height}`).then(data => Block.create(commonProcess(data)))
// }
const conf = config || this.getSelectedConfig()
const ver = conf.sdk_version || '0.41'
if (ver && compareVersions(ver, '0.45') < 1) {
return this.get('/blocks/latest', config).then(data => Block.create(data)).then(block => {
block.block.last_commit.signatures.map(s1 => {
const s = s1
s.validator_address = toBase64(fromHex(s.validator_address))
return s
})
return block
})
}
return this.get(`/cosmos/base/tendermint/v1beta1/blocks/${height}`, config).then(data => Block.create(data))
}
@@ -169,7 +185,19 @@ export default class ChainFetch {
async getValidatorList(config = null) {
return this.get('/cosmos/staking/v1beta1/validators?pagination.limit=200&status=BOND_STATUS_BONDED', config).then(data => {
const vals = commonProcess(data.validators).map(i => new Validator().init(i))
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
try {
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
} catch (err) {
// clear cache
for (let i = 0; i < localStorage.length; i += 1) {
const key = localStorage.key(i)
if (key.startsWith('validators')) {
localStorage.removeItem(key)
}
}
// set again
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
}
return vals
})
}
@@ -392,6 +420,10 @@ export default class ChainFetch {
return this.get(`/cosmos/distribution/v1beta1/delegators/${address}/rewards`, config).then(data => commonProcess(data))
}
async getValidatorSlashs(address, config = null) {
return this.get(`/cosmos/distribution/v1beta1/validators//${address}/slashes`, config).then(data => commonProcess(data))
}
async getStakingValidators(address) {
return this.get(`/cosmos/distribution/v1beta1/delegators/${address}/validators?pagination.size=200`).then(data => commonProcess(data.validators))
}
+7 -5
View File
@@ -491,19 +491,21 @@ export function getCachedValidators(chainName) {
}
export function isHexAddress(v) {
const re = /^[A-Z\d]{40}$/
return re.test(v)
// const re = /^[A-Z\d]{40}$/
// return re.test(v)
return v.length === 28
}
export function getStakingValidatorByHex(chainName, hex) {
export function getStakingValidatorByHex(chainName, textBase64) {
const locals = localStorage.getItem(`validators-${chainName}`)
if (locals) {
const val = JSON.parse(locals).find(x => consensusPubkeyToHexAddress(x.consensus_pubkey) === hex)
const val = JSON.parse(locals)
.find(x => toBase64(fromHex(consensusPubkeyToHexAddress(x.consensus_pubkey))) === textBase64)
if (val) {
return val.description.moniker
}
}
return abbr(hex)
return abbr(textBase64)
}
export function getStakingValidatorByAccount(chainName, addr) {
+8 -13
View File
@@ -36,25 +36,20 @@ function processMenu() {
icon: 'LifeBuoyIcon',
})
}
chainMenus.push({
title: 'Github',
href: 'https://github.com/ping-pub/explorer',
icon: 'GithubIcon',
})
chainMenus.push({
title: 'Discord',
href: 'https://discord.gg/CmjYVSr6GW',
icon: 'EyeIcon',
})
chainMenus.push({
title: 'Twitter',
href: 'https://twitter.com/ping_pub',
icon: 'TwitterIcon',
})
chainMenus.push({
title: 'Telegram',
href: 'https://t.me/pingpub',
icon: 'SendIcon',
title: 'FAQ',
href: 'https://github.com/ping-pub/explorer/discussions',
icon: 'MessageSquareIcon',
})
chainMenus.push({
title: 'Github',
href: 'https://github.com/ping-pub/explorer',
icon: 'GithubIcon',
})
return chainMenus
+19 -4
View File
@@ -10,7 +10,7 @@ import { sha256 } from '@cosmjs/crypto'
import { toHex } from '@cosmjs/encoding'
let chains = {}
const coingecko = {}
let configs = require.context('../../chains/mainnet', false, /\.json$/)
if (isTestnet()) {
configs = require.context('../../chains/testnet', false, /\.json$/)
@@ -21,6 +21,9 @@ configs.keys().forEach(k => {
const c = configs(k)
c.chain_name = String(c.chain_name).toLowerCase()
update[c.chain_name] = c
c.assets.forEach(x => {
if (x.coingecko_id && x.coingecko_id !== '') coingecko[x.coingecko_id] = String(x.symbol).toUpperCase()
})
})
chains = update
@@ -83,9 +86,21 @@ export default {
},
actions: {
async getQuotes(context) {
fetch('https://price.ping.pub/quotes').then(data => data.json()).then(data => {
context.commit('setQuotes', data)
})
// fetch('https://price.ping.pub/quotes').then(data => data.json()).then(data => {
// context.commit('setQuotes', data)
// })
const keys = Object.keys(coingecko)
if (keys.length > 0) {
const currencies = 'usd,cny,eur,jpy,krw,sgd,hkd'
fetch(`https://api.coingecko.com/api/v3/simple/price?vs_currencies=${currencies}&ids=${keys.join(',')}`).then(data => data.json()).then(data => {
// use symbol as key instead of coingecko id
const quotes = {}
Object.keys(data).forEach(k => {
quotes[coingecko[k]] = data[k]
})
context.commit('setQuotes', quotes)
})
}
},
async getAllIBCDenoms(context, _this) {
+21 -2
View File
@@ -1,6 +1,16 @@
<template>
<div>
<b-card title="Block Id">
<b-card>
<b-card-title class="d-flex justify-content-between">
<span>#{{ height }}</span>
<span><b-button
size="sm"
@click="goblock(height-1)"
> &lt; </b-button> <b-button
size="sm"
@click="goblock(Number(height)+1)"
> > </b-button></span>
</b-card-title>
<object-field-component :tablefield="block.block_id" />
</b-card>
@@ -42,7 +52,9 @@
</template>
<script>
import { BCard, BTable } from 'bootstrap-vue'
import {
BCard, BTable, BCardTitle, BButton,
} from 'bootstrap-vue'
import { fromBase64 } from '@cosmjs/encoding'
import { decodeTxRaw } from '@cosmjs/proto-signing'
import Tx from '@/libs/data/tx'
@@ -52,8 +64,10 @@ import ArrayFieldComponent from './components/ArrayFieldComponent.vue'
export default {
components: {
BButton,
BCard,
BTable,
BCardTitle,
ObjectFieldComponent,
ArrayFieldComponent,
},
@@ -68,6 +82,7 @@ export default {
return {
block: { block: { header: {}, data: {}, evidence: {} } },
txs: null,
height: 0,
fields: [
{ key: 'hash' },
{ key: 'fee', formatter: v => tokenFormatter(v) },
@@ -82,6 +97,7 @@ export default {
},
methods: {
initData(height) {
this.height = height
this.$http.getBlockByHeight(height).then(res => {
this.block = res
const { txs } = res.block.data
@@ -101,6 +117,9 @@ export default {
if (array.length > 0) this.txs = array
})
},
goblock(height) {
this.$router.push({ name: 'block', params: { height } })
},
},
}
</script>
+1 -1
View File
@@ -13,7 +13,7 @@
variant="outline-primary"
@click="onchange()"
>
Moniter
Monitor
</b-button>
</b-input-group-append>
</b-input-group>
+60 -44
View File
@@ -198,49 +198,61 @@
</b-row>
<b-row v-if="stakingList && stakingList.length > 0">
<b-col>
<b-table
:items="stakingList"
:fields="fields"
striped
hover
responsive="sm"
stacked="sm"
>
<template #cell(action)="data">
<!-- size -->
<b-button-group
size="sm"
<b-card no-body>
<b-table
:items="stakingList"
:fields="fields"
striped
hover
responsive="sm"
stacked="sm"
>
<template #cell(action)="data">
<!-- size -->
<b-button-group
size="sm"
>
<b-button
v-b-modal.operation-modal
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
v-b-tooltip.hover.top="'Delegate'"
variant="outline-primary"
@click="selectDelegation(data,'Delegate')"
>
<feather-icon icon="LogInIcon" />
</b-button>
<b-button
v-b-modal.operation-modal
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
v-b-tooltip.hover.top="'Redelegate'"
variant="outline-primary"
@click="selectDelegation(data,'Redelegate')"
>
<feather-icon icon="ShuffleIcon" />
</b-button>
<b-button
v-b-modal.operation-modal
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
v-b-tooltip.hover.top="'Unbond'"
variant="outline-primary"
@click="selectDelegation(data,'Unbond')"
>
<feather-icon icon="LogOutIcon" />
</b-button>
</b-button-group>
</template>
</b-table>
<b-card-footer class="text-right">
<b-button
v-b-modal.operation-modal
variant="outline-primary"
@click="selectWithdraw()"
>
<b-button
v-b-modal.operation-modal
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
v-b-tooltip.hover.top="'Delegate'"
variant="outline-primary"
@click="selectDelegation(data,'Delegate')"
>
<feather-icon icon="LogInIcon" />
</b-button>
<b-button
v-b-modal.operation-modal
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
v-b-tooltip.hover.top="'Redelegate'"
variant="outline-primary"
@click="selectDelegation(data,'Redelegate')"
>
<feather-icon icon="ShuffleIcon" />
</b-button>
<b-button
v-b-modal.operation-modal
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
v-b-tooltip.hover.top="'Unbond'"
variant="outline-primary"
@click="selectDelegation(data,'Unbond')"
>
<feather-icon icon="LogOutIcon" />
</b-button>
</b-button-group>
</template>
</b-table>
<feather-icon icon="AwardIcon" />
Widthdraw Rewards
</b-button>
</b-card-footer>
</b-card>
</b-col>
</b-row>
@@ -307,7 +319,7 @@
<feather-icon
icon="PlusCircleIcon"
/>
receive
Receive
</b-button>
</b-col>
</b-row>
@@ -331,7 +343,7 @@
<script>
import {
BRow, BCol, BAlert, BCard, BTable, BFormCheckbox, BCardHeader, BCardTitle, BMedia, BMediaAside, BMediaBody, BAvatar,
BCardBody, BLink, BButtonGroup, BButton, BTooltip, VBModal, VBTooltip,
BCardBody, BLink, BButtonGroup, BButton, BTooltip, VBModal, VBTooltip, BCardFooter,
} from 'bootstrap-vue'
import {
formatNumber, formatTokenAmount, isToken, percent, timeIn, toDay, toDuration, tokenFormatter, getLocalAccounts,
@@ -365,6 +377,7 @@ export default {
BMedia,
BCardBody,
BLink,
BCardFooter,
OperationModal,
ParametersModuleComponent,
@@ -499,6 +512,9 @@ export default {
selectSend() {
this.operationModalType = 'Transfer'
},
selectWithdraw() {
this.operationModalType = 'Withdraw'
},
formatToken(tokens) {
if (Array.isArray(tokens)) {
let nativeToken = tokens.filter(x => x.denom.length < 11)
+1 -8
View File
@@ -49,14 +49,7 @@
>
<tbody>
<b-tr>
<b-td
style="text-transform: capitalize; vertical-align: top; width:200px"
>
{{ $t('proposal_id') }}
</b-td><b-td>{{ proposal.id }}</b-td>
</b-tr>
<b-tr>
<b-td>
<b-td style="text-transform: capitalize; vertical-align: top; width:200px">
{{ $t('proposal_proposer') }}
</b-td><b-td><router-link :to="`../account/${proposer.proposer}`">
{{ formatAddress(proposer.proposer) }}
+242 -103
View File
@@ -1,107 +1,193 @@
<template>
<div class="px-0">
<b-card>
<b-alert
variant="danger"
:show="syncing"
>
<div class="alert-body">
<span>No new blocks have been produced since <strong>{{ latestTime }}</strong> </span>
</div>
</b-alert>
<b-card
no-body
class="mb-1"
>
<b-button
to="./uptime/my"
variant="primary"
>
Browse favorite only
</b-button>
<b-input-group>
<b-input-group-prepend is-text>
<b-form-checkbox
v-model="missedFilter"
v-b-tooltip.hover
title="Only missed blocks"
name="viewMissed"
/>
</b-input-group-prepend>
<b-form-input
v-model="query"
placeholder="Keywords to filter validators"
/>
</b-input-group>
</b-card>
<b-row>
<b-col
v-for="(x,index) in uptime"
:key="index"
sm="12"
md="4"
xl="3"
class="text-truncate"
>
<div class="d-flex justify-content-between">
<b-form-checkbox
v-model="pinned"
:value="`${chain}#${x.address}`"
class="custom-control-warning text-truncate"
@change="pinValidator(`${chain}#${x.address}`)"
><span class="d-inline-block text-truncate font-weight-bold align-bottom">{{ index+1 }} {{ x.validator.moniker }}</span>
</b-form-checkbox>
<span v-if="missing[x.address]">
<b-badge
v-if="missing[x.address].missed_blocks_counter > 0"
v-b-tooltip.hover.v-danger
variant="light-danger"
:title="`${missing[x.address].missed_blocks_counter} missed blocks`"
class="text-danger text-bolder"
>
{{ missing[x.address].missed_blocks_counter }}
</b-badge>
<b-badge
v-else
v-b-tooltip.hover.v-success
variant="light-success"
title="Perfect! No missed blocks"
>
0
</b-badge>
</span>
</div>
<b-skeleton-wrapper :loading="loading">
<template #loading>
<b-skeleton width="100%" />
</template>
<template #default>
<div class="d-flex justify-content-between align-self-stretch flex-wrap">
<div
v-for="(b,i) in blocks"
:key="i"
style="width:1.5%;"
><router-link :to="`./blocks/${b.height}`">
<div
v-b-tooltip.hover.v-second
:title="b.height"
:class="b.sigs && b.sigs[x.address] ? b.sigs[x.address] : 'bg-light-success'"
class="m-auto"
>&nbsp;</div>
</router-link>
</div>
<b-tabs>
<b-tab title="Group By Validator">
<b-card>
<b-alert
variant="danger"
:show="syncing"
>
<div class="alert-body">
<span>No new blocks have been produced since <strong>{{ latestTime }}</strong> </span>
</div>
</b-alert>
<b-card
no-body
class="mb-1"
>
<b-row>
<b-col md="3">
<h4>#{{ height }}</h4>
</b-col>
<b-col md="9">
<b-input-group>
<b-input-group-prepend is-text>
<b-form-checkbox
v-model="missedFilter"
v-b-tooltip.hover
title="Only missed blocks"
name="viewMissed"
/>
</b-input-group-prepend>
<b-form-input
v-model="query"
placeholder="Keywords to filter validators"
/>
<b-input-group-append>
<b-button
to="./uptime/my"
variant="primary"
>
Favorite
</b-button>
</b-input-group-append>
</b-input-group>
</b-col>
</b-row>
</b-card>
<b-row>
<b-col
v-for="(x,index) in uptime"
:key="index"
sm="12"
md="4"
xl="3"
class="text-truncate"
>
<div class="d-flex justify-content-between">
<b-form-checkbox
v-model="pinned"
:value="`${chain}#${x.address}`"
class="custom-control-warning text-truncate"
@change="pinValidator(`${chain}#${x.address}`)"
><span class="d-inline-block text-truncate font-weight-bold align-bottom">{{ index+1 }} {{ x.validator.moniker }}</span>
</b-form-checkbox>
<span v-if="missing[x.address]">
<b-badge
v-if="missing[x.address].missed_blocks_counter > 0"
v-b-tooltip.hover.v-danger
variant="light-danger"
:title="`${missing[x.address].missed_blocks_counter} missed blocks`"
class="text-danger text-bolder"
>
{{ missing[x.address].missed_blocks_counter }}
</b-badge>
<b-badge
v-else
v-b-tooltip.hover.v-success
variant="light-success"
title="Perfect! No missed blocks"
>
0
</b-badge>
</span>
</div>
</template>
</b-skeleton-wrapper>
</b-col>
</b-row>
</b-card>
<b-skeleton-wrapper :loading="loading">
<template #loading>
<b-skeleton width="100%" />
</template>
<template #default>
<div class="d-flex justify-content-between align-self-stretch flex-wrap">
<div
v-for="(b,i) in blocks"
:key="i"
style="width:1.5%;"
><router-link :to="`./blocks/${b.height}`">
<div
v-b-tooltip.hover.v-second
:title="b.height"
:class="b.sigs && b.sigs[x.address] ? b.sigs[x.address] : 'bg-light-success'"
class="m-auto"
>&nbsp;</div>
</router-link>
</div>
</div>
</template>
</b-skeleton-wrapper>
</b-col>
</b-row>
</b-card>
</b-tab>
<b-tab title="Group By Proposer">
<b-card>
<b-row>
<b-col
md="3"
sm="12"
>
<h4>#{{ height }}</h4>
</b-col>
<b-col
md="3"
sm="12"
>
<b-input-group
prepend="Fetch Frequency"
>
<b-form-select
id="frequency"
v-model="frequency"
placeholder="Frequency to fetch data"
@change="onFrequencyChange()"
>
<b-form-select-option value="6000">
6s
</b-form-select-option>
<b-form-select-option value="2000">
2s
</b-form-select-option>
<b-form-select-option value="1000">
1s
</b-form-select-option>
</b-form-select>
</b-input-group>
</b-col>
<b-col
sm="12"
md="6"
>
<b-input-group
prepend="Qty of absent validators"
>
<b-form-input
id="threshold"
v-model="threshold"
placeholder="Absent validator number in blocks"
/>
</b-input-group>
</b-col>
</b-row>
</b-card>
<b-row>
<b-col
v-for="(x, i) in proposerViewData"
:key="i"
md="4"
sm="12"
class="text-truncate"
>
{{ x.name }}
<b-badge
v-if="x.proposed > 0"
v-b-tooltip.hover.v-second
:title="x.proposed > 0?`${ Number(x.counter / x.proposed * 100).toFixed(2) } %`:''"
:variant="x.counter > 0 ? 'light-danger': 'light-success'"
>
{{ x.counter }} / {{ x.proposed }}
</b-badge>
</b-col>
</b-row>
</b-tab>
</b-tabs>
</div>
</template>
<script>
import {
BSkeleton, BSkeletonWrapper,
BSkeleton, BSkeletonWrapper, BInputGroupAppend, BTabs, BTab, BFormGroup, BFormSelect, BFormSelectOption,
BRow, BCol, VBTooltip, BFormInput, BCard, BAlert, BFormCheckbox, BButton, BBadge, BInputGroup, BInputGroupPrepend,
} from 'bootstrap-vue'
@@ -115,15 +201,21 @@ export default {
BRow,
BCol,
BFormInput,
BFormGroup,
BCard,
BAlert,
BButton,
BBadge,
BFormCheckbox,
BFormSelect,
BFormSelectOption,
BInputGroup,
BSkeleton,
BSkeletonWrapper,
BInputGroupPrepend,
BInputGroupAppend,
BTabs,
BTab,
},
directives: {
'b-tooltip': VBTooltip,
@@ -132,6 +224,7 @@ export default {
const { chain } = this.$route.params
const pinned = localStorage.getItem('pinned') ? localStorage.getItem('pinned').split(',') : ''
return {
height: 0,
loading: true,
missedFilter: false,
pinned,
@@ -142,6 +235,12 @@ export default {
blocks: Array.from('0'.repeat(50)).map(x => ({ sigs: {}, height: Number(x) })),
syncing: false,
latestTime: '',
threshold: 10,
proposers: {},
absentValsInBlock: {},
numOfBlock: 1000,
temp: 0,
frequency: 6000,
}
},
computed: {
@@ -157,10 +256,30 @@ export default {
}
return rets
},
// Compose data for group by proposer
proposerViewData() {
const valCounter = {}
this.validators.forEach(x => {
valCounter[this.hex2base64(consensusPubkeyToHexAddress(x.consensus_pubkey))] = {
name: x.description.moniker,
counter: 0,
proposed: 0,
}
})
Object.keys(this.proposers).forEach(height => {
const num = this.absentValsInBlock[height] || 0
if (valCounter[this.proposers[height]]) {
if (num > this.threshold) {
valCounter[this.proposers[height]].counter += 1 // (num >= Number(this.threshold) ? 1 : 0)
}
valCounter[this.proposers[height]].proposed += 1
}
})
return Object.values(valCounter).sort((a, b) => b.counter - a.counter)
},
},
created() {
const cached = JSON.parse(getCachedValidators(this.$route.params.chain))
if (cached) {
this.validators = cached
}
@@ -216,7 +335,7 @@ export default {
blocks.push({ sigs, height })
this.blocks = blocks
this.timer = setInterval(this.fetch_latest, 6000)
this.timer = setInterval(this.fetch_latest, this.frequency)
this.loading = false
})
},
@@ -227,20 +346,38 @@ export default {
})
return sigs
},
onFrequencyChange() {
clearInterval(this.timer)
this.timer = setInterval(this.fetch_latest, this.frequency)
},
hex2base64(v) {
return toBase64(fromHex(v))
},
fetch_status(height, resolve) {
const block = this.blocks.find(b => b.height === height)
if (block) {
this.$http.getBlockByHeight(height).then(res => {
resolve()
this.$http.getBlockByHeight(height).then(res => {
resolve()
const block = this.blocks.find(b => b.height === height)
// update valiators states
if (block) {
const sigs = this.initColor()
res.block.last_commit.signatures.forEach(x => {
if (x.validator_address) sigs[x.validator_address] = 'bg-success'
})
this.$set(block, 'sigs', sigs)
})
}
// update proposer states
this.count(res.block)
})
},
/// count how many absent valiators in a block
count(block) {
const count = block.last_commit.signatures.reduce((p, c) => (c.block_id_flag !== 'BLOCK_ID_FLAG_COMMIT' ? p + 1 : p), 0)
// Notes: block.header.height == last_commint.height + 1
this.$set(this.proposers, block.header.height, block.header.proposer_address)
this.$set(this.absentValsInBlock, block.last_commit.height, count)
if (count >= this.threshold) {
this.temp += 1
}
},
fetch_latest() {
@@ -249,12 +386,14 @@ export default {
res.block.last_commit.signatures.forEach(x => {
if (x.validator_address) sigs[x.validator_address] = 'bg-success'
})
this.height = res.block.header.height
const block = this.blocks.find(b => b.height === res.block.last_commit.height)
if (typeof block === 'undefined') { // mei
// this.$set(block, 0, typeof sigs !== 'undefined')
if (this.blocks.length >= 50) this.blocks.shift()
this.blocks.push({ sigs, height: res.block.last_commit.height })
}
this.count(res.block)
})
},
},
-8
View File
@@ -673,14 +673,6 @@ export default {
initial() {
this.$http.getBankAccountBalance(this.address).then(bal => {
this.assets = bal
bal.forEach(x => {
const symbol = formatTokenDenom(x.denom)
if (!this.quotes[symbol] && symbol.indexOf('/') === -1) {
chainAPI.fetchTokenQuote(symbol).then(quote => {
this.$set(this.quotes, symbol, quote)
})
}
})
})
this.$http.getStakingReward(this.address).then(res => {
this.reward = res
+16 -10
View File
@@ -15,7 +15,7 @@
<b-td
style="text-transform: capitalize; vertical-align: top;"
>
{{ name }}
{{ formatTitle(name) }}
</b-td>
<b-td v-if="isTokenField(value)">
{{ formatTokens( value ) }}
@@ -41,10 +41,9 @@
<b-tab
v-for="key in Object.keys(value)"
:key="key"
:title="key"
class="pl-0 pr-0"
:title="formatTitle(key)"
class="p-0 text-capitalize"
title-item-class="bg-light-primary"
style="padding: 0px;"
>
<array-field-component
v-if="Array.isArray(value[key])"
@@ -58,7 +57,10 @@
v-else-if="isObjectText(value[key])"
:tablefield="toObject(value[key])"
/>
<span v-else>{{ value[key] }}</span>
<div
v-else
style="max-width: 800px; max-height: 300px; overflow: auto;"
>{{ value[key] }}</div>
</b-tab>
</b-tabs>
</b-td>
@@ -66,7 +68,10 @@
<VueMarkdown v-if="name==='description'">
{{ addNewLine(value) }}
</VueMarkdown>
<span v-else>{{ value }}</span>
<div
v-else
style="max-width: 800px; max-height: 300px; overflow: auto;"
>{{ value }}</div>
</b-td>
</b-tr>
</b-tbody>
@@ -129,6 +134,7 @@ export default {
// }
return value
},
formatTitle: v => v.replaceAll('_', ' '),
isObjectText(v) {
return String(v).startsWith('{') && String(v).endsWith('}')
},
@@ -140,16 +146,16 @@ export default {
return Array.from(value)
},
isTokenField(value) {
return isToken(value)
return value ? isToken(value) : false
},
isHex(value) {
return isHexAddress(value)
return value ? isHexAddress(value) : false
},
formatHexAddress(v) {
return getStakingValidatorByHex(this.$http.config.chain_name, v)
},
isArrayText(value) {
return isStringArray(value)
return value ? isStringArray(value) : false
},
formatTokens(value) {
return tokenFormatter(value)
@@ -159,7 +165,7 @@ export default {
if (percentage.test(value)) {
return `${percent(value)}%`
}
return value.replace(/(?:\\[rn])+/g, '\n')
return value ? value.replace(/(?:\\[rn])+/g, '\n') : '-'
},
},
}
@@ -176,6 +176,14 @@
>
<feather-icon icon="GithubIcon" /> Github
</b-button>
<b-button
:href="discord"
class="mr-1"
variant="outline-secondary"
size="sm"
>
<feather-icon icon="MessageSquareIcon" /> Discord
</b-button>
<b-button
:href="telegram"
class="mr-1"
@@ -362,6 +370,15 @@ export default {
}
return '#'
},
discord() {
if (this.coinInfo.links) {
const discordLink = this.coinInfo.links.chat_url.filter(x => x.includes('discord'))
if (discordLink) {
return discordLink ? `${discordLink}` : '#'
}
}
return '#'
},
telegram() {
if (this.coinInfo.links) {
return this.coinInfo.links.telegram_channel_identifier ? `https://t.me/${this.coinInfo.links.telegram_channel_identifier}` : '#'