diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000000..cf49325470
Binary files /dev/null and b/.DS_Store differ
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000000..bf23473672
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,9 @@
+# .github/dependabot.yml
+
+version: 2
+updates:
+ - package-ecosystem: "npm"
+ directory: "/"
+ target-branch: "test"
+ schedule:
+ interval: "monthly"
diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg
new file mode 100644
index 0000000000..939deef6e6
--- /dev/null
+++ b/.husky/prepare-commit-msg
@@ -0,0 +1,3 @@
+#!/bin/bash
+exec < /dev/tty && node_modules/.bin/git-cz --hook || true
+
diff --git a/.mise.toml b/.mise.toml
new file mode 100644
index 0000000000..0f19d1d949
--- /dev/null
+++ b/.mise.toml
@@ -0,0 +1,2 @@
+[tools]
+node = "21.3.0"
diff --git a/chains/mainnet/axelar.json b/chains/mainnet/axelar.json
deleted file mode 100644
index 28bd6d986b..0000000000
--- a/chains/mainnet/axelar.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "chain_name": "axelar",
- "api": [
- "https://rest.axelar.lava.build/lava-referer-97409c72-1a82-4861-8651-119c15151cbe"
- ],
- "rpc": [
- "https://tm.axelar.lava.build/lava-referer-97409c72-1a82-4861-8651-119c15151cbe"
- ],
- "snapshot_provider": "",
- "sdk_version": "0.45.6",
- "coin_type": "118",
- "min_tx_fee": "800",
- "addr_prefix": "axelar",
- "logo": "/logos/axelar.svg",
- "theme_color": "#161723",
- "assets": [
- {
- "base": "uaxl",
- "symbol": "AXL",
- "exponent": "6",
- "coingecko_id": "axelar",
- "logo": "/logos/axelar.svg"
- },
- {
- "base": "uusdc",
- "symbol": "axlUSDC",
- "exponent": "6",
- "coingecko_id": "usd-coin",
- "logo": "/logos/usdc.svg"
- },
- {
- "base": "uusdt",
- "symbol": "axlUSDT",
- "exponent": "6",
- "coingecko_id": "tether",
- "logo": "/logos/usdt.svg"
- },
- {
- "base": "dai-wei",
- "symbol": "axlDAI",
- "exponent": "18",
- "coingecko_id": "dai",
- "logo": "/logos/dai.svg"
- },
- {
- "base": "weth-wei",
- "symbol": "axlWETH",
- "exponent": "18",
- "coingecko_id": "ethereum",
- "logo": "/logos/weth.svg"
- },
- {
- "base": "wmatic-wei",
- "symbol": "axlWMATIC",
- "exponent": "18",
- "coingecko_id": "matic-network",
- "logo": "/logos/wmatic.svg"
- },
- {
- "base": "wavax-wei",
- "symbol": "axlWAVAX",
- "exponent": "18",
- "coingecko_id": "avalanche-2",
- "logo": "/logos/wavax.svg"
- },
- {
- "base": "dot-planck",
- "symbol": "axlDOT",
- "exponent": "10",
- "coingecko_id": "polkadot",
- "logo": "/logos/dot.svg"
- }
- ]
-}
diff --git a/chains/mainnet/chain.json b/chains/mainnet/chain.json
new file mode 100644
index 0000000000..806e992f46
--- /dev/null
+++ b/chains/mainnet/chain.json
@@ -0,0 +1,47 @@
+{
+ "chain_name": "chain",
+ "registry_name": "cosmoshub",
+ "api": [
+ {
+ "provider": "cosmos.directory",
+ "address": "https://rest.cosmos.directory/cosmoshub"
+ },
+ {
+ "provider": "publicnode",
+ "address": "https://cosmos-rest.publicnode.com"
+ },
+ {
+ "provider": "silknode",
+ "address": "https://cosmos.api.silknodes.io"
+ }
+ ],
+ "rpc": [
+ {
+ "provider": "icycro",
+ "address": "https://cosmos-rpc.icycro.org"
+ },
+ {
+ "provider": "dragonstake",
+ "address": "https://rpc.cosmos.dragonstake.io"
+ },
+ {
+ "provider": "Golden Ratio Staking",
+ "address": "https://rpc-cosmoshub.goldenratiostaking.net"
+ }
+ ],
+ "sdk_version": "0.45.1",
+ "coin_type": "118",
+ "min_tx_fee": "800",
+ "addr_prefix": "cosmos",
+ "logo": "/logo.svg",
+ "theme_color": "#6e6e6e",
+ "assets": [
+ {
+ "base": "uatom",
+ "symbol": "ATOM",
+ "exponent": "6",
+ "coingecko_id": "cosmos",
+ "logo": "/logo.svg"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/chains/mainnet/cosmos.json b/chains/mainnet/cosmos.json
deleted file mode 100644
index 954ec4bba4..0000000000
--- a/chains/mainnet/cosmos.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "chain_name": "cosmos",
- "registry_name": "cosmoshub",
- "api": [
- {"provider": "cosmos.directory", "address": "https://rest.cosmos.directory/cosmoshub"},
- {"provider": "publicnode", "address": "https://cosmos-rest.publicnode.com"},
- {"provider": "silknode", "address": "https://cosmos.api.silknodes.io"}
- ],
- "rpc": [
- {"provider": "icycro", "address": "https://cosmos-rpc.icycro.org"},
- {"provider": "dragonstake", "address": "https://rpc.cosmos.dragonstake.io"},
- {"provider": "Golden Ratio Staking", "address": "https://rpc-cosmoshub.goldenratiostaking.net"}
- ],
- "sdk_version": "0.45.1",
- "coin_type": "118",
- "min_tx_fee": "800",
- "addr_prefix": "cosmos",
- "logo": "/logos/cosmos.svg",
- "assets": [{
- "base": "uatom",
- "symbol": "ATOM",
- "exponent": "6",
- "coingecko_id": "cosmos",
- "logo": "/logos/cosmos.svg"
- }]
-}
diff --git a/chains/mainnet/neutron.json b/chains/mainnet/neutron.json
deleted file mode 100644
index 76fc3dd6d2..0000000000
--- a/chains/mainnet/neutron.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "chain_name": "neutron",
- "api": [
- {"provider": "Polkachu", "address": "https://neutron-api.polkachu.com"},
- {"provider": "NodeStake", "address": "https://api.neutron.nodestake.top"},
- {"provider": "Allnodes", "address": "https://neutron-rest.publicnode.com"}
- ],
- "rpc": [
- {"provider": "Polkachu", "address": "https://neutron-rpc.polkachu.com"},
- {"provider": "NodeStake", "address": "https://rpc.neutron.nodestake.top"},
- {"provider": "Allnodes", "address": "https://neutron-rpc.publicnode.com:443"}
- ],
- "provider_chain": {
- "api": ["https://rest.cosmos.directory/cosmoshub"]
- },
- "features": ["dashboard", "blocks", "ibc", "cosmwasm", "uptime", "parameters", "state-sync", "consensus", "supply", "widget"],
- "sdk_version": "0.45.1",
- "coin_type": "118",
- "min_tx_fee": "8000",
- "assets": [{
- "base": "untrn",
- "symbol": "NTRN",
- "exponent": "6",
- "coingecko_id": "neutron",
- "logo": "/logos/neutron.svg"
- }],
- "addr_prefix": "neutron",
- "theme_color": "#161723",
- "logo": "/logos/neutron.svg"
-}
diff --git a/chains/mainnet/nolus.json b/chains/mainnet/nolus.json
deleted file mode 100644
index 81bdd48470..0000000000
--- a/chains/mainnet/nolus.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "chain_name": "nolus",
- "coingecko": "nolus",
- "api": [
- {"provider": "Nolus", "address": "https://pirin-cl.nolus.network:1317"},
- {"provider": "LavenderFive", "address": "https://nolus-api.lavenderfive.com:443"},
- {"provider": "Allnodes", "address": "https://nolus-rest.publicnode.com"}
- ],
- "rpc": [
- {"provider": "Nolus", "address": "https://pirin-cl.nolus.network:26657"},
- {"provider": "LavenderFive", "address": "https://nolus-rpc.lavenderfive.com:443"},
- {"provider": "Allnodes", "address": "https://nolus-rpc.publicnode.com:443"}
- ],
- "snapshot_provider": "",
- "sdk_version": "v0.47.6",
- "coin_type": "118",
- "min_tx_fee": "0",
- "addr_prefix": "nolus",
- "logo": "/logos/nolus.svg",
- "assets": [{
- "base": "unls",
- "symbol": "NLS",
- "exponent": "6",
- "coingecko_id": "nolus",
- "logo": "/logos/nolus.svg"
- }]
-}
diff --git a/chains/mainnet/osmosis.json b/chains/mainnet/osmosis.json
deleted file mode 100644
index 35669f39a9..0000000000
--- a/chains/mainnet/osmosis.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "chain_name": "osmosis",
- "coingecko": "osmosis",
- "api": ["https://lcd.osmosis.zone","https://api-osmosis-ia.cosmosia.notional.ventures", "https://osmosis-api.polkachu.com", "https://lcd-osmosis.blockapsis.com"],
- "rpc": ["https://rpc.osmosis.zone", "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.46.1",
- "coin_type": "118",
- "min_tx_fee": "800",
- "addr_prefix": "osmo",
- "logo": "/logos/osmosis.jpg",
- "theme_color": "#812cd6",
- "assets": [{
- "base": "uosmo",
- "symbol": "OSMO",
- "exponent": "6",
- "coingecko_id": "osmosis",
- "logo": "/logos/osmosis.jpg"
- },{
- "base": "uion",
- "symbol": "ION",
- "exponent": "6",
- "coingecko_id": "ion",
- "logo": "/logos/osmosis.jpg"
- },{
- "base": "usomm",
- "symbol": "SOMM",
- "exponent": "6",
- "coingecko_id": "somm",
- "logo": ""
- }]
-}
diff --git a/chains/testnet/crossfi.json b/chains/testnet/crossfi.json
deleted file mode 100644
index 5414f3f202..0000000000
--- a/chains/testnet/crossfi.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "chain_name": "crossfi-testnet-1",
- "api": ["https://crossfi-testnet-api.forpeaky.xyz"],
- "rpc": ["https://crossfi-testnet-rpc.forpeaky.xyz"],
- "coingecko": "",
- "snapshot_provider": "",
- "sdk_version": "0.47.1",
- "coin_type": "118",
- "min_tx_fee": "500",
- "addr_prefix": "crossfi"
- }
\ No newline at end of file
diff --git a/index.html b/index.html
index 156b08af67..4205051334 100644
--- a/index.html
+++ b/index.html
@@ -2,10 +2,10 @@
-
+
- Ping Dashboard - Cosmos Blockchain Explorer And Web Wallet
-
+ Vector Explorer
+
@@ -13,31 +13,17 @@

-
+
+
-
-
-
+
diff --git a/package.json b/package.json
index e4f5021547..fb0df1f452 100644
--- a/package.json
+++ b/package.json
@@ -9,53 +9,58 @@
"build": "run-p type-check build-only",
"preview": "vite preview",
"build-only": "vite build",
- "type-check": "vue-tsc --noEmit"
+ "type-check": "vue-tsc --noEmit",
+ "postinstall": "husky"
},
"dependencies": {
"@chenfengyuan/vue-countdown": "2",
- "@cosmjs/crypto": "^0.32.3",
"@cosmjs/amino": "^0.32.3",
+ "@cosmjs/crypto": "^0.32.3",
"@cosmjs/encoding": "^0.32.3",
"@cosmjs/stargate": "^0.32.3",
"@iconify/vue": "^4.1.0",
"@intlify/unplugin-vue-i18n": "^0.8.2",
"@leapwallet/cosmos-snap-provider": "^0.1.20",
"@leapwallet/name-matcha": "^1.1.0",
- "@osmonauts/lcd": "^0.8.0",
+ "@osmonauts/lcd": "^1.0.3",
"@personaxyz/ad-sdk": "0.0.25",
"@ping-pub/chain-registry-client": "^0.0.25",
+ "@vercel/analytics": "^1.4.1",
"@vitejs/plugin-vue-jsx": "^3.0.0",
"@vueuse/core": "^9.12.0",
"@vueuse/integrations": "^10.1.2",
"@vueuse/math": "^9.12.0",
"apexcharts": "^3.37.1",
"autoprefixer": "^10.4.14",
- "axios": "^1.3.2",
+ "axios": "^1.7.8",
"buffer": "^6.0.3",
"build": "^0.1.4",
"cross-fetch": "^3.1.5",
"daisyui": "^3.1.0",
"dayjs": "^1.11.7",
+ "husky-init": "^8.0.0",
"lazy-load-vue3": "^1.3.0",
"long": "^5.2.1",
"md-editor-v3": "^2.8.1",
"numeral": "^2.0.6",
"osmojs": "^14.0.0-rc.0",
"pinia": "^2.0.28",
- "postcss": "^8.4.23",
+ "postcss": "^8.4.49",
"qrcode": "^1.5.3",
"tailwindcss": "^3.3.1",
"theme-change": "^2.5.0",
"vite-plugin-vue-layouts": "^0.7.0",
"vue": "^3.2.45",
- "vue-i18n": "^9.2.2",
+ "vue-i18n": "^9.14.2",
"vue-prism-component": "^2.0.0",
"vue-router": "^4.1.6",
"vue3-apexcharts": "^1.4.1",
"vue3-json-viewer": "^2.2.2",
- "vue3-perfect-scrollbar": "^1.6.1"
+ "vue3-perfect-scrollbar": "^2.0.0"
},
"devDependencies": {
+ "@commitlint/cli": "^19.6.0",
+ "@commitlint/config-conventional": "^19.6.0",
"@osmonauts/telescope": "^0.88.2",
"@types/marked": "^4.0.8",
"@types/node": "^18.11.12",
@@ -63,17 +68,30 @@
"@types/semver": "7.5.0",
"@vitejs/plugin-vue": "^4.0.0",
"@vue/tsconfig": "^0.1.3",
+ "commitizen": "^4.3.1",
+ "cz-conventional-changelog": "^3.3.0",
+ "husky": "^9.1.7",
"npm-run-all": "^4.1.5",
"prettier": "^2.7.1",
"sass": "^1.58.0",
"shiki": "^1.0.0-beta.0",
"typescript": "~4.9.5",
"unplugin-auto-import": "^0.13.0",
- "unplugin-vue-components": "^0.23.0",
+ "unplugin-vue-components": "^0.27.5",
"unplugin-vue-define-options": "1.1.4",
"vite": "^4.4.9",
"vite-plugin-pages": "^0.28.0",
"vue-json-viewer": "3",
"vue-tsc": "^1.0.12"
+ },
+ "config": {
+ "commitizen": {
+ "path": "cz-conventional-changelog"
+ }
+ },
+ "husky": {
+ "hooks": {
+ "prepare-commit-msg": "exec < /dev/tty && npx cz --hook || true"
+ }
}
}
diff --git a/public/loader.css b/public/loader.css
index c3a9a13462..125c24c7b4 100644
--- a/public/loader.css
+++ b/public/loader.css
@@ -1,11 +1,21 @@
+body{
+ margin: 0;
+}
+
#loading-bg {
- background: var(--initial-loader-bg, #fff);
+ background: #212121;
+ display:flex;
+ position: relative;
+ height: 100vh;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
}
.loading-logo {
- position: absolute;
+ /* position: absolute;
inset-block-start: 40%;
- inset-inline-start: calc(50% - 75px);
+ inset-inline-start: calc(50% - 75px); */
}
.pre-loading {
@@ -14,8 +24,9 @@
border: 3px solid transparent;
block-size: 55px;
border-radius: 50%;
+ top: 20px;
inline-size: 55px;
- inset-block-start: calc(40% + 35px);
+ inset-block-start: calc(40% + 140px);
inset-inline-start: calc(50% - 27.5px);
}
diff --git a/public/logo.svg b/public/logo.svg
index a620f52a3e..9b54ba45b6 100644
--- a/public/logo.svg
+++ b/public/logo.svg
@@ -1,82 +1,3 @@
-
-
-