Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
622e2ba449 | ||
|
|
d075f04b8a | ||
|
|
82eeaff601 | ||
|
|
1300ec3c3f | ||
|
|
65039e46bf | ||
|
|
80bd18d8ed | ||
|
|
d0ca90efca | ||
|
|
2253023459 | ||
|
|
1e07bf6d4b | ||
|
|
944b02dce1 | ||
|
|
976ebef410 | ||
|
|
24d1f92bae | ||
|
|
e77a890798 | ||
|
|
9340191314 | ||
|
|
149b42fa39 | ||
|
|
e6459023e1 | ||
|
|
0df70f5701 | ||
|
|
86b4ee0eaa | ||
|
|
4bb76ada1d | ||
|
|
3264300a2b | ||
|
|
88a6215a94 | ||
|
|
b4d82c225b | ||
|
|
c0b15ccc14 | ||
|
|
f004b4af4a | ||
|
|
cb1159ddf3 | ||
|
|
6bd333a41c | ||
|
|
b2d7640240 | ||
|
|
24f39e3bce | ||
|
|
3832b5bf1a | ||
|
|
0b6e1ebd1d | ||
|
|
3f0dcdf276 | ||
|
|
10ad6fef38 | ||
|
|
1a348f6d3e | ||
|
|
85ca2e3989 | ||
|
|
32b9b9aa64 | ||
|
|
883ca9b699 | ||
|
|
ed76d659ff | ||
|
|
837e2e1f44 | ||
|
|
529bf57274 | ||
|
|
b4b2833298 | ||
|
|
b07b11e0eb | ||
|
|
42814c6377 | ||
|
|
5d0ee95d7b | ||
|
|
7661d705b6 | ||
|
|
6468e42d44 | ||
|
|
f8e4d342d6 | ||
|
|
5c37b7b709 | ||
|
|
eec49e8391 | ||
|
|
b67d6ad7dd | ||
|
|
5a4af7c659 | ||
|
|
13b1dbe9fd | ||
|
|
661dd1ff5e | ||
|
|
f97acc8e03 | ||
|
|
4e24af68bc | ||
|
|
ac375f40c8 | ||
|
|
2a73ec8f8a | ||
|
|
ea6d5b25fc | ||
|
|
e21a06a0a7 | ||
|
|
aa1d0161c3 | ||
|
|
6dea16c207 | ||
|
|
f928b8fa73 | ||
|
|
18e4cc609c | ||
|
|
96931d905b | ||
|
|
984dd8ae3a | ||
|
|
3cf3caab79 | ||
|
|
7aa7339639 | ||
|
|
ace266a25b | ||
|
|
81531e36e2 | ||
|
|
1574ec063f | ||
|
|
bca324367e | ||
|
|
da125a2b67 | ||
|
|
f7b72e57fd | ||
|
|
a95dcff4bc | ||
|
|
41a9eb20a3 | ||
|
|
a974b9929b | ||
|
|
871db0d371 | ||
|
|
4f398739fe | ||
|
|
feea9009cb | ||
|
|
044064dcc6 | ||
|
|
b129a3a6a5 | ||
|
|
76aabaf3d6 | ||
|
|
62af7ccc27 | ||
|
|
15ce00fda5 | ||
|
|
221574c923 | ||
|
|
e70a05fa74 | ||
|
|
7cf0259eba | ||
|
|
f9f4de071f | ||
|
|
b7de3bcb34 | ||
|
|
9917b2c534 | ||
|
|
bab7192206 | ||
|
|
037b4e18a2 | ||
|
|
445ce5c805 | ||
|
|
9c51ad6be3 | ||
|
|
8a22b0bd3e | ||
|
|
eb0c5cc9c4 | ||
|
|
f5fde99f63 | ||
|
|
5c259870b9 | ||
|
|
f805dfdea6 | ||
|
|
29af1c8cce | ||
|
|
ec6db195ff | ||
|
|
ac5b4521bb | ||
|
|
611a9a3913 | ||
|
|
e29bf5a678 | ||
|
|
70130dbfe3 | ||
|
|
30eb43ce74 | ||
|
|
c20be0acb2 | ||
|
|
74ae5975f5 | ||
|
|
678417898c | ||
|
|
4206de4541 | ||
|
|
13c78855a7 | ||
|
|
7aa3992eb0 | ||
|
|
4b2602a768 | ||
|
|
610da743bd | ||
|
|
09aedf5011 | ||
|
|
eb749dc7df | ||
|
|
1b7426f627 | ||
|
|
31c7289d01 | ||
|
|
739970114e | ||
|
|
7d9618653c | ||
|
|
4ea72891e5 | ||
|
|
cdeafd9f0a | ||
|
|
8916cc094d | ||
|
|
8d5cdbf0f4 | ||
|
|
af9f1cac45 | ||
|
|
c06364ebb3 | ||
|
|
193ba1987c | ||
|
|
cb74f9ab26 | ||
|
|
1687d6606a | ||
|
|
e96bba810b | ||
|
|
bb804b9939 | ||
|
|
9bae5ec302 | ||
|
|
f8167e546a | ||
|
|
53bc4dbdf9 | ||
|
|
08499947de | ||
|
|
b7f7bed42e | ||
|
|
84e59d0349 | ||
|
|
594db214b2 | ||
|
|
e8d55984eb | ||
|
|
ba3e53e971 | ||
|
|
04619780c4 | ||
|
|
b4f93790fa | ||
|
|
173a4d8bd2 | ||
|
|
df914d1f25 | ||
|
|
6f5f0a0064 | ||
|
|
cf64147d05 | ||
|
|
e2f7f38d47 | ||
|
|
b1e02b81b9 | ||
|
|
38bbe7be5f | ||
|
|
04e152c1fb | ||
|
|
efc7ed5429 | ||
|
|
06fff024d7 | ||
|
|
878e92ec92 | ||
|
|
9c26bcd220 | ||
|
|
42d5a75ed6 | ||
|
|
513fba1115 | ||
|
|
0093928c16 | ||
|
|
4c8694a43e | ||
|
|
255601932c | ||
|
|
d2d3ecaf27 | ||
|
|
e9db729843 | ||
|
|
1176a727e9 | ||
|
|
87a24f8d21 | ||
|
|
c651b7971c | ||
|
|
97083b40df | ||
|
|
8cf7375ce1 | ||
|
|
dcd26824f9 | ||
|
|
543118ba92 | ||
|
|
838971bbbe | ||
|
|
00c0d1147c | ||
|
|
872e997889 | ||
|
|
4b7c72cac0 | ||
|
|
a43a842637 | ||
|
|
1780c2a360 | ||
|
|
3c78a1e01b | ||
|
|
82bdb42a61 | ||
|
|
d62b2368c0 | ||
|
|
bcf4a16996 | ||
|
|
6bcdd61e56 |
@@ -1,11 +1,11 @@
|
|||||||
|
|
||||||
name: Ping Deploy
|
name: Deploy to ping.pub
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
pull_request:
|
# pull_request:
|
||||||
branches: [ master ]
|
# branches: [ master ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# test directories
|
||||||
|
__tests__
|
||||||
|
test
|
||||||
|
tests
|
||||||
|
powered-test
|
||||||
|
|
||||||
|
# asset directories
|
||||||
|
docs
|
||||||
|
doc
|
||||||
|
website
|
||||||
|
images
|
||||||
|
assets
|
||||||
|
|
||||||
|
# examples
|
||||||
|
example
|
||||||
|
examples
|
||||||
|
|
||||||
|
# code coverage directories
|
||||||
|
coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# build scripts
|
||||||
|
Makefile
|
||||||
|
Gulpfile.js
|
||||||
|
Gruntfile.js
|
||||||
|
|
||||||
|
# configs
|
||||||
|
appveyor.yml
|
||||||
|
circle.yml
|
||||||
|
codeship-services.yml
|
||||||
|
codeship-steps.yml
|
||||||
|
wercker.yml
|
||||||
|
.tern-project
|
||||||
|
.gitattributes
|
||||||
|
.editorconfig
|
||||||
|
.*ignore
|
||||||
|
.eslintrc
|
||||||
|
.jshintrc
|
||||||
|
.flowconfig
|
||||||
|
.documentup.json
|
||||||
|
.yarn-metadata.json
|
||||||
|
.travis.yml
|
||||||
|
|
||||||
|
# misc
|
||||||
|
*.md
|
||||||
@@ -1,71 +1,92 @@
|
|||||||
# Ping Explorer
|
<div align="center">
|
||||||
|
|
||||||
Look is a light explorer for Cosmos-based Blockchains. https://ping.pub .
|

|
||||||
|
|
||||||
## What is the difference between Look and other explorers?
|
<h1>Ping Explorer</h1>
|
||||||
|
|
||||||
Look is designed to explore blockchain data as real as possible, therefore there is no cache, no analysis. Look does not cache/save blockchain data on its server. Look only fetch data from Cosmos full node via LCD/RPC endpoints. We call it "Light Explorer".
|
**Ping explorer is not only an explorer but also a wallet and more ... 🛠**
|
||||||
|
|
||||||
## Do you want Look to explore your blockchain?
|
[](https://github.com/ping-pub/explorer/releases/latest)
|
||||||
|
[](https://github.com/ping-pub/explorer/blob/master/LICENSE)
|
||||||
|
[](https://github.com/ping-pub/explorer/actions/workflows/mainnet-deploy.yaml)
|
||||||
|
[](https://twitter.com/ping_pub)
|
||||||
|
[](https://discord.gg/CmjYVSr6GW)
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Ping Explorer is a light explorer for Cosmos-based Blockchains. https://ping.pub .
|
||||||
|
|
||||||
|
## What is the difference between Ping explorer and other explorers?
|
||||||
|
|
||||||
|
Ping Explorer is designed to explore blockchain data as real as possible, therefore there is no cache, no pre-processing. Ping Explorer does not cache/save blockchain data on its server. Ping Explorer only fetch data from Cosmos full node via LCD/RPC endpoints. We call it "Light Explorer".
|
||||||
|
|
||||||
|
## Do you want to list your blockchain on ping.pub?
|
||||||
|
|
||||||
|
Pull your request [here](./src/chains), We will add your chains as soon as possible. It is **FREE** (You must have 10+ independent validators on your chain).
|
||||||
|
|
||||||
|
## Why Ping explorer use official/trusted third party public LCD/rpc server?
|
||||||
|
|
||||||
|
We have two considerations: 1, Trust, In decentralize system, everything controlled by one single team/organization could be risks. So we decided to co-build with the community. 2. We will list hundreds cosmos-based blockchains in the future, it's impossible for our team to run validators or fullnodes for all of those chains.
|
||||||
|
|
||||||
|
# Installation:
|
||||||
|
|
||||||
|
1. Running with yarn
|
||||||
|
```
|
||||||
|
yarn && yarn serve
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Building for web servers, like nginx, apache
|
||||||
|
```
|
||||||
|
yarn && yarn build
|
||||||
|
cp -r ./dist/* <ROOT_OF_WEB_SERVER>
|
||||||
|
```
|
||||||
|
|
||||||
|
# Enable LCD for Ping.pub
|
||||||
|
|
||||||
|
1. Set `enable = true` in `./config/app.toml`
|
||||||
|
```
|
||||||
|
###############################################################################
|
||||||
|
### API Configuration ###
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
[api]
|
||||||
|
|
||||||
|
# Enable defines if the API server should be enabled.
|
||||||
|
enable = true
|
||||||
|
|
||||||
|
# Swagger defines if swagger documentation should automatically be registered.
|
||||||
|
swagger = false
|
||||||
|
|
||||||
|
# Address defines the API server to listen on.
|
||||||
|
address = "tcp://0.0.0.0:1317"
|
||||||
|
|
||||||
|
# MaxOpenConnections defines the number of maximum open connections.
|
||||||
|
max-open-connections = 1000
|
||||||
|
```
|
||||||
|
|
||||||
|
2. add proxy server and enable CORS. NOTE: You must enable https as well.
|
||||||
|
|
||||||
|
```
|
||||||
|
server {
|
||||||
|
server_name juno.api.ping.pub;
|
||||||
|
listen 443;
|
||||||
|
location / {
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
add_header Access-Control-Max-Age 3600;
|
||||||
|
add_header Access-Control-Expose-Headers Content-Length;
|
||||||
|
|
||||||
|
proxy_pass http://<HOST>:1317;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
3. config your blockchain in [./src/chains]()
|
||||||
|
|
||||||
If you want Look to explore your blockchain, pull a request [here](https://github.com/liangping/look/issues), We will explore your chains as soon as possibe. And the most important thing is that Look is free for all public cosmos-based blockchains.
|
|
||||||
|
|
||||||
## Why LOOK explorer use official/trusted third party public LCD/rpc server?
|
|
||||||
|
|
||||||
We have two considerations: 1, Trust, In decentralize system, everything controled by one single team/orgnization could be risks. So we decided to co-build LOOK explorer with the community. 2. Look explorer will explose handreds and thousands cosmos-based blockchains in the future, it's impossible for our team to run validators or fullnodes for all of those chains.
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
Developers: @liangping @dingyiming
|
Developers: @liangping @dingyiming
|
||||||
|
|
||||||
Data providers: [full list](https://github.com/ping-pub/look/blob/master/hosts.json)
|
|
||||||
|
|
||||||
* irisnet.org,
|
|
||||||
* nylira.net,
|
|
||||||
* kava.io
|
|
||||||
|
|
||||||
*If you don't want to provide data services for LOOK exporer, let us know.*
|
|
||||||
|
|
||||||
## Blockchains on LOOK explorer:
|
|
||||||
* https://ping.pub/cosmos
|
|
||||||
* https://ping.pub/iris
|
|
||||||
* https://ping.pub/akash
|
|
||||||
* https://ping.pub/kava
|
|
||||||
|
|
||||||
# LOOK 浏览器
|
|
||||||
|
|
||||||
Look是一个轻浏览器,免费为所有的基于Cosmos-SDK开发的区块链提供浏览服务
|
|
||||||
|
|
||||||
## Look 和其他区块链浏览器有什么不同?
|
|
||||||
|
|
||||||
Look的设计理念是尽可能的保持数据的真实性,所以,他不会在服务器端缓存或者保存任何数据,也不会增加任何分析处理。它仅仅通过LCD/RPC来获取他所需要的所有数据。因此我们叫它“轻浏览器”。
|
|
||||||
|
|
||||||
## 你希望Look来浏览你的区块链吗?
|
|
||||||
|
|
||||||
如果你需要Look来浏览你的区块链,请在[这里](https://github.com/liangping/look/issues) 提交申请,我们会尽快开通。而且是免费的。
|
|
||||||
|
|
||||||
## 为什么LOOK要使用官方或者可信赖的第三方的LCD/RPC服务器?
|
|
||||||
|
|
||||||
我们主要是基于以下两个考虑:1,可信,在去中心化的系统里,任何有一个由单个团队或者实体控制的事情都是有风险的,所以我们选择和社区一起来共建LOOK浏览器。2,LOOK浏览器计划在未来支持成百上千条区块链,因此对我们团队来说,不可能为所有这些链去提供一个验证人节点或者全节点。
|
|
||||||
|
|
||||||
## 项目贡献者
|
|
||||||
|
|
||||||
开发者: @liangping @dingyiming
|
|
||||||
|
|
||||||
数据服务方: [列表](https://github.com/ping-pub/look/blob/master/hosts.json)
|
|
||||||
|
|
||||||
* irisnet.org,
|
|
||||||
* nylira.net,
|
|
||||||
* 01node.com,
|
|
||||||
* kava.io
|
|
||||||
|
|
||||||
*如果你觉得我们滥用了你的服务器资源,请告知我们。*
|
|
||||||
|
|
||||||
## LOOK explorer 上的区块链:
|
|
||||||
* https://ping.pub/cosmos
|
|
||||||
* https://ping.pub/iris
|
|
||||||
* https://ping.pub/akash
|
|
||||||
* https://ping.pub/kava
|
|
||||||
|
|
||||||
# Contact Us
|
|
||||||
Email:18786721#qq.com
|
|
||||||
@@ -23,10 +23,11 @@
|
|||||||
"@ledgerhq/hw-app-cosmos": "^6.3.0",
|
"@ledgerhq/hw-app-cosmos": "^6.3.0",
|
||||||
"@ledgerhq/hw-transport-web-ble": "^6.3.0",
|
"@ledgerhq/hw-transport-web-ble": "^6.3.0",
|
||||||
"@ledgerhq/hw-transport-webusb": "^6.3.0",
|
"@ledgerhq/hw-transport-webusb": "^6.3.0",
|
||||||
|
"@vue/composition-api": "^1.4.0",
|
||||||
"@vueuse/core": "4.0.0",
|
"@vueuse/core": "4.0.0",
|
||||||
"animate.css": "4.1.1",
|
"animate.css": "4.1.1",
|
||||||
"apexcharts": "3.24.0",
|
"apexcharts": "3.24.0",
|
||||||
"axios": "0.21.1",
|
"axios": "0.21.2",
|
||||||
"axios-mock-adapter": "1.19.0",
|
"axios-mock-adapter": "1.19.0",
|
||||||
"bootstrap": "4.6.0",
|
"bootstrap": "4.6.0",
|
||||||
"bootstrap-vue": "2.21.1",
|
"bootstrap-vue": "2.21.1",
|
||||||
@@ -38,13 +39,15 @@
|
|||||||
"echarts": "4.8.0",
|
"echarts": "4.8.0",
|
||||||
"leaflet": "1.6.0",
|
"leaflet": "1.6.0",
|
||||||
"ledger-cosmos-js": "2.1.8",
|
"ledger-cosmos-js": "2.1.8",
|
||||||
"node-fetch": "^2.6.1",
|
"long": "^5.2.0",
|
||||||
|
"node-fetch": "^3.1.1",
|
||||||
"pako": "^1.0.11",
|
"pako": "^1.0.11",
|
||||||
"portal-vue": "2.1.7",
|
"portal-vue": "2.1.7",
|
||||||
"postcss-rtl": "1.7.3",
|
"postcss-rtl": "1.7.3",
|
||||||
"prismjs": "1.24.0",
|
"prismjs": "1.25.0",
|
||||||
"protobufjs-cli-dbx": "^7.0.7",
|
"protobufjs-cli-dbx": "^7.0.7",
|
||||||
"protobufjs-dbx": "^7.0.0",
|
"protobufjs-dbx": "^7.0.0",
|
||||||
|
"ripemd160": "^2.0.2",
|
||||||
"swiper": "6.5.1",
|
"swiper": "6.5.1",
|
||||||
"trading-vue-js": "^1.0.2",
|
"trading-vue-js": "^1.0.2",
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
@@ -75,6 +78,7 @@
|
|||||||
"vue-toastification": "1.7.8",
|
"vue-toastification": "1.7.8",
|
||||||
"vue-tour": "1.5.0",
|
"vue-tour": "1.5.0",
|
||||||
"vue-tree-halower": "1.8.3",
|
"vue-tree-halower": "1.8.3",
|
||||||
|
"vue2-flip-countdown": "^0.12.1",
|
||||||
"vue2-leaflet": "2.5.2",
|
"vue2-leaflet": "2.5.2",
|
||||||
"vuedraggable": "2.24.3",
|
"vuedraggable": "2.24.3",
|
||||||
"vuex": "3.6.0"
|
"vuex": "3.6.0"
|
||||||
@@ -1863,7 +1867,7 @@
|
|||||||
"@cosmjs/encoding": "0.26.5",
|
"@cosmjs/encoding": "0.26.5",
|
||||||
"@cosmjs/math": "0.26.5",
|
"@cosmjs/math": "0.26.5",
|
||||||
"@cosmjs/utils": "0.26.5",
|
"@cosmjs/utils": "0.26.5",
|
||||||
"axios": "^0.21.2",
|
"axios": "0.21.2",
|
||||||
"fast-deep-equal": "^3.1.3"
|
"fast-deep-equal": "^3.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1935,6 +1939,11 @@
|
|||||||
"protobufjs": "~6.10.2"
|
"protobufjs": "~6.10.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@cosmjs/proto-signing/node_modules/long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"node_modules/@cosmjs/socket": {
|
"node_modules/@cosmjs/socket": {
|
||||||
"version": "0.26.5",
|
"version": "0.26.5",
|
||||||
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.26.5.tgz",
|
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.26.5.tgz",
|
||||||
@@ -1985,6 +1994,11 @@
|
|||||||
"xstream": "^11.14.0"
|
"xstream": "^11.14.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@cosmjs/stargate/node_modules/long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"node_modules/@cosmjs/stream": {
|
"node_modules/@cosmjs/stream": {
|
||||||
"version": "0.26.5",
|
"version": "0.26.5",
|
||||||
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.26.5.tgz",
|
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.26.5.tgz",
|
||||||
@@ -2004,7 +2018,7 @@
|
|||||||
"@cosmjs/math": "0.26.5",
|
"@cosmjs/math": "0.26.5",
|
||||||
"@cosmjs/socket": "0.26.5",
|
"@cosmjs/socket": "0.26.5",
|
||||||
"@cosmjs/stream": "0.26.5",
|
"@cosmjs/stream": "0.26.5",
|
||||||
"axios": "^0.21.2",
|
"axios": "0.21.2",
|
||||||
"readonly-date": "^1.0.0",
|
"readonly-date": "^1.0.0",
|
||||||
"xstream": "^11.14.0"
|
"xstream": "^11.14.0"
|
||||||
}
|
}
|
||||||
@@ -2063,6 +2077,25 @@
|
|||||||
"unorm": "^1.3.3"
|
"unorm": "^1.3.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@cosmostation/cosmosjs/node_modules/node-fetch": {
|
||||||
|
"version": "2.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
|
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "4.x || >=6.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"encoding": "^0.1.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"encoding": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@hapi/address": {
|
"node_modules/@hapi/address": {
|
||||||
"version": "2.1.4",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
|
||||||
@@ -2461,6 +2494,25 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@nuxt/opencollective/node_modules/node-fetch": {
|
||||||
|
"version": "2.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
|
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "4.x || >=6.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"encoding": "^0.1.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"encoding": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@nuxt/opencollective/node_modules/supports-color": {
|
"node_modules/@nuxt/opencollective/node_modules/supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
@@ -4500,11 +4552,11 @@
|
|||||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "0.21.1",
|
"version": "0.21.2",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz",
|
||||||
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
|
"integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.10.0"
|
"follow-redirects": "^1.14.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios-mock-adapter": {
|
"node_modules/axios-mock-adapter": {
|
||||||
@@ -6167,9 +6219,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001245",
|
"version": "1.0.30001303",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz",
|
||||||
"integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==",
|
"integrity": "sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@@ -7134,6 +7186,11 @@
|
|||||||
"protobufjs": "~6.11.2"
|
"protobufjs": "~6.11.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/cosmjs-types/node_modules/long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"node_modules/cosmjs-types/node_modules/protobufjs": {
|
"node_modules/cosmjs-types/node_modules/protobufjs": {
|
||||||
"version": "6.11.2",
|
"version": "6.11.2",
|
||||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
|
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
|
||||||
@@ -7586,6 +7643,14 @@
|
|||||||
"node": ">=0.10"
|
"node": ">=0.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/data-uri-to-buffer": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/dayjs": {
|
"node_modules/dayjs": {
|
||||||
"version": "1.10.6",
|
"version": "1.10.6",
|
||||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
|
||||||
@@ -9576,6 +9641,28 @@
|
|||||||
"pend": "~1.2.0"
|
"pend": "~1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fetch-blob": {
|
||||||
|
"version": "3.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz",
|
||||||
|
"integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/jimmywarting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "paypal",
|
||||||
|
"url": "https://paypal.me/jimmywarting"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"node-domexception": "^1.0.0",
|
||||||
|
"web-streams-polyfill": "^3.0.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^12.20 || >= 14.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/figgy-pudding": {
|
"node_modules/figgy-pudding": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
||||||
@@ -9912,6 +9999,17 @@
|
|||||||
"node": ">= 0.12"
|
"node": ">= 0.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/formdata-polyfill": {
|
||||||
|
"version": "4.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
|
||||||
|
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
|
||||||
|
"dependencies": {
|
||||||
|
"fetch-blob": "^3.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.20.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/forwarded": {
|
"node_modules/forwarded": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
||||||
@@ -12702,9 +12800,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/long": {
|
"node_modules/long": {
|
||||||
"version": "4.0.0",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz",
|
||||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
"integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w=="
|
||||||
},
|
},
|
||||||
"node_modules/longest": {
|
"node_modules/longest": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@@ -13533,12 +13631,39 @@
|
|||||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/node-fetch": {
|
"node_modules/node-domexception": {
|
||||||
"version": "2.6.1",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
|
||||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
|
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/jimmywarting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://paypal.me/jimmywarting"
|
||||||
|
}
|
||||||
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "4.x || >=6.0.0"
|
"node": ">=10.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/node-fetch": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-SMk+vKgU77PYotRdWzqZGTZeuFKlsJ0hu4KPviQKkfY+N3vn2MIzr0rvpnYpR8MtB3IEuhlEcuOLbGvLRlA+yg==",
|
||||||
|
"dependencies": {
|
||||||
|
"data-uri-to-buffer": "^4.0.0",
|
||||||
|
"fetch-blob": "^3.1.3",
|
||||||
|
"formdata-polyfill": "^4.0.10"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/node-fetch"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/node-forge": {
|
"node_modules/node-forge": {
|
||||||
@@ -15473,9 +15598,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prismjs": {
|
"node_modules/prismjs": {
|
||||||
"version": "1.24.0",
|
"version": "1.25.0",
|
||||||
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.24.0.tgz",
|
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz",
|
||||||
"integrity": "sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ=="
|
"integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg=="
|
||||||
},
|
},
|
||||||
"node_modules/process": {
|
"node_modules/process": {
|
||||||
"version": "0.11.10",
|
"version": "0.11.10",
|
||||||
@@ -15645,11 +15770,21 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
|
||||||
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
|
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
|
||||||
},
|
},
|
||||||
|
"node_modules/protobufjs-dbx/node_modules/long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"node_modules/protobufjs/node_modules/@types/node": {
|
"node_modules/protobufjs/node_modules/@types/node": {
|
||||||
"version": "13.13.52",
|
"version": "13.13.52",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz",
|
||||||
"integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ=="
|
"integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ=="
|
||||||
},
|
},
|
||||||
|
"node_modules/protobufjs/node_modules/long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"node_modules/proxy-addr": {
|
"node_modules/proxy-addr": {
|
||||||
"version": "2.0.7",
|
"version": "2.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||||
@@ -18718,6 +18853,11 @@
|
|||||||
"node": ">=0.8"
|
"node": ">=0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/tr46": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||||
|
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
|
||||||
|
},
|
||||||
"node_modules/trading-vue-js": {
|
"node_modules/trading-vue-js": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/trading-vue-js/-/trading-vue-js-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/trading-vue-js/-/trading-vue-js-1.0.2.tgz",
|
||||||
@@ -20011,6 +20151,23 @@
|
|||||||
"vue": "^2.4.4"
|
"vue": "^2.4.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vue2-flip-countdown": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue2-flip-countdown/-/vue2-flip-countdown-0.12.1.tgz",
|
||||||
|
"integrity": "sha512-kS3A86VMUjsG2FGnqv/AO4UTLKAAwutqh1dOTPfjSRiUfsgLO+9gmhLSeo+qSBoQYpCxccq44G/IsoRef8kywQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"uuid": "^3.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/vue2-flip-countdown/node_modules/uuid": {
|
||||||
|
"version": "3.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||||
|
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
||||||
|
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
|
||||||
|
"bin": {
|
||||||
|
"uuid": "bin/uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vue2-leaflet": {
|
"node_modules/vue2-leaflet": {
|
||||||
"version": "2.5.2",
|
"version": "2.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/vue2-leaflet/-/vue2-leaflet-2.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/vue2-leaflet/-/vue2-leaflet-2.5.2.tgz",
|
||||||
@@ -20201,6 +20358,19 @@
|
|||||||
"defaults": "^1.0.3"
|
"defaults": "^1.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/web-streams-polyfill": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/webidl-conversions": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||||
|
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
|
||||||
|
},
|
||||||
"node_modules/webpack": {
|
"node_modules/webpack": {
|
||||||
"version": "4.46.0",
|
"version": "4.46.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
|
||||||
@@ -20522,6 +20692,15 @@
|
|||||||
"node": ">=0.8.0"
|
"node": ">=0.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/whatwg-url": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||||
|
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
|
||||||
|
"dependencies": {
|
||||||
|
"tr46": "~0.0.3",
|
||||||
|
"webidl-conversions": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/which": {
|
"node_modules/which": {
|
||||||
"version": "1.3.1",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||||
@@ -22224,13 +22403,12 @@
|
|||||||
"@cosmjs/encoding": "0.26.5",
|
"@cosmjs/encoding": "0.26.5",
|
||||||
"@cosmjs/math": "0.26.5",
|
"@cosmjs/math": "0.26.5",
|
||||||
"@cosmjs/utils": "0.26.5",
|
"@cosmjs/utils": "0.26.5",
|
||||||
"axios": "^0.21.2",
|
"axios": "0.21.2",
|
||||||
"fast-deep-equal": "^3.1.3"
|
"fast-deep-equal": "^3.1.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "0.21.4",
|
"version": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
|
|
||||||
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
|
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.14.0"
|
"follow-redirects": "^1.14.0"
|
||||||
@@ -22289,6 +22467,13 @@
|
|||||||
"cosmjs-types": "^0.2.0",
|
"cosmjs-types": "^0.2.0",
|
||||||
"long": "^4.0.0",
|
"long": "^4.0.0",
|
||||||
"protobufjs": "~6.10.2"
|
"protobufjs": "~6.10.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@cosmjs/socket": {
|
"@cosmjs/socket": {
|
||||||
@@ -22327,6 +22512,13 @@
|
|||||||
"long": "^4.0.0",
|
"long": "^4.0.0",
|
||||||
"protobufjs": "~6.10.2",
|
"protobufjs": "~6.10.2",
|
||||||
"xstream": "^11.14.0"
|
"xstream": "^11.14.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@cosmjs/stream": {
|
"@cosmjs/stream": {
|
||||||
@@ -22348,14 +22540,13 @@
|
|||||||
"@cosmjs/math": "0.26.5",
|
"@cosmjs/math": "0.26.5",
|
||||||
"@cosmjs/socket": "0.26.5",
|
"@cosmjs/socket": "0.26.5",
|
||||||
"@cosmjs/stream": "0.26.5",
|
"@cosmjs/stream": "0.26.5",
|
||||||
"axios": "^0.21.2",
|
"axios": "0.21.2",
|
||||||
"readonly-date": "^1.0.0",
|
"readonly-date": "^1.0.0",
|
||||||
"xstream": "^11.14.0"
|
"xstream": "^11.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "0.21.4",
|
"version": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
|
|
||||||
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
|
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.14.0"
|
"follow-redirects": "^1.14.0"
|
||||||
@@ -22402,6 +22593,14 @@
|
|||||||
"safe-buffer": "^5.0.1",
|
"safe-buffer": "^5.0.1",
|
||||||
"unorm": "^1.3.3"
|
"unorm": "^1.3.3"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
|
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||||
|
"requires": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -22717,6 +22916,14 @@
|
|||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||||
},
|
},
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
|
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||||
|
"requires": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
@@ -24379,11 +24586,11 @@
|
|||||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
||||||
},
|
},
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "0.21.1",
|
"version": "0.21.2",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz",
|
||||||
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
|
"integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.10.0"
|
"follow-redirects": "^1.14.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"axios-mock-adapter": {
|
"axios-mock-adapter": {
|
||||||
@@ -25729,9 +25936,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"caniuse-lite": {
|
"caniuse-lite": {
|
||||||
"version": "1.0.30001245",
|
"version": "1.0.30001303",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz",
|
||||||
"integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==",
|
"integrity": "sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"case-sensitive-paths-webpack-plugin": {
|
"case-sensitive-paths-webpack-plugin": {
|
||||||
@@ -26530,6 +26737,11 @@
|
|||||||
"protobufjs": "~6.11.2"
|
"protobufjs": "~6.11.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"protobufjs": {
|
"protobufjs": {
|
||||||
"version": "6.11.2",
|
"version": "6.11.2",
|
||||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
|
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
|
||||||
@@ -26881,6 +27093,11 @@
|
|||||||
"assert-plus": "^1.0.0"
|
"assert-plus": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"data-uri-to-buffer": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA=="
|
||||||
|
},
|
||||||
"dayjs": {
|
"dayjs": {
|
||||||
"version": "1.10.6",
|
"version": "1.10.6",
|
||||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
|
||||||
@@ -28470,6 +28687,15 @@
|
|||||||
"pend": "~1.2.0"
|
"pend": "~1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fetch-blob": {
|
||||||
|
"version": "3.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz",
|
||||||
|
"integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==",
|
||||||
|
"requires": {
|
||||||
|
"node-domexception": "^1.0.0",
|
||||||
|
"web-streams-polyfill": "^3.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"figgy-pudding": {
|
"figgy-pudding": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
||||||
@@ -28715,6 +28941,14 @@
|
|||||||
"mime-types": "^2.1.12"
|
"mime-types": "^2.1.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"formdata-polyfill": {
|
||||||
|
"version": "4.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
|
||||||
|
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
|
||||||
|
"requires": {
|
||||||
|
"fetch-blob": "^3.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"forwarded": {
|
"forwarded": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
||||||
@@ -30879,9 +31113,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"long": {
|
"long": {
|
||||||
"version": "4.0.0",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz",
|
||||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
"integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w=="
|
||||||
},
|
},
|
||||||
"longest": {
|
"longest": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@@ -31554,10 +31788,20 @@
|
|||||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node-domexception": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="
|
||||||
|
},
|
||||||
"node-fetch": {
|
"node-fetch": {
|
||||||
"version": "2.6.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.1.1.tgz",
|
||||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
"integrity": "sha512-SMk+vKgU77PYotRdWzqZGTZeuFKlsJ0hu4KPviQKkfY+N3vn2MIzr0rvpnYpR8MtB3IEuhlEcuOLbGvLRlA+yg==",
|
||||||
|
"requires": {
|
||||||
|
"data-uri-to-buffer": "^4.0.0",
|
||||||
|
"fetch-blob": "^3.1.3",
|
||||||
|
"formdata-polyfill": "^4.0.10"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node-forge": {
|
"node-forge": {
|
||||||
"version": "0.10.0",
|
"version": "0.10.0",
|
||||||
@@ -33070,9 +33314,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"prismjs": {
|
"prismjs": {
|
||||||
"version": "1.24.0",
|
"version": "1.25.0",
|
||||||
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.24.0.tgz",
|
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz",
|
||||||
"integrity": "sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ=="
|
"integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg=="
|
||||||
},
|
},
|
||||||
"process": {
|
"process": {
|
||||||
"version": "0.11.10",
|
"version": "0.11.10",
|
||||||
@@ -33124,6 +33368,11 @@
|
|||||||
"version": "13.13.52",
|
"version": "13.13.52",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz",
|
||||||
"integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ=="
|
"integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ=="
|
||||||
|
},
|
||||||
|
"long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -33212,6 +33461,11 @@
|
|||||||
"version": "10.17.60",
|
"version": "10.17.60",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
|
||||||
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
|
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
|
||||||
|
},
|
||||||
|
"long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -35636,6 +35890,11 @@
|
|||||||
"punycode": "^2.1.1"
|
"punycode": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tr46": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||||
|
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
|
||||||
|
},
|
||||||
"trading-vue-js": {
|
"trading-vue-js": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/trading-vue-js/-/trading-vue-js-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/trading-vue-js/-/trading-vue-js-1.0.2.tgz",
|
||||||
@@ -36642,6 +36901,21 @@
|
|||||||
"vue": "^2.4.4"
|
"vue": "^2.4.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"vue2-flip-countdown": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue2-flip-countdown/-/vue2-flip-countdown-0.12.1.tgz",
|
||||||
|
"integrity": "sha512-kS3A86VMUjsG2FGnqv/AO4UTLKAAwutqh1dOTPfjSRiUfsgLO+9gmhLSeo+qSBoQYpCxccq44G/IsoRef8kywQ==",
|
||||||
|
"requires": {
|
||||||
|
"uuid": "^3.3.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"uuid": {
|
||||||
|
"version": "3.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||||
|
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"vue2-leaflet": {
|
"vue2-leaflet": {
|
||||||
"version": "2.5.2",
|
"version": "2.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/vue2-leaflet/-/vue2-leaflet-2.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/vue2-leaflet/-/vue2-leaflet-2.5.2.tgz",
|
||||||
@@ -36790,6 +37064,16 @@
|
|||||||
"defaults": "^1.0.3"
|
"defaults": "^1.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"web-streams-polyfill": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA=="
|
||||||
|
},
|
||||||
|
"webidl-conversions": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||||
|
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
|
||||||
|
},
|
||||||
"webpack": {
|
"webpack": {
|
||||||
"version": "4.46.0",
|
"version": "4.46.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
|
||||||
@@ -37030,6 +37314,15 @@
|
|||||||
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
|
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"whatwg-url": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||||
|
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
|
||||||
|
"requires": {
|
||||||
|
"tr46": "~0.0.3",
|
||||||
|
"webidl-conversions": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"which": {
|
"which": {
|
||||||
"version": "1.3.1",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"lint": "vue-cli-service lint",
|
"lint": "vue-cli-service lint"
|
||||||
"tauri:build": "vue-cli-service tauri:build",
|
|
||||||
"tauri:serve": "vue-cli-service tauri:serve"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@casl/ability": "4.1.6",
|
"@casl/ability": "4.1.6",
|
||||||
@@ -25,11 +23,11 @@
|
|||||||
"@ledgerhq/hw-app-cosmos": "^6.3.0",
|
"@ledgerhq/hw-app-cosmos": "^6.3.0",
|
||||||
"@ledgerhq/hw-transport-web-ble": "^6.3.0",
|
"@ledgerhq/hw-transport-web-ble": "^6.3.0",
|
||||||
"@ledgerhq/hw-transport-webusb": "^6.3.0",
|
"@ledgerhq/hw-transport-webusb": "^6.3.0",
|
||||||
"@vue/composition-api": "^1.4.0",
|
"@vue/composition-api": "^1.4.9",
|
||||||
"@vueuse/core": "4.0.0",
|
"@vueuse/core": "4.0.0",
|
||||||
"animate.css": "4.1.1",
|
"animate.css": "4.1.1",
|
||||||
"apexcharts": "3.24.0",
|
"apexcharts": "3.24.0",
|
||||||
"axios": "0.21.1",
|
"axios": "0.21.2",
|
||||||
"axios-mock-adapter": "1.19.0",
|
"axios-mock-adapter": "1.19.0",
|
||||||
"bootstrap": "4.6.0",
|
"bootstrap": "4.6.0",
|
||||||
"bootstrap-vue": "2.21.1",
|
"bootstrap-vue": "2.21.1",
|
||||||
@@ -38,16 +36,18 @@
|
|||||||
"core-js": "3.8.1",
|
"core-js": "3.8.1",
|
||||||
"cosmjs-types": "^0.2.0",
|
"cosmjs-types": "^0.2.0",
|
||||||
"dayjs": "^1.10.6",
|
"dayjs": "^1.10.6",
|
||||||
"echarts": "4.8.0",
|
"echarts": "5.3.0",
|
||||||
"leaflet": "1.6.0",
|
"leaflet": "1.6.0",
|
||||||
"ledger-cosmos-js": "2.1.8",
|
"ledger-cosmos-js": "2.1.8",
|
||||||
"node-fetch": "^2.6.1",
|
"long": "^5.2.0",
|
||||||
|
"node-fetch": "^2.6.5",
|
||||||
"pako": "^1.0.11",
|
"pako": "^1.0.11",
|
||||||
"portal-vue": "2.1.7",
|
"portal-vue": "2.1.7",
|
||||||
"postcss-rtl": "1.7.3",
|
"postcss-rtl": "1.7.3",
|
||||||
"prismjs": "1.24.0",
|
"prismjs": "1.25.0",
|
||||||
"protobufjs-cli-dbx": "^7.0.7",
|
"protobufjs-cli-dbx": "^7.0.7",
|
||||||
"protobufjs-dbx": "^7.0.0",
|
"protobufjs-dbx": "^7.0.0",
|
||||||
|
"ripemd160": "^2.0.2",
|
||||||
"swiper": "6.5.1",
|
"swiper": "6.5.1",
|
||||||
"trading-vue-js": "^1.0.2",
|
"trading-vue-js": "^1.0.2",
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"vue-cleave-component": "2.1.3",
|
"vue-cleave-component": "2.1.3",
|
||||||
"vue-clipboard2": "0.3.1",
|
"vue-clipboard2": "0.3.1",
|
||||||
"vue-context": "6.0.0",
|
"vue-context": "6.0.0",
|
||||||
"vue-echarts": "5.0.0-beta.0",
|
"vue-echarts": "^6.0.2",
|
||||||
"vue-feather-icons": "5.1.0",
|
"vue-feather-icons": "5.1.0",
|
||||||
"vue-flatpickr-component": "8.1.6",
|
"vue-flatpickr-component": "8.1.6",
|
||||||
"vue-flex-waterfall": "^1.0.7",
|
"vue-flex-waterfall": "^1.0.7",
|
||||||
@@ -78,6 +78,7 @@
|
|||||||
"vue-toastification": "1.7.8",
|
"vue-toastification": "1.7.8",
|
||||||
"vue-tour": "1.5.0",
|
"vue-tour": "1.5.0",
|
||||||
"vue-tree-halower": "1.8.3",
|
"vue-tree-halower": "1.8.3",
|
||||||
|
"vue2-flip-countdown": "^0.12.1",
|
||||||
"vue2-leaflet": "2.5.2",
|
"vue2-leaflet": "2.5.2",
|
||||||
"vuedraggable": "2.24.3",
|
"vuedraggable": "2.24.3",
|
||||||
"vuex": "3.6.0"
|
"vuex": "3.6.0"
|
||||||
@@ -96,7 +97,6 @@
|
|||||||
"eslint-plugin-vue": "6.2.2",
|
"eslint-plugin-vue": "6.2.2",
|
||||||
"sass": "1.32.*",
|
"sass": "1.32.*",
|
||||||
"sass-loader": "^10.1.0",
|
"sass-loader": "^10.1.0",
|
||||||
"vue-cli-plugin-tauri": "~1.0.0-beta.6",
|
|
||||||
"vue-template-compiler": "2.x"
|
"vue-template-compiler": "2.x"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||||
|
y="0px" viewBox="0 0 110 110" style="enable-background:new 0 0 110 110;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:url(#SVGID_1_);}
|
||||||
|
.st1{fill:url(#SVGID_2_);}
|
||||||
|
.st2{fill:url(#SVGID_3_);}
|
||||||
|
.st3{fill:url(#SVGID_4_);}
|
||||||
|
</style>
|
||||||
|
<g>
|
||||||
|
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="18.3748" y1="90.1982" x2="85.5006" y2="25.6877">
|
||||||
|
<stop offset="1.568510e-02" style="stop-color:#2E0E5B"/>
|
||||||
|
<stop offset="1" style="stop-color:#2E205B"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path class="st0" d="M55,110L55,110C24.6,110,0,85.4,0,55v0C0,24.6,24.6,0,55,0l0,0c30.4,0,55,24.6,55,55v0
|
||||||
|
C110,85.4,85.4,110,55,110z"/>
|
||||||
|
<g>
|
||||||
|
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="93.4247" y1="20.8568" x2="44.9131" y2="92.076">
|
||||||
|
<stop offset="4.034390e-02" style="stop-color:#6AF2A6"/>
|
||||||
|
<stop offset="0.197" style="stop-color:#64EFAB"/>
|
||||||
|
<stop offset="0.4077" style="stop-color:#53E8B9"/>
|
||||||
|
<stop offset="0.6492" style="stop-color:#37DCD1"/>
|
||||||
|
<stop offset="0.9118" style="stop-color:#10CBF1"/>
|
||||||
|
<stop offset="1" style="stop-color:#01C5FD"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path class="st1" d="M84.2,71.9L84.2,71.9c-0.1,0.2-0.2,0.4-0.3,0.5l-0.2,0.3c-0.7,1-1.5,1.8-2.5,2.4L59.9,87.4
|
||||||
|
c-1.5,0.9-3.2,1.3-4.8,1.3c-1.7,0-3.3-0.4-4.8-1.3L31.6,76.7c-0.2-0.2-0.4-0.3-0.6-0.4l0,0c-0.2-0.3-0.3-0.5-0.3-0.8
|
||||||
|
c0.2-0.7,1.8-1,1.9-1.1c0.4-0.1,0.8-0.1,1.2-0.2l0.3,0c0.7-0.1,1.4-0.2,2-0.3c0.7-0.1,1.3-0.2,2-0.3c2.7-0.4,5.3-0.7,7.9-1
|
||||||
|
c2.5-0.3,5-0.6,7.6-0.8c2.7-0.3,5.2-0.5,7.4-0.6c2.4-0.1,4.8-0.3,7.1-0.4c2.3-0.1,4.6-0.1,6.9-0.2c0.2,0,0.5,0,0.7,0h0.7
|
||||||
|
c1.7,0,3.5,0,5.3,0.1c0.2,0,0.4,0,0.7,0l0.4,0c0.7,0.1,1.1,0.3,1.3,0.6C84.3,71.5,84.3,71.7,84.2,71.9z"/>
|
||||||
|
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="82.447" y1="13.3793" x2="33.9352" y2="84.5987">
|
||||||
|
<stop offset="4.034390e-02" style="stop-color:#6AF2A6"/>
|
||||||
|
<stop offset="0.197" style="stop-color:#64EFAB"/>
|
||||||
|
<stop offset="0.4077" style="stop-color:#53E8B9"/>
|
||||||
|
<stop offset="0.6492" style="stop-color:#37DCD1"/>
|
||||||
|
<stop offset="0.9118" style="stop-color:#10CBF1"/>
|
||||||
|
<stop offset="1" style="stop-color:#01C5FD"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path class="st2" d="M85.5,53.1v7c0,2.6,0,2.7-5.4,3.3l-3.5,0.3c-0.5,0-0.9,0.1-1.4,0.1L74.1,64c-8.9,0.9-17.9,1.7-26.8,2.2
|
||||||
|
c-4,0.2-7.9,0.4-11.9,0.6c-1.8,0.1-3.7,0.1-5.5,0.2c-0.9,0-1.8,0-2.7,0c-0.7,0-1.8,0.2-2.4-0.3c-0.5-0.5-0.4-1.5-0.4-2.2V46.9
|
||||||
|
c0-2.5,0.8-3,5.9-3.3c0.9,0,1.7,0,2.9,0c15,0,30.9,2.2,50.1,7c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0.2,0,0.3,0.1,0.5,0.1l0,0
|
||||||
|
C84.7,51,85.5,50.8,85.5,53.1z"/>
|
||||||
|
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="76.1836" y1="9.113" x2="27.6719" y2="80.3324">
|
||||||
|
<stop offset="4.034390e-02" style="stop-color:#6AF2A6"/>
|
||||||
|
<stop offset="0.197" style="stop-color:#64EFAB"/>
|
||||||
|
<stop offset="0.4077" style="stop-color:#53E8B9"/>
|
||||||
|
<stop offset="0.6492" style="stop-color:#37DCD1"/>
|
||||||
|
<stop offset="0.9118" style="stop-color:#10CBF1"/>
|
||||||
|
<stop offset="1" style="stop-color:#01C5FD"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path class="st3" d="M84.2,41.5c-0.1,0.1-0.2,0.1-0.3,0.2c-0.6,0.2-1.3,0.1-1.9,0c-0.7,0-1.4-0.1-2.1-0.1c-1.3-0.1-2.7-0.2-4-0.4
|
||||||
|
c-1.8-0.2-3.6-0.4-5.3-0.6c-2.7-0.3-5.4-0.6-8-0.9c-3.1-0.3-6.3-0.7-9.4-1c-3.1-0.3-6.2-0.7-9.3-1c-2.7-0.3-5.3-0.6-8-0.8
|
||||||
|
c-1.7-0.2-3.5-0.4-5.2-0.6c-0.4,0-0.9-0.1-1.3-0.1c-0.1,0-0.2,0-0.3,0c-0.3-0.1-0.6-0.1-0.8-0.3c-0.1-0.1-0.1-0.3,0.1-0.6l0.1-0.1
|
||||||
|
c0.1-0.1,0.3-0.2,0.4-0.3c0.2-0.1,0.3-0.2,0.5-0.3l20.8-12c1.5-0.8,3.2-1.3,4.9-1.3c1.7,0,3.4,0.4,4.8,1.3c0,0,20.5,11.8,20.8,12
|
||||||
|
c1.7,1,3.1,2.7,3.5,4.7C84.3,39.8,84.6,41,84.2,41.5z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 72 KiB |
@@ -1,4 +0,0 @@
|
|||||||
# Generated by Cargo
|
|
||||||
# will have compiled files and executables
|
|
||||||
/target/
|
|
||||||
WixTools
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "app"
|
|
||||||
version = "0.1.0"
|
|
||||||
description = "A Tauri App"
|
|
||||||
authors = ["you"]
|
|
||||||
license = ""
|
|
||||||
repository = ""
|
|
||||||
default-run = "app"
|
|
||||||
edition = "2018"
|
|
||||||
build = "src/build.rs"
|
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
||||||
|
|
||||||
[build-dependencies]
|
|
||||||
tauri-build = { version = "1.0.0-beta.1" }
|
|
||||||
# miner = { git="https://github.com/olsf/libra", version="0.1.0" }
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
serde_json = "1.0"
|
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
|
||||||
tauri = { version = "1.0.0-beta.2", features = ["api-all", "menu", "system-tray"] }
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = [ "custom-protocol" ]
|
|
||||||
custom-protocol = [ "tauri/custom-protocol" ]
|
|
||||||
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 88 KiB |
@@ -1,14 +0,0 @@
|
|||||||
max_width = 100
|
|
||||||
hard_tabs = false
|
|
||||||
tab_spaces = 2
|
|
||||||
newline_style = "Auto"
|
|
||||||
use_small_heuristics = "Default"
|
|
||||||
reorder_imports = true
|
|
||||||
reorder_modules = true
|
|
||||||
remove_nested_parens = true
|
|
||||||
edition = "2018"
|
|
||||||
merge_derives = true
|
|
||||||
use_try_shorthand = false
|
|
||||||
use_field_init_shorthand = false
|
|
||||||
force_explicit_abi = true
|
|
||||||
imports_granularity = "Crate"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fn main() {
|
|
||||||
tauri_build::build()
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#![cfg_attr(
|
|
||||||
all(not(debug_assertions), target_os = "windows"),
|
|
||||||
windows_subsystem = "windows"
|
|
||||||
)]
|
|
||||||
use tauri::{CustomMenuItem, SystemTray, SystemTrayMenu, SystemTrayMenuItem, MenuItem};
|
|
||||||
|
|
||||||
#[tauri::command]
|
|
||||||
fn my_custom_command(msg: String) -> String {
|
|
||||||
println!("I was invoked from JS! {}", msg);
|
|
||||||
return "Hello from Rust".into()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
// here `"quit".to_string()` defines the menu item id, and the second parameter is the menu item label.
|
|
||||||
let quit = CustomMenuItem::new("quit".to_string(), "Quit");
|
|
||||||
let hide = CustomMenuItem::new("hide".to_string(), "Hide");
|
|
||||||
let tray_menu = SystemTrayMenu::new()
|
|
||||||
.add_item(quit)
|
|
||||||
.add_native_item(SystemTrayMenuItem::Separator)
|
|
||||||
.add_item(hide);
|
|
||||||
let tray = SystemTray::new().with_menu(tray_menu);
|
|
||||||
|
|
||||||
tauri::Builder::default()
|
|
||||||
.system_tray(tray)
|
|
||||||
// This is where you pass in your commands
|
|
||||||
.invoke_handler(tauri::generate_handler![my_custom_command])
|
|
||||||
.run(tauri::generate_context!())
|
|
||||||
.expect("error while running tauri application");
|
|
||||||
}
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
"package": {
|
|
||||||
"productName": "Ping-Wallet",
|
|
||||||
"version": "0.1.0"
|
|
||||||
},
|
|
||||||
"build": {
|
|
||||||
"distDir": "Set automatically by Vue CLI plugin",
|
|
||||||
"devPath": "Set automatically by Vue CLI plugin",
|
|
||||||
"beforeDevCommand": "",
|
|
||||||
"beforeBuildCommand": "",
|
|
||||||
"withGlobalTauri": true
|
|
||||||
},
|
|
||||||
"tauri": {
|
|
||||||
"bundle": {
|
|
||||||
"active": true,
|
|
||||||
"targets": "all",
|
|
||||||
"identifier": "com.tauri.dev",
|
|
||||||
"icon": [
|
|
||||||
"icons/32x32.png",
|
|
||||||
"icons/128x128.png",
|
|
||||||
"icons/128x128@2x.png",
|
|
||||||
"icons/icon.icns",
|
|
||||||
"icons/icon.ico"
|
|
||||||
],
|
|
||||||
"resources": [],
|
|
||||||
"externalBin": [],
|
|
||||||
"copyright": "",
|
|
||||||
"category": "DeveloperTool",
|
|
||||||
"shortDescription": "",
|
|
||||||
"longDescription": "",
|
|
||||||
"deb": {
|
|
||||||
"depends": [],
|
|
||||||
"useBootstrapper": false
|
|
||||||
},
|
|
||||||
"macOS": {
|
|
||||||
"frameworks": [],
|
|
||||||
"minimumSystemVersion": "",
|
|
||||||
"useBootstrapper": false,
|
|
||||||
"exceptionDomain": "",
|
|
||||||
"signingIdentity": null,
|
|
||||||
"entitlements": null
|
|
||||||
},
|
|
||||||
"windows": {
|
|
||||||
"certificateThumbprint": null,
|
|
||||||
"digestAlgorithm": "sha256",
|
|
||||||
"timestampUrl": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"updater": {
|
|
||||||
"active": false
|
|
||||||
},
|
|
||||||
"allowlist": {
|
|
||||||
"all": true
|
|
||||||
},
|
|
||||||
"windows": [
|
|
||||||
{
|
|
||||||
"title": "Ping Wallet",
|
|
||||||
"width": 1024,
|
|
||||||
"height": 768,
|
|
||||||
"resizable": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"systemTray": {
|
|
||||||
"iconPath": "icons/icon.png"
|
|
||||||
},
|
|
||||||
"security": {
|
|
||||||
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,13 +8,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import ECharts from 'vue-echarts'
|
import * as ECharts from 'echarts'
|
||||||
import 'echarts/lib/component/tooltip'
|
import 'echarts/lib/component/tooltip'
|
||||||
import 'echarts/lib/component/legend'
|
import 'echarts/lib/component/legend'
|
||||||
import 'echarts/lib/chart/scatter'
|
import 'echarts/lib/chart/scatter'
|
||||||
import theme from './theme.json'
|
// import theme from './theme.json'
|
||||||
|
|
||||||
ECharts.registerTheme('theme-color', theme)
|
// ECharts.registerTheme('theme-color', theme)
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<p class="clearfix mb-0">
|
<p class="clearfix mb-0">
|
||||||
<span class="float-md-left d-block d-md-inline-block mt-25">
|
<span class="float-md-left d-none d-md-block d-md-inline-block mt-25">
|
||||||
Powered By
|
Powered By
|
||||||
<b-link
|
<b-link
|
||||||
class="ml-25 font-weight-bolder"
|
class="ml-25 font-weight-bolder"
|
||||||
@@ -9,11 +9,13 @@
|
|||||||
>Ping.pub</b-link>
|
>Ping.pub</b-link>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="float-md-right d-none d-md-block">Buy me a cup of coffee.
|
<router-link
|
||||||
|
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
|
||||||
|
class="float-md-right"
|
||||||
|
to="/coffee"
|
||||||
|
>Buy me a cup of coffee.
|
||||||
<span
|
<span
|
||||||
v-b-popover.hover.topleft="'Atom: cosmos1ev0vtddkl7jlwfawlk06yzncapw2x9quyxx75u'"
|
|
||||||
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
|
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
|
||||||
title="Thanks for your donation!"
|
|
||||||
variant="outline-primary"
|
variant="outline-primary"
|
||||||
>
|
>
|
||||||
<feather-icon
|
<feather-icon
|
||||||
@@ -22,7 +24,7 @@
|
|||||||
class="text-danger stroke-current"
|
class="text-danger stroke-current"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</router-link>
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,78 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<b-row>
|
||||||
|
<b-col
|
||||||
|
v-for="(item, i) in chains"
|
||||||
|
:key="`coffee-${item.addr}-${i}`"
|
||||||
|
md="4"
|
||||||
|
>
|
||||||
|
<b-input-group
|
||||||
|
size="sm"
|
||||||
|
class="input-group-merge mb-10"
|
||||||
|
>
|
||||||
|
<b-input-group-prepend is-text>
|
||||||
|
<b-avatar
|
||||||
|
:src="item.icon"
|
||||||
|
variant="light-primary"
|
||||||
|
size="16"
|
||||||
|
/>
|
||||||
|
</b-input-group-prepend>
|
||||||
|
<b-form-input :value="item.addr" />
|
||||||
|
</b-input-group>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
<operation-transfer-component
|
||||||
|
:recipient-address.sync="selectedAddress"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
BRow, BCol,
|
||||||
|
BAvatar, BFormInput, BInputGroupPrepend, BInputGroup,
|
||||||
|
} from 'bootstrap-vue'
|
||||||
|
import Ripple from 'vue-ripple-directive'
|
||||||
|
import {
|
||||||
|
addressEnCode, addressDecode,
|
||||||
|
} from '@/libs/utils'
|
||||||
|
import OperationTransferComponent from '@/views/OperationTransferComponent.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'AppFooter',
|
||||||
|
components: {
|
||||||
|
BCol,
|
||||||
|
BRow,
|
||||||
|
BAvatar,
|
||||||
|
BFormInput,
|
||||||
|
BInputGroupPrepend,
|
||||||
|
BInputGroup,
|
||||||
|
OperationTransferComponent,
|
||||||
|
},
|
||||||
|
directives: {
|
||||||
|
Ripple,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
selectedAddress: 'cosmos1ev0vtddkl7jlwfawlk06yzncapw2x9quyxx75u',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
chains() {
|
||||||
|
const { data } = addressDecode('cosmos1ev0vtddkl7jlwfawlk06yzncapw2x9quyxx75u')
|
||||||
|
const config = Object.values(JSON.parse(localStorage.getItem('chains')))
|
||||||
|
.map(x => ({
|
||||||
|
addr: addressEnCode(x.addr_prefix, data),
|
||||||
|
icon: x.logo,
|
||||||
|
}))
|
||||||
|
return config
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
transfer(addr) {
|
||||||
|
this.selectedAddress = addr
|
||||||
|
this.$bvModal.show('transfer-window')
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
@ps-scroll-y="evt => { shallShadowBottom = evt.srcElement.scrollTop > 0 }"
|
@ps-scroll-y="evt => { shallShadowBottom = evt.srcElement.scrollTop > 0 }"
|
||||||
>
|
>
|
||||||
<vertical-nav-menu-items
|
<vertical-nav-menu-items
|
||||||
:items="navMenuItems"
|
:items.sync="leftMenu"
|
||||||
class="navigation navigation-main"
|
class="navigation navigation-main"
|
||||||
/>
|
/>
|
||||||
</vue-perfect-scrollbar>
|
</vue-perfect-scrollbar>
|
||||||
@@ -154,6 +154,16 @@ export default {
|
|||||||
appLogoImage,
|
appLogoImage,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
leftMenu() {
|
||||||
|
const preload = []
|
||||||
|
const { selected } = this.$store.state.chains
|
||||||
|
const current = navMenuItems.find(x => (x.title === selected.chain_name))
|
||||||
|
preload.push({ header: 'current' })
|
||||||
|
preload.push(current)
|
||||||
|
return preload.concat(navMenuItems.filter(x => x.title !== selected.chain_name))
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
class="mr-1"
|
class="mr-1"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<span class="menu-title text-truncate">{{ t(item.title) }}</span>
|
<span class="menu-title text-truncate text-uppercase">{{ item.title }}</span>
|
||||||
<b-badge
|
<b-badge
|
||||||
v-if="item.tag"
|
v-if="item.tag"
|
||||||
pill
|
pill
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { useUtils as useI18nUtils } from '@core/libs/i18n'
|
// import { useUtils as useI18nUtils } from '@core/libs/i18n'
|
||||||
import { useUtils as useAclUtils } from '@core/libs/acl'
|
import { useUtils as useAclUtils } from '@core/libs/acl'
|
||||||
|
|
||||||
const { t } = useI18nUtils()
|
// const { t } = useI18nUtils()
|
||||||
const { canViewVerticalNavMenuHeader } = useAclUtils()
|
const { canViewVerticalNavMenuHeader } = useAclUtils()
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -12,7 +12,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
render(h) {
|
render(h) {
|
||||||
const span = h('span', {}, t(this.item.header))
|
const span = h('span', {}, this.item.header)
|
||||||
const icon = h('feather-icon', { props: { icon: 'MoreHorizontalIcon', size: '18' } })
|
const icon = h('feather-icon', { props: { icon: 'MoreHorizontalIcon', size: '18' } })
|
||||||
if (canViewVerticalNavMenuHeader(this.item)) {
|
if (canViewVerticalNavMenuHeader(this.item)) {
|
||||||
return h('li', { class: 'navigation-header text-truncate' }, [span, icon])
|
return h('li', { class: 'navigation-header text-truncate' }, [span, icon])
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# Directory Layout
|
||||||
|
|
||||||
|
**We accept all blockchains which have 10+ independent validators.**
|
||||||
|
|
||||||
|
- Submit configs for mainnet, go to https://github.com/ping-pub/explorer/tree/master/src/chains/mainnet
|
||||||
|
|
||||||
|
- Submit configs for testnet, go to https://github.com/ping-pub/explorer/tree/testnet/src/chains/testnet
|
||||||
|
|
||||||
|
# Sample of Config
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"chain_name": "cosmos",
|
||||||
|
"api": ["https://cosmos.api.ping.pub"],
|
||||||
|
"sdk_version": "0.42.6",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "800",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uatom",
|
||||||
|
"symbol": "ATOM",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "cosmos",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg"
|
||||||
|
}],
|
||||||
|
"addr_prefix": "cosmos",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **chain_name** the name to identify the chain on ping.pub
|
||||||
|
- **api** the rest api endpoint.(make sure that CORS is enabled: `Allow-Control-Allow-Origin: *`)
|
||||||
|
- **assets** Native Assets on blockchain.
|
||||||
|
# Test
|
||||||
|
|
||||||
|
please add these check points in comments with your PR, and adding your test result by clicking the checkbox of each line
|
||||||
|
```
|
||||||
|
Test Result:
|
||||||
|
- [ ] Connect wallet, check if address is correct?
|
||||||
|
- [ ] Transfer
|
||||||
|
- [ ] Delegate
|
||||||
|
- [ ] Redelegate
|
||||||
|
- [ ] Unbond
|
||||||
|
- [ ] withdraw Validator's Commission
|
||||||
|
- [ ] withdraw Rewards
|
||||||
|
```
|
||||||
|
Test is very important for us and our users.
|
||||||
@@ -1,8 +1,16 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "akash-network",
|
"chain_name": "akash-network",
|
||||||
"coingecko": "akash-network",
|
"api": ["https://akash.api.ping.pub"],
|
||||||
"api": "https://akash.api.ping.pub",
|
|
||||||
"sdk_version": "0.41.3",
|
"sdk_version": "0.41.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uakt",
|
||||||
|
"symbol": "AKT",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "akash-network",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/52586702dd8352d97834fce5c2d83614/969b4d53/akash-network.png"
|
||||||
|
}],
|
||||||
"addr_prefix": "akash",
|
"addr_prefix": "akash",
|
||||||
"logo": "https://dl.airtable.com/.attachments/52586702dd8352d97834fce5c2d83614/969b4d53/akash-network.png"
|
"logo": "https://dl.airtable.com/.attachments/52586702dd8352d97834fce5c2d83614/969b4d53/akash-network.png"
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,16 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "band-protocol",
|
"chain_name": "band-protocol",
|
||||||
"coingecko": "band-protocol",
|
|
||||||
"api": "https://laozi1.bandchain.org/api",
|
"api": "https://laozi1.bandchain.org/api",
|
||||||
"addr_prefix": "band",
|
"addr_prefix": "band",
|
||||||
|
"coin_type": "494",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uband",
|
||||||
|
"symbol": "BAND",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "band-protocol",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/472ae99a508e32b4439b416beddd4eb9/c5166f62/band-symbol-blue-bg.75a3ad91.svg"
|
||||||
|
}],
|
||||||
"logo": "https://dl.airtable.com/.attachments/472ae99a508e32b4439b416beddd4eb9/c5166f62/band-symbol-blue-bg.75a3ad91.svg",
|
"logo": "https://dl.airtable.com/.attachments/472ae99a508e32b4439b416beddd4eb9/c5166f62/band-symbol-blue-bg.75a3ad91.svg",
|
||||||
"sdk_version": "0.44.0"
|
"sdk_version": "0.44.0"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "bitcanna",
|
||||||
|
"coingecko": "bitcanna",
|
||||||
|
"api":"https://lcd.bitcanna.io",
|
||||||
|
"sdk_version": "0.44.2",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ubcna",
|
||||||
|
"symbol": "BCNA",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "bitcanna",
|
||||||
|
"logo": "https://raw.githubusercontent.com/osmosis-labs/assetlists/main/images/bcna.svg"
|
||||||
|
}],
|
||||||
|
"addr_prefix": "bcna",
|
||||||
|
"logo": "https://raw.githubusercontent.com/osmosis-labs/assetlists/main/images/bcna.svg"
|
||||||
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "bitsong",
|
"coingecko": "bitsong",
|
||||||
"api": "https://lcd.explorebitsong.com",
|
"api": "https://lcd.explorebitsong.com",
|
||||||
"addr_prefix": "bitsong",
|
"addr_prefix": "bitsong",
|
||||||
|
"coin_type": "639",
|
||||||
|
"min_tx_fee": "3500",
|
||||||
"logo": "https://dl.airtable.com/.attachments/8016b71b69fb108f0ff33eb9af1c943f/f5fe4ef4/bitsong.svg",
|
"logo": "https://dl.airtable.com/.attachments/8016b71b69fb108f0ff33eb9af1c943f/f5fe4ef4/bitsong.svg",
|
||||||
"sdk_version": "0.42.0"
|
"sdk_version": "0.42.0",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ubtsg",
|
||||||
|
"symbol": "BTSG",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "bitsong",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/8016b71b69fb108f0ff33eb9af1c943f/f5fe4ef4/bitsong.svg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "bostrom",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": "https://lcd.bostrom.cybernode.ai",
|
||||||
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "bostrom",
|
||||||
|
"logo": "https://ipfs.infura.io/ipfs/QmSVz41kA5aXttxT1rAXnuJecfazij3wh95X8ewd7Kdc2F",
|
||||||
|
"assets": [{
|
||||||
|
"base": "boot",
|
||||||
|
"symbol": "BOOT",
|
||||||
|
"exponent": "0",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://ipfs.infura.io/ipfs/QmSVz41kA5aXttxT1rAXnuJecfazij3wh95X8ewd7Kdc2F"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -1,9 +1,17 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
"chain_name": "certik",
|
"chain_name": "certik",
|
||||||
"coingecko": "certik",
|
|
||||||
"api":"https://azuredragon.noopsbycertik.com",
|
"api":"https://azuredragon.noopsbycertik.com",
|
||||||
"sdk_version": "0.42.9",
|
"sdk_version": "0.42.9",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"addr_prefix": "certik",
|
"addr_prefix": "certik",
|
||||||
"logo": "https://dl.airtable.com/.attachments/78bc9a7352de8ecd09e167d406d68582/2dcea633/dED92akm_400x400.jpg"
|
"logo": "https://dl.airtable.com/.attachments/78bc9a7352de8ecd09e167d406d68582/2dcea633/dED92akm_400x400.jpg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uctk",
|
||||||
|
"symbol": "CTK",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "certik",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/78bc9a7352de8ecd09e167d406d68582/2dcea633/dED92akm_400x400.jpg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "cheqd",
|
||||||
|
"api": "https://api.cheqd.net",
|
||||||
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "cheqd",
|
||||||
|
"logo": "https://raw.githubusercontent.com/osmosis-labs/assetlists/main/images/cheq.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ncheq",
|
||||||
|
"symbol": "CHEQ",
|
||||||
|
"exponent": "9",
|
||||||
|
"coingecko_id": "cheqd-network",
|
||||||
|
"logo": "https://raw.githubusercontent.com/osmosis-labs/assetlists/main/images/cheq.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "chihuahua",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": ["https://api.chihuahua.wtf", "https://chihuahua-api.mercury-nodes.net"],
|
||||||
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "chihuahua",
|
||||||
|
"logo": "https://github.com/ChihuahuaChain/resources/raw/main/logo/logo_transparent_notext.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uhuahua",
|
||||||
|
"symbol": "HUAHUA",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://github.com/ChihuahuaChain/resources/raw/main/logo/logo_transparent_notext.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "comdex",
|
||||||
|
"api":"https://rest.comdex.one/",
|
||||||
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "comdex",
|
||||||
|
"logo": "https://raw.githubusercontent.com/comdex-official/logos/main/cmdx-logo-1.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ucmdx",
|
||||||
|
"symbol": "CMDX",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "comdex",
|
||||||
|
"logo": "https://raw.githubusercontent.com/comdex-official/logos/main/cmdx-logo-1.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -1,8 +1,17 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "cosmos",
|
"chain_name": "cosmos",
|
||||||
"coingecko": "cosmos",
|
"coingecko": "cosmos",
|
||||||
"api":"https://cosmos.api.ping.pub",
|
"api": ["https://lcd-cosmoshub.blockapsis.com", "https://cosmos.api.ping.pub", "https://cosmoshub.stakesystems.io"],
|
||||||
"sdk_version": "0.42.6",
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "800",
|
||||||
"addr_prefix": "cosmos",
|
"addr_prefix": "cosmos",
|
||||||
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg"
|
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uatom",
|
||||||
|
"symbol": "ATOM",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "cosmos",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,15 @@
|
|||||||
"coingecko": "crypto-com-chain",
|
"coingecko": "crypto-com-chain",
|
||||||
"api": "https://mainnet.crypto.org:1317",
|
"api": "https://mainnet.crypto.org:1317",
|
||||||
"sdk_version": "0.39.2",
|
"sdk_version": "0.39.2",
|
||||||
|
"coin_type": "394",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"addr_prefix": "cro",
|
"addr_prefix": "cro",
|
||||||
"logo": "https://dl.airtable.com/.attachments/b2e638424ea09dccd4f11b04dc53872a/844d11dc/LOGO.png"
|
"logo": "https://dl.airtable.com/.attachments/b2e638424ea09dccd4f11b04dc53872a/844d11dc/LOGO.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "basecro",
|
||||||
|
"symbol": "CRO",
|
||||||
|
"exponent": "8",
|
||||||
|
"coingecko_id": "crypto-com-chain",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/b2e638424ea09dccd4f11b04dc53872a/844d11dc/LOGO.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "",
|
"coingecko": "",
|
||||||
"api": "https://api.mainnet.desmos.network",
|
"api": "https://api.mainnet.desmos.network",
|
||||||
"sdk_version": "0.42.0",
|
"sdk_version": "0.42.0",
|
||||||
|
"coin_type": "852",
|
||||||
|
"min_tx_fee": "3000",
|
||||||
"addr_prefix": "desmos",
|
"addr_prefix": "desmos",
|
||||||
"logo": "https://dl.airtable.com/.attachments/e8232a86dd06af4e0591ed300376f9b2/3aab415f/logo1.png"
|
"logo": "https://dl.airtable.com/.attachments/e8232a86dd06af4e0591ed300376f9b2/3aab415f/logo1.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "udsm",
|
||||||
|
"symbol": "DSM",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/e8232a86dd06af4e0591ed300376f9b2/3aab415f/logo1.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "dig",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": "https://api-1-dig.notional.ventures",
|
||||||
|
"sdk_version": "0.44.5",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "dig",
|
||||||
|
"logo": "https://digchain.org/wp-content/uploads/2021/08/dig_lockup_800x800-cropped.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "udig",
|
||||||
|
"symbol": "DIG",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "dig-chain",
|
||||||
|
"logo": "https://digchain.org/wp-content/uploads/2021/08/dig_lockup_800x800-cropped.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -3,7 +3,22 @@
|
|||||||
"coingecko": "e-money",
|
"coingecko": "e-money",
|
||||||
"api": "https://emoney.validator.network/api",
|
"api": "https://emoney.validator.network/api",
|
||||||
"addr_prefix": "emoney",
|
"addr_prefix": "emoney",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"logo": "https://dl.airtable.com/.attachments/276e4d6de567b073a5e400240d7d83e9/9bb49806/yoR2r25W_400x400.jpg",
|
"logo": "https://dl.airtable.com/.attachments/276e4d6de567b073a5e400240d7d83e9/9bb49806/yoR2r25W_400x400.jpg",
|
||||||
"sdk_version": "0.42.10",
|
"sdk_version": "0.42.10",
|
||||||
"excludes": "mint governance"
|
"excludes": "mint governance",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ungm",
|
||||||
|
"symbol": "NGM",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "emoney",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/276e4d6de567b073a5e400240d7d83e9/9bb49806/yoR2r25W_400x400.jpg"
|
||||||
|
},{
|
||||||
|
"base": "eeur",
|
||||||
|
"symbol": "EEUR",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "e-money-eur",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/276e4d6de567b073a5e400240d7d83e9/9bb49806/yoR2r25W_400x400.jpg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "evmos",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": ["https://rest.bd.evmos.org:1317", "https://evmos-api.skynetvalidators.com"],
|
||||||
|
"sdk_version": "0.45.1",
|
||||||
|
"coin_type": "60",
|
||||||
|
"min_tx_fee": "3000000000000000",
|
||||||
|
"addr_prefix": "evmos",
|
||||||
|
"logo": "https://ping.pub/logos/evmos.jpeg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "aevmos",
|
||||||
|
"symbol": "evmos",
|
||||||
|
"exponent": "18",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://ping.pub/logos/evmos.jpeg"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "genesisL1",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": "https://api.genesisl1.org",
|
||||||
|
"sdk_version": "0.42.4",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "3000000000000000",
|
||||||
|
"addr_prefix": "genesis",
|
||||||
|
"logo": "/logos/genesisl1.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "aphoton",
|
||||||
|
"symbol": "PHOTON",
|
||||||
|
"exponent": "18",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "/logos/genesisl1.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "gravity-bridge",
|
||||||
|
"api": "https://gravitychain.io:1317",
|
||||||
|
"sdk_version": "0.44.5",
|
||||||
|
"coin_type": "60",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "gravity",
|
||||||
|
"excludes": "",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/1c18fd6110acea04da61c8f900ea0053/3241283d/gravitybridge.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ugraviton",
|
||||||
|
"symbol": "GRAVITON",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/1c18fd6110acea04da61c8f900ea0053/3241283d/gravitybridge.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -1,9 +1,17 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "injective",
|
"chain_name": "injective",
|
||||||
"coingecko": "injective-protocol",
|
|
||||||
"api": "https://lcd.injective.network",
|
"api": "https://lcd.injective.network",
|
||||||
"sdk_version": "0.42.4",
|
"sdk_version": "v0.44.5",
|
||||||
|
"coin_type": "60",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"addr_prefix": "inj",
|
"addr_prefix": "inj",
|
||||||
"excludes": "",
|
"excludes": "",
|
||||||
"logo": "https://dl.airtable.com/.attachments/e024faae112ae873d301f9e1e17a921c/3f3671f7/9pOKAlQ5_400x400.jpg"
|
"logo": "https://dl.airtable.com/.attachments/e024faae112ae873d301f9e1e17a921c/3f3671f7/9pOKAlQ5_400x400.jpg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "inj",
|
||||||
|
"symbol": "INJ",
|
||||||
|
"exponent": "18",
|
||||||
|
"coingecko_id": "injective-protocol",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/e024faae112ae873d301f9e1e17a921c/3f3671f7/9pOKAlQ5_400x400.jpg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,17 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "iris-network",
|
"chain_name": "iris-network",
|
||||||
"coingecko": "iris-network",
|
|
||||||
"api": "https://iris.api.ping.pub",
|
"api": "https://iris.api.ping.pub",
|
||||||
"sdk_version": "0.42.4",
|
"sdk_version": "0.42.4",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "40000",
|
||||||
"addr_prefix": "iaa",
|
"addr_prefix": "iaa",
|
||||||
"excludes": "mint",
|
"excludes": "mint",
|
||||||
"logo": "https://dl.airtable.com/.attachments/2d6d51b1b262db00ecc51616ffc3bdf5/90ff00d0/IRISnet.svg"
|
"logo": "https://dl.airtable.com/.attachments/2d6d51b1b262db00ecc51616ffc3bdf5/90ff00d0/IRISnet.svg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uiris",
|
||||||
|
"symbol": "IRIS",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "iris-network",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/2d6d51b1b262db00ecc51616ffc3bdf5/90ff00d0/IRISnet.svg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,17 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "juno",
|
"chain_name": "juno",
|
||||||
"coingecko": "juno-network",
|
"coingecko": "juno-network",
|
||||||
"api": "https://juno.api.ping.pub",
|
"api": "https://lcd-juno.itastakers.com",
|
||||||
"sdk_version": "0.42.4",
|
"sdk_version": "0.44.5",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "3000",
|
||||||
"addr_prefix": "juno",
|
"addr_prefix": "juno",
|
||||||
"logo": "https://dl.airtable.com/.attachments/0f66137c6fb2868000d5a1e214c9ae3d/75a9c5bc/S3c2V3Xd_400x400.jpg"
|
"logo": "https://dl.airtable.com/.attachments/0f66137c6fb2868000d5a1e214c9ae3d/75a9c5bc/S3c2V3Xd_400x400.jpg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ujuno",
|
||||||
|
"symbol": "JUNO",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "juno-network",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/0f66137c6fb2868000d5a1e214c9ae3d/75a9c5bc/S3c2V3Xd_400x400.jpg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,16 @@
|
|||||||
"chain_name": "kava",
|
"chain_name": "kava",
|
||||||
"coingecko": "kava",
|
"coingecko": "kava",
|
||||||
"api": "https://api.data.kava.io",
|
"api": "https://api.data.kava.io",
|
||||||
"sdk_version": "0.39.2",
|
"sdk_version": "0.44.5",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"addr_prefix": "kava",
|
"addr_prefix": "kava",
|
||||||
"logo": "https://dl.airtable.com/.attachments/f25737491bd0034240093a7b4e039b15/afec77ff/logo.png"
|
"logo": "https://dl.airtable.com/.attachments/f25737491bd0034240093a7b4e039b15/afec77ff/logo.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ukava",
|
||||||
|
"symbol": "KAVA",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "kava",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/f25737491bd0034240093a7b4e039b15/afec77ff/logo.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,16 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "kichain",
|
"chain_name": "kichain",
|
||||||
"coingecko": "ki",
|
"api": ["https://api-mainnet.blockchain.ki", "https://ki.api.ping.pub"],
|
||||||
"api": "https://ki.api.ping.pub",
|
|
||||||
"sdk_version": "0.42.10",
|
"sdk_version": "0.42.10",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "3000",
|
||||||
"addr_prefix": "ki",
|
"addr_prefix": "ki",
|
||||||
"logo": "https://dl.airtable.com/.attachments/b1f670d31bf69d7ca9906df8437d91a7/b2667ad1/ki.png"
|
"logo": "https://dl.airtable.com/.attachments/b1f670d31bf69d7ca9906df8437d91a7/b2667ad1/ki.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uxki",
|
||||||
|
"symbol": "XKI",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "ki",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/b1f670d31bf69d7ca9906df8437d91a7/b2667ad1/ki.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "likecoin",
|
"coingecko": "likecoin",
|
||||||
"api": "https://mainnet-node.like.co",
|
"api": "https://mainnet-node.like.co",
|
||||||
"sdk_version": "0.42.0",
|
"sdk_version": "0.42.0",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "3000",
|
||||||
"addr_prefix": "cosmos",
|
"addr_prefix": "cosmos",
|
||||||
"logo": "https://dl.airtable.com/.attachments/d51ad30b75593517d7d79f08b9e4dad0/5603273b/likecoin.png"
|
"logo": "https://dl.airtable.com/.attachments/d51ad30b75593517d7d79f08b9e4dad0/5603273b/likecoin.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "nanolike",
|
||||||
|
"symbol": "LIKE",
|
||||||
|
"exponent": "9",
|
||||||
|
"coingecko_id": "likecoin",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/d51ad30b75593517d7d79f08b9e4dad0/5603273b/likecoin.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "lum-network",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": "https://node0.mainnet.lum.network/rest",
|
||||||
|
"sdk_version": "0.44.5",
|
||||||
|
"coin_type": "880",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "lum",
|
||||||
|
"logo": "https://ipfs.infura.io/ipfs/QmWwKRnkHantvhoFx9serWaWKBUG6gfhSYN3SHdAv1jmKY",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ulum",
|
||||||
|
"symbol": "LUM",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://ipfs.infura.io/ipfs/QmWwKRnkHantvhoFx9serWaWKBUG6gfhSYN3SHdAv1jmKY"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "microtick",
|
||||||
|
"api": "https://lcd.microtick.zone",
|
||||||
|
"sdk_version": "0.42.9",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
|
"addr_prefix": "micro",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/229a8d771fccc46b6730a7bc75d46e15/a3cf3543/microtick.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "utick",
|
||||||
|
"symbol": "TICK",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/229a8d771fccc46b6730a7bc75d46e15/a3cf3543/microtick.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"chain_name": "neuron",
|
|
||||||
"api": "https://neuron-1.api.ping.pub",
|
|
||||||
"sdk_version": "0.42.0",
|
|
||||||
"addr_prefix": "game",
|
|
||||||
"logo": "https://dl.airtable.com/.attachments/47116e2e2234b2dd979d7ed9f9df22c9/0c507d61/cosmos-game.png"
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,16 @@
|
|||||||
"coingecko": "okexchain",
|
"coingecko": "okexchain",
|
||||||
"api": "https://exchainrpc.okex.org/okexchain/v1",
|
"api": "https://exchainrpc.okex.org/okexchain/v1",
|
||||||
"sdk_version": "0.39.2",
|
"sdk_version": "0.39.2",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "800",
|
||||||
"addr_prefix": "ex",
|
"addr_prefix": "ex",
|
||||||
"logo": "https://dl.airtable.com/.attachments/4620a173477efece7f459a3d6fc770c0/9f6618ad/OKexchain.svg",
|
"logo": "https://dl.airtable.com/.attachments/4620a173477efece7f459a3d6fc770c0/9f6618ad/OKexchain.svg",
|
||||||
"unload_module": ["minting", "slashing"]
|
"unload_module": ["minting", "slashing"],
|
||||||
|
"assets": [{
|
||||||
|
"base": "okt",
|
||||||
|
"symbol": "okt",
|
||||||
|
"exponent": "0",
|
||||||
|
"coingecko_id": "okexchain",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/4620a173477efece7f459a3d6fc770c0/9f6618ad/OKexchain.svg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,23 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "osmosis",
|
"chain_name": "osmosis",
|
||||||
"coingecko": "osmosis",
|
"coingecko": "osmosis",
|
||||||
"api": "https://lcd-osmosis.keplr.app",
|
"api": ["https://lcd-osmosis.blockapsis.com", "https://osmo.api.ping.pub"],
|
||||||
"sdk_version": "0.42.5",
|
"sdk_version": "0.44.5",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "800",
|
||||||
"addr_prefix": "osmo",
|
"addr_prefix": "osmo",
|
||||||
"logo": "https://dl.airtable.com/.attachments/4ef30ec4008bc86cc3c0f74a6bb84050/0eeb4d64/aQ5W3zaT_400x400.jpg"
|
"logo": "https://dl.airtable.com/.attachments/4ef30ec4008bc86cc3c0f74a6bb84050/0eeb4d64/aQ5W3zaT_400x400.jpg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uosmo",
|
||||||
|
"symbol": "OSMO",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "osmosis",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/4ef30ec4008bc86cc3c0f74a6bb84050/0eeb4d64/aQ5W3zaT_400x400.jpg"
|
||||||
|
},{
|
||||||
|
"base": "uion",
|
||||||
|
"symbol": "ION",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "ion",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/4ef30ec4008bc86cc3c0f74a6bb84050/0eeb4d64/aQ5W3zaT_400x400.jpg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "persistence",
|
"coingecko": "persistence",
|
||||||
"api": "https://rest.core.persistence.one",
|
"api": "https://rest.core.persistence.one",
|
||||||
"sdk_version": "0.42.4",
|
"sdk_version": "0.42.4",
|
||||||
|
"coin_type": "750",
|
||||||
|
"min_tx_fee": "3000",
|
||||||
"addr_prefix": "persistence",
|
"addr_prefix": "persistence",
|
||||||
"logo": "https://dl.airtable.com/.attachments/23178be773dc4de133ca4c07056aba1c/6e855850/persistence.png"
|
"logo": "https://dl.airtable.com/.attachments/23178be773dc4de133ca4c07056aba1c/6e855850/persistence.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uxprt",
|
||||||
|
"symbol": "XPRT",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "persistence",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/23178be773dc4de133ca4c07056aba1c/6e855850/persistence.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "provenance",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": "https://api.provenance.io",
|
||||||
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "505",
|
||||||
|
"min_tx_fee": "400000000",
|
||||||
|
"addr_prefix": "pb",
|
||||||
|
"logo": "https://raw.githubusercontent.com/provenance-io/provenance/main/docs/pio.svg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "nhash",
|
||||||
|
"symbol": "HASH",
|
||||||
|
"exponent": "9",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://raw.githubusercontent.com/provenance-io/provenance/main/docs/pio.svg"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -2,7 +2,16 @@
|
|||||||
"chain_name": "regen",
|
"chain_name": "regen",
|
||||||
"coingecko": "regen",
|
"coingecko": "regen",
|
||||||
"api": "https://regen.api.ping.pub",
|
"api": "https://regen.api.ping.pub",
|
||||||
"sdk_version": "0.42.4",
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "3000",
|
||||||
"addr_prefix": "regen",
|
"addr_prefix": "regen",
|
||||||
"logo": "https://dl.airtable.com/.attachments/0c988f2cd6a7d4fec95f0a3bc87b45da/c7a9f8ba/regen-brandmark-48.svg"
|
"logo": "https://dl.airtable.com/.attachments/0c988f2cd6a7d4fec95f0a3bc87b45da/c7a9f8ba/regen-brandmark-48.svg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uregen",
|
||||||
|
"symbol": "REGEN",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "regen",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/0c988f2cd6a7d4fec95f0a3bc87b45da/c7a9f8ba/regen-brandmark-48.svg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "rizon",
|
||||||
|
"api": ["https://rizon.api.ping.pub"],
|
||||||
|
"sdk_version": "v0.42.9",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uatolo",
|
||||||
|
"symbol": "ATOLO",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "rizon",
|
||||||
|
"logo": "https://ping.pub/logos/rizon.svg"
|
||||||
|
}],
|
||||||
|
"addr_prefix": "rizon",
|
||||||
|
"logo": "https://ping.pub/logos/rizon.svg"
|
||||||
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "secret",
|
"coingecko": "secret",
|
||||||
"api": "https://api.scrt.network",
|
"api": "https://api.scrt.network",
|
||||||
"sdk_version": "0.33.8",
|
"sdk_version": "0.33.8",
|
||||||
|
"coin_type": "529",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"addr_prefix": "secret",
|
"addr_prefix": "secret",
|
||||||
"logo": "https://dl.airtable.com/.attachments/b95ce1905e5327924ffdcb6d57c55b66/7e2ad353/logo.png"
|
"logo": "https://dl.airtable.com/.attachments/b95ce1905e5327924ffdcb6d57c55b66/7e2ad353/logo.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uscrt",
|
||||||
|
"symbol": "SCRT",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "secret",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/b95ce1905e5327924ffdcb6d57c55b66/7e2ad353/logo.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "sentinel",
|
"coingecko": "sentinel",
|
||||||
"api": "https://lcd.sentinel.co",
|
"api": "https://lcd.sentinel.co",
|
||||||
"sdk_version": "0.42.6",
|
"sdk_version": "0.42.6",
|
||||||
|
"coin_type": "750",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
"addr_prefix": "sent",
|
"addr_prefix": "sent",
|
||||||
"logo": "https://dl.airtable.com/.attachments/321491a9da1680faa670fa81569b02b0/37621c88/unnamed.png"
|
"logo": "https://dl.airtable.com/.attachments/321491a9da1680faa670fa81569b02b0/37621c88/unnamed.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "udvpn",
|
||||||
|
"symbol": "DVPN",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "sentinel",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/321491a9da1680faa670fa81569b02b0/37621c88/unnamed.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "sifchain",
|
"coingecko": "sifchain",
|
||||||
"api": "https://api.sifchain.finance",
|
"api": "https://api.sifchain.finance",
|
||||||
"sdk_version": "0.42.6",
|
"sdk_version": "0.42.6",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
"addr_prefix": "sif",
|
"addr_prefix": "sif",
|
||||||
"logo": "https://dl.airtable.com/.attachments/990cb076d7566e53e976c1fa69d60b09/3c05e786/71144030.jpeg"
|
"logo": "https://dl.airtable.com/.attachments/990cb076d7566e53e976c1fa69d60b09/3c05e786/71144030.jpeg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "rowan",
|
||||||
|
"symbol": "ROWAN",
|
||||||
|
"exponent": "18",
|
||||||
|
"coingecko_id": "sifchain",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/990cb076d7566e53e976c1fa69d60b09/3c05e786/71144030.jpeg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,16 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "stargaze",
|
"chain_name": "stargaze",
|
||||||
"coingecko": "stargaze-protocol",
|
"api": ["https://rest.stargaze-apis.com", "https://rest.stargaze.publicawesome.dev"],
|
||||||
"api": "https://rest.stargaze.publicawesome.dev",
|
|
||||||
"sdk_version": "0.44.3",
|
"sdk_version": "0.44.3",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "800",
|
||||||
"addr_prefix": "stars",
|
"addr_prefix": "stars",
|
||||||
"logo": "https://dl.airtable.com/.attachments/79f2b74422c63b3fdb0310407d9cc990/5f4f1dd8/RGw3ZaVT_400x400.png"
|
"logo": "https://dl.airtable.com/.attachments/79f2b74422c63b3fdb0310407d9cc990/5f4f1dd8/RGw3ZaVT_400x400.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "ustars",
|
||||||
|
"symbol": "STARS",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "stargaze",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/79f2b74422c63b3fdb0310407d9cc990/5f4f1dd8/RGw3ZaVT_400x400.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "starname",
|
"coingecko": "starname",
|
||||||
"api": "https://api.iov-mainnet-ibc.iov.one",
|
"api": "https://api.iov-mainnet-ibc.iov.one",
|
||||||
"sdk_version": "0.42.6",
|
"sdk_version": "0.42.6",
|
||||||
|
"coin_type": "234",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
"addr_prefix": "star",
|
"addr_prefix": "star",
|
||||||
"logo": "https://dl.airtable.com/.attachments/69f75a1b45803d70d8ef69f7f83198e1/d991d407/ZUZfz7Th_400x400.jpg"
|
"logo": "https://dl.airtable.com/.attachments/69f75a1b45803d70d8ef69f7f83198e1/d991d407/ZUZfz7Th_400x400.jpg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uiov",
|
||||||
|
"symbol": "IOV",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "starname",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/69f75a1b45803d70d8ef69f7f83198e1/d991d407/ZUZfz7Th_400x400.jpg"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,135 @@
|
|||||||
"coingecko": "terra-luna",
|
"coingecko": "terra-luna",
|
||||||
"api": "https://fcd.terra.dev",
|
"api": "https://fcd.terra.dev",
|
||||||
"sdk_version": "0.44.2",
|
"sdk_version": "0.44.2",
|
||||||
|
"coin_type": "330",
|
||||||
|
"min_tx_fee": "5000",
|
||||||
"addr_prefix": "terra",
|
"addr_prefix": "terra",
|
||||||
"logo": "https://dl.airtable.com/.attachments/275a6cbdbdc911856556e716a60d6ec4/87addd7f/terra.jpg"
|
"logo": "https://dl.airtable.com/.attachments/275a6cbdbdc911856556e716a60d6ec4/87addd7f/terra.jpg",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uluna",
|
||||||
|
"symbol": "LUNA",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "terra-luna",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/275a6cbdbdc911856556e716a60d6ec4/87addd7f/terra.jpg"
|
||||||
|
},{
|
||||||
|
"base": "uusd",
|
||||||
|
"symbol": "UST",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "terrausd",
|
||||||
|
"logo": "https://raw.githubusercontent.com/osmosis-labs/assetlists/main/images/ust.png"
|
||||||
|
},{
|
||||||
|
"base": "ukrw",
|
||||||
|
"symbol": "KRT",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "terrakrw",
|
||||||
|
"logo": "https://raw.githubusercontent.com/osmosis-labs/assetlists/main/images/krt.png"
|
||||||
|
},{
|
||||||
|
"base": "cw20:terra183cvzy6knvva6mpvzcq86uyfxw0nd4925m0d0m",
|
||||||
|
"symbol": "WHALE",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "white-whale",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uaud",
|
||||||
|
"symbol": "AUD",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "ucad",
|
||||||
|
"symbol": "CAD",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uchf",
|
||||||
|
"symbol": "CHF",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "ucny",
|
||||||
|
"symbol": "CNY",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "udkk",
|
||||||
|
"symbol": "DKK",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "ueur",
|
||||||
|
"symbol": "EUR",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "ugbp",
|
||||||
|
"symbol": "GBP",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uhkd",
|
||||||
|
"symbol": "HKD",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uidr",
|
||||||
|
"symbol": "IDR",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uinr",
|
||||||
|
"symbol": "INR",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "ujpy",
|
||||||
|
"symbol": "JPY",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "umnt",
|
||||||
|
"symbol": "MNT",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uphp",
|
||||||
|
"symbol": "PHP",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "usdr",
|
||||||
|
"symbol": "SDR",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "usek",
|
||||||
|
"symbol": "SEK",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "usgd",
|
||||||
|
"symbol": "SGD",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
},{
|
||||||
|
"base": "uthb",
|
||||||
|
"symbol": "THB",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://www.whitewhale.money/tokenlogo.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"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"],
|
||||||
|
"sdk_version": "0.45.1",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
|
"addr_prefix": "umee",
|
||||||
|
"logo": "https://ping.pub/logos/umee.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uumee",
|
||||||
|
"symbol": "UMEE",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "https://ping.pub/logos/umee.png"
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"chain_id":"origin_1170-1",
|
||||||
|
"chain_name": "Uptick Origin",
|
||||||
|
"api": "https://rest.origin.uptick.network",
|
||||||
|
"sdk_version": "v0.46.9",
|
||||||
|
"coin_type": "60",
|
||||||
|
"min_tx_fee": "40000",
|
||||||
|
"addr_prefix": "uptick",
|
||||||
|
"logo": "https://file.uptick.network/file/image/dNOLswid7dGe29CFhPp3Ow.png",
|
||||||
|
"assets": [
|
||||||
|
{
|
||||||
|
"base": "auoc",
|
||||||
|
"symbol": "UOC",
|
||||||
|
"exponent": "18",
|
||||||
|
"coingecko_id": "Uptick Origin",
|
||||||
|
"logo": "https://file.uptick.network/file/image/dNOLswid7dGe29CFhPp3Ow.png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -3,6 +3,15 @@
|
|||||||
"coingecko": "vidulum",
|
"coingecko": "vidulum",
|
||||||
"api": "https://mainnet-lcd.vidulum.app",
|
"api": "https://mainnet-lcd.vidulum.app",
|
||||||
"sdk_version": "0.44.0",
|
"sdk_version": "0.44.0",
|
||||||
|
"coin_type": "370",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
"addr_prefix": "vdl",
|
"addr_prefix": "vdl",
|
||||||
"logo": "/logos/VDL.png"
|
"logo": "https://ping.pub/logos/VDL.png",
|
||||||
|
"assets": [{
|
||||||
|
"base": "uvdl",
|
||||||
|
"symbol": "VDL",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "vidulum",
|
||||||
|
"logo": "https://ping.pub/logos/VDL.png"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "arkh",
|
||||||
|
"api":"https://asc-blockchain-api.arkhadian.com",
|
||||||
|
"sdk_version": "0.44.1",
|
||||||
|
"addr_prefix": "arkh",
|
||||||
|
"logo": "https://www.arkhadian.com/static/images/600-prism_ejAjDRh.jpg"
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "evmos",
|
||||||
|
"coingecko": "evmos",
|
||||||
|
"api": "https://testnet-evmos.api.ping.pub",
|
||||||
|
"sdk_version": "0.42.4",
|
||||||
|
"addr_prefix": "evmos",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/53c13408739d92d9eada6bda12d0a50a/4c2f1c8c/Hgl3o3VL_400x400.jpg"
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "juno",
|
||||||
|
"coingecko": "juno-network",
|
||||||
|
"api": "https://api.uni.junonetwork.io",
|
||||||
|
"sdk_version": "0.42.4",
|
||||||
|
"addr_prefix": "juno",
|
||||||
|
"logo": "https://dl.airtable.com/.attachments/0f66137c6fb2868000d5a1e214c9ae3d/75a9c5bc/S3c2V3Xd_400x400.jpg"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "provenance",
|
||||||
|
"api": "https://api.test.provenance.io",
|
||||||
|
"sdk_version": "0.44.3",
|
||||||
|
"addr_prefix": "tp",
|
||||||
|
"logo": "https://raw.githubusercontent.com/provenance-io/provenance/main/docs/pio.svg"
|
||||||
|
}
|
||||||
@@ -28,6 +28,10 @@
|
|||||||
"injective": "Injective Protocal",
|
"injective": "Injective Protocal",
|
||||||
"vidulum": "Vidulum",
|
"vidulum": "Vidulum",
|
||||||
"kichain": "KI Chain",
|
"kichain": "KI Chain",
|
||||||
|
"genesisL1": "Genesis L1",
|
||||||
|
"microtick": "Microtick",
|
||||||
|
"odin": "ODIN",
|
||||||
|
"chihuahua": "CHIHUAHUA",
|
||||||
|
|
||||||
"staking": "Staking",
|
"staking": "Staking",
|
||||||
"governance": "Governance",
|
"governance": "Governance",
|
||||||
@@ -50,6 +54,7 @@
|
|||||||
"proposal_content": "Content",
|
"proposal_content": "Content",
|
||||||
"proposal_total_deposit": "Total Deposit",
|
"proposal_total_deposit": "Total Deposit",
|
||||||
"voting_time": "Voting Time",
|
"voting_time": "Voting Time",
|
||||||
|
"upgrade_time": "Estimated Upgrade Time:",
|
||||||
|
|
||||||
"btn_vote": "Vote",
|
"btn_vote": "Vote",
|
||||||
"btn_deposit": "Deposit",
|
"btn_deposit": "Deposit",
|
||||||
|
|||||||
@@ -48,10 +48,35 @@
|
|||||||
/></b-link>
|
/></b-link>
|
||||||
</b-media-aside>
|
</b-media-aside>
|
||||||
<b-media-body class="my-auto">
|
<b-media-body class="my-auto">
|
||||||
<h6 class="mb-0 text-uppercase">
|
<h6 class="mb-0 ">
|
||||||
{{ selected_chain.chain_name }}
|
<span class="text-uppercase">{{ chainid || selected_chain.chain_name }}</span>
|
||||||
</h6>
|
</h6>
|
||||||
<small v-b-tooltip.hover.bottom="'Data Provider'">{{ selected_chain.api }} ({{ selected_chain.sdk_version || '-' }})</small>
|
<small id="data-provider">
|
||||||
|
{{ currentApi }} ({{ selected_chain.sdk_version || '-' }})
|
||||||
|
<b-dropdown
|
||||||
|
class="ml-0"
|
||||||
|
variant="flat-primary"
|
||||||
|
no-caret
|
||||||
|
toggle-class="p-0"
|
||||||
|
right
|
||||||
|
sm
|
||||||
|
>
|
||||||
|
<template #button-content>
|
||||||
|
<feather-icon
|
||||||
|
icon="RepeatIcon"
|
||||||
|
size="12"
|
||||||
|
class="cursor-pointer"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<b-dropdown-item
|
||||||
|
v-for="(item, i) in apiOptions"
|
||||||
|
:key="item"
|
||||||
|
@click="change(i)"
|
||||||
|
>
|
||||||
|
{{ item }}
|
||||||
|
</b-dropdown-item>
|
||||||
|
</b-dropdown>
|
||||||
|
</small>
|
||||||
</b-media-body>
|
</b-media-body>
|
||||||
</b-media>
|
</b-media>
|
||||||
</div>
|
</div>
|
||||||
@@ -62,16 +87,7 @@
|
|||||||
<dark-Toggler class="d-none d-lg-block" />
|
<dark-Toggler class="d-none d-lg-block" />
|
||||||
<search-bar />
|
<search-bar />
|
||||||
<locale />
|
<locale />
|
||||||
<b-button
|
<b-dropdown
|
||||||
v-ripple.400="'rgba(255, 255, 255, 0.15)'"
|
|
||||||
variant="primary"
|
|
||||||
class="btn-icon"
|
|
||||||
:to="{ name: 'accounts' }"
|
|
||||||
>
|
|
||||||
<feather-icon icon="KeyIcon" />
|
|
||||||
<span class="align-middle ml-25">{{ walletName }}</span>
|
|
||||||
</b-button>
|
|
||||||
<!-- <b-dropdown
|
|
||||||
class="ml-1"
|
class="ml-1"
|
||||||
variant="link"
|
variant="link"
|
||||||
no-caret
|
no-caret
|
||||||
@@ -85,11 +101,15 @@
|
|||||||
variant="primary"
|
variant="primary"
|
||||||
class="btn-icon"
|
class="btn-icon"
|
||||||
>
|
>
|
||||||
<feather-icon icon="UserIcon" />
|
<feather-icon icon="KeyIcon" />
|
||||||
|
{{ walletName }}
|
||||||
</b-button>
|
</b-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<b-dropdown-item :to="{ name: 'portfolio' }">
|
<b-dropdown-item
|
||||||
|
:to="{ name: 'portfolio' }"
|
||||||
|
class="d-none"
|
||||||
|
>
|
||||||
<feather-icon
|
<feather-icon
|
||||||
icon="PieChartIcon"
|
icon="PieChartIcon"
|
||||||
size="16"
|
size="16"
|
||||||
@@ -105,22 +125,29 @@
|
|||||||
<span class="align-middle ml-50">Accounts</span>
|
<span class="align-middle ml-50">Accounts</span>
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
|
|
||||||
<b-dropdown-item :to="{ name: 'addresses' }">
|
<b-dropdown-item :to="{ name: 'delegations' }">
|
||||||
<feather-icon
|
<feather-icon
|
||||||
icon="BookOpenIcon"
|
icon="BookOpenIcon"
|
||||||
size="16"
|
size="16"
|
||||||
/>
|
/>
|
||||||
<span class="align-middle ml-50">Address Book</span>
|
<span class="align-middle ml-50">My Delegations</span>
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
|
|
||||||
<b-dropdown-item :to="{ name: 'setting' }">
|
<b-dropdown-item :to="`/${selected_chain.chain_name}/uptime/my`">
|
||||||
<feather-icon
|
<feather-icon
|
||||||
icon="SettingsIcon"
|
icon="AirplayIcon"
|
||||||
size="16"
|
size="16"
|
||||||
/>
|
/>
|
||||||
<span class="align-middle ml-50">Setting</span>
|
<span class="align-middle ml-50">My Validators</span>
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
</b-dropdown> -->
|
<b-dropdown-item :to="`/wallet/transactions`">
|
||||||
|
<feather-icon
|
||||||
|
icon="LayersIcon"
|
||||||
|
size="16"
|
||||||
|
/>
|
||||||
|
<span class="align-middle ml-50">My Transactions</span>
|
||||||
|
</b-dropdown-item>
|
||||||
|
</b-dropdown>
|
||||||
</b-navbar-nav>
|
</b-navbar-nav>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -128,14 +155,14 @@
|
|||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
BLink, BNavbarNav, BMedia, BMediaAside, BAvatar, BMediaBody, VBTooltip, BButton,
|
BLink, BNavbarNav, BMedia, BMediaAside, BAvatar, BMediaBody, VBTooltip, BButton,
|
||||||
|
BDropdown, BDropdownItem,
|
||||||
} from 'bootstrap-vue'
|
} from 'bootstrap-vue'
|
||||||
import Ripple from 'vue-ripple-directive'
|
import Ripple from 'vue-ripple-directive'
|
||||||
import DarkToggler from '@core/layouts/components/app-navbar/components/DarkToggler.vue'
|
import DarkToggler from '@core/layouts/components/app-navbar/components/DarkToggler.vue'
|
||||||
import Locale from '@core/layouts/components/app-navbar/components/Locale.vue'
|
import Locale from '@core/layouts/components/app-navbar/components/Locale.vue'
|
||||||
import SearchBar from '@core/layouts/components/app-navbar/components/SearchBar.vue'
|
import SearchBar from '@core/layouts/components/app-navbar/components/SearchBar.vue'
|
||||||
// import CartDropdown from '@core/layouts/components/app-navbar/components/CartDropdown.vue'
|
// import CartDropdown from '@core/layouts/components/app-navbar/components/CartDropdown.vue'
|
||||||
import store from '@/store'
|
import { getLocalAccounts, timeIn, toDay } from '@/libs/utils'
|
||||||
import { getLocalAccounts, timeIn, toDay } from '@/libs/data'
|
|
||||||
// import UserDropdown from '@core/layouts/components/app-navbar/components/UserDropdown.vue'
|
// import UserDropdown from '@core/layouts/components/app-navbar/components/UserDropdown.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -147,6 +174,8 @@ export default {
|
|||||||
BMediaAside,
|
BMediaAside,
|
||||||
BMediaBody,
|
BMediaBody,
|
||||||
BButton,
|
BButton,
|
||||||
|
BDropdown,
|
||||||
|
BDropdownItem,
|
||||||
|
|
||||||
// Navbar Components
|
// Navbar Components
|
||||||
DarkToggler,
|
DarkToggler,
|
||||||
@@ -169,6 +198,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
tips: 'Synced',
|
tips: 'Synced',
|
||||||
|
index: 0,
|
||||||
|
chainid: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -178,11 +209,21 @@ export default {
|
|||||||
},
|
},
|
||||||
selected_chain() {
|
selected_chain() {
|
||||||
this.block()
|
this.block()
|
||||||
return store.state.chains.selected
|
return this.$store.state.chains.selected
|
||||||
},
|
},
|
||||||
chainVariant() {
|
chainVariant() {
|
||||||
return this.variant
|
return this.variant
|
||||||
},
|
},
|
||||||
|
currentApi() {
|
||||||
|
return this.index + 1 > this.apiOptions.length ? this.apiOptions[0] : this.apiOptions[this.index]
|
||||||
|
},
|
||||||
|
apiOptions() {
|
||||||
|
const conf = this.$store.state.chains.selected
|
||||||
|
if (Array.isArray(conf.api)) {
|
||||||
|
return conf.api
|
||||||
|
}
|
||||||
|
return [conf.api]
|
||||||
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const accounts = Object.keys(getLocalAccounts() || {})
|
const accounts = Object.keys(getLocalAccounts() || {})
|
||||||
@@ -191,13 +232,22 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
change(v) {
|
||||||
|
this.index = v
|
||||||
|
const conf = this.$store.state.chains.selected
|
||||||
|
localStorage.setItem(`${conf.chain_name}-api-index`, v)
|
||||||
|
},
|
||||||
block() {
|
block() {
|
||||||
store.commit('setHeight', 0)
|
const conf = this.$store.state.chains.selected
|
||||||
|
const s = localStorage.getItem(`${conf.chain_name}-api-index`) || 0
|
||||||
|
this.index = Number(s)
|
||||||
|
this.$store.commit('setHeight', 0)
|
||||||
this.$http.getLatestBlock().then(block => {
|
this.$http.getLatestBlock().then(block => {
|
||||||
store.commit('setHeight', Number(block.block.header.height))
|
this.chainid = block.block.header.chain_id
|
||||||
|
this.$store.commit('setHeight', Number(block.block.header.height))
|
||||||
if (timeIn(block.block.header.time, 1, 'm')) {
|
if (timeIn(block.block.header.time, 1, 'm')) {
|
||||||
this.variant = 'danger'
|
this.variant = 'danger'
|
||||||
this.tips = `Halted ${toDay(block.block.header.time, 'from')}, Height: ${store.state.chains.height} `
|
this.tips = `Halted ${toDay(block.block.header.time, 'from')}, Height: ${this.$store.state.chains.height} `
|
||||||
} else {
|
} else {
|
||||||
this.variant = 'success'
|
this.variant = 'success'
|
||||||
this.tips = 'Synced'
|
this.tips = 'Synced'
|
||||||
|
|||||||
@@ -338,7 +338,6 @@ function createDefaultTypes(prefix) {
|
|||||||
"/ibc.applications.transfer.v1.MsgTransfer": {
|
"/ibc.applications.transfer.v1.MsgTransfer": {
|
||||||
aminoType: "cosmos-sdk/MsgTransfer",
|
aminoType: "cosmos-sdk/MsgTransfer",
|
||||||
toAmino: ({ sourcePort, sourceChannel, token, sender, receiver, timeoutHeight, timeoutTimestamp, }) => {
|
toAmino: ({ sourcePort, sourceChannel, token, sender, receiver, timeoutHeight, timeoutTimestamp, }) => {
|
||||||
console.log('toAmino', sourceChannel, sourcePort)
|
|
||||||
var _a, _b, _c;
|
var _a, _b, _c;
|
||||||
return ({
|
return ({
|
||||||
source_port: sourcePort,
|
source_port: sourcePort,
|
||||||
@@ -370,6 +369,31 @@ function createDefaultTypes(prefix) {
|
|||||||
timeoutTimestamp: long_1.default.fromString(timeout_timestamp || "0", true),
|
timeoutTimestamp: long_1.default.fromString(timeout_timestamp || "0", true),
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
// osmosis
|
||||||
|
"/osmosis.gamm.v1beta1.MsgSwapExactAmountIn": {
|
||||||
|
aminoType: "cosmos-sdk/MsgSwapExactAmountIn",
|
||||||
|
toAmino: ({ sender, routes, tokenIn, tokenOutMinAmount}) => {
|
||||||
|
utils_1.assertDefinedAndNotNull(tokenIn.amount, "missing amount");
|
||||||
|
return {
|
||||||
|
sender,
|
||||||
|
routes: routes.map(({poolId, tokenOutDenom}) => ({pool_id: poolId, token_out_denom: tokenOutDenom})),
|
||||||
|
token_in: {
|
||||||
|
amount: tokenIn.amount,
|
||||||
|
denom: tokenIn.denom,
|
||||||
|
},
|
||||||
|
token_out_min_amount: tokenOutMinAmount,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
fromAmino: ({ sender, routes, token_in, token_out_min_amount }) => ({
|
||||||
|
sender,
|
||||||
|
routes: routes.map(({pool_id, token_out_denom})=>({poolId: long_1.default.fromString(pool_id), tokenOutDenom: token_out_denom})),
|
||||||
|
tokenIn: {
|
||||||
|
amount: long_1.default.fromString(token_in.amount),
|
||||||
|
denom: token_in.denom,
|
||||||
|
},
|
||||||
|
tokenOutMinAmount: long_1.default.fromString(token_out_min_amount),
|
||||||
|
}),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -385,6 +409,7 @@ class AminoTypes {
|
|||||||
this.register = Object.assign(Object.assign({}, filteredDefaultTypes), additions);
|
this.register = Object.assign(Object.assign({}, filteredDefaultTypes), additions);
|
||||||
}
|
}
|
||||||
toAmino({ typeUrl, value }) {
|
toAmino({ typeUrl, value }) {
|
||||||
|
console.log('typeurl:', typeUrl, value)
|
||||||
const converter = this.register[typeUrl];
|
const converter = this.register[typeUrl];
|
||||||
if (!converter) {
|
if (!converter) {
|
||||||
throw new Error("Type URL does not exist in the Amino message type register. " +
|
throw new Error("Type URL does not exist in the Amino message type register. " +
|
||||||
|
|||||||
@@ -10,6 +10,5 @@ export { default as Block } from './block'
|
|||||||
export { default as ValidatorDistribution } from './validator-distribution'
|
export { default as ValidatorDistribution } from './validator-distribution'
|
||||||
export { default as StakingDelegation } from './staking-delegation'
|
export { default as StakingDelegation } from './staking-delegation'
|
||||||
export { default as WrapStdTx } from './wrapstdtx'
|
export { default as WrapStdTx } from './wrapstdtx'
|
||||||
export * from './data'
|
|
||||||
|
|
||||||
export default class Test {}
|
export default class Test {}
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import { percent } from './data'
|
|
||||||
|
|
||||||
export default class ProposalTally {
|
export default class ProposalTally {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.total = 0
|
this.total = 0
|
||||||
@@ -17,11 +15,11 @@ export default class ProposalTally {
|
|||||||
} else {
|
} else {
|
||||||
this.total = total
|
this.total = total
|
||||||
}
|
}
|
||||||
this.yes = percent(Number(element.yes) / this.total)
|
this.yes = Number(element.yes) / this.total
|
||||||
this.no = percent(Number(element.no) / this.total)
|
this.no = Number(element.no) / this.total
|
||||||
this.veto = percent(Number(element.no_with_veto) / this.total)
|
this.veto = Number(element.no_with_veto) / this.total
|
||||||
this.abstain = percent(Number(element.abstain) / this.total)
|
this.abstain = Number(element.abstain) / this.total
|
||||||
this.turnout = percent(subtotal / this.total)
|
this.turnout = subtotal / this.total
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import compareVersions from 'compare-versions'
|
import compareVersions from 'compare-versions'
|
||||||
import { toDay, formatToken } from './data'
|
|
||||||
import ProposalTally from './proposal-tally'
|
import ProposalTally from './proposal-tally'
|
||||||
|
|
||||||
export default class Proposal {
|
export default class Proposal {
|
||||||
@@ -12,9 +11,9 @@ export default class Proposal {
|
|||||||
this.title = '-'
|
this.title = '-'
|
||||||
this.description = '-'
|
this.description = '-'
|
||||||
this.tally = new ProposalTally()
|
this.tally = new ProposalTally()
|
||||||
this.submit_time = ' - '
|
this.submit_time = '0000-00-00'
|
||||||
this.voting_end_time = '0000-00-00'
|
this.voting_end_time = '0000-00-00'
|
||||||
this.voting_start_time = '-'
|
this.voting_start_time = '0000-00-00'
|
||||||
this.total_deposit = '-'
|
this.total_deposit = '-'
|
||||||
this.contents = null
|
this.contents = null
|
||||||
}
|
}
|
||||||
@@ -22,17 +21,20 @@ export default class Proposal {
|
|||||||
init(element, total) {
|
init(element, total) {
|
||||||
this.element = element
|
this.element = element
|
||||||
|
|
||||||
this.id = element.id
|
this.id = element.proposal_id || element.id
|
||||||
this.status = element.status
|
this.status = element.status
|
||||||
this.type = element.content.type
|
this.type = element.content.type
|
||||||
this.title = element.content.value.title
|
|
||||||
this.description = element.content.value.description
|
|
||||||
this.tally = new ProposalTally().init(element.final_tally_result, total)
|
this.tally = new ProposalTally().init(element.final_tally_result, total)
|
||||||
this.submit_time = toDay(element.submit_time, 'date')
|
this.submit_time = element.submit_time
|
||||||
this.voting_end_time = toDay(element.voting_end_time, 'date')
|
this.voting_end_time = element.voting_end_time
|
||||||
this.voting_start_time = toDay(element.voting_start_time, 'date')
|
this.voting_start_time = element.voting_start_time
|
||||||
this.total_deposit = formatToken(element.total_deposit[0])
|
// eslint-disable-next-line prefer-destructuring
|
||||||
this.contents = element.content.value
|
this.total_deposit = element.total_deposit[0]
|
||||||
|
this.contents = element.content.value || element.content
|
||||||
|
if (this.contents) {
|
||||||
|
this.title = this.contents.title
|
||||||
|
this.description = this.contents.description
|
||||||
|
}
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,6 +66,12 @@ export default class Proposal {
|
|||||||
}
|
}
|
||||||
if (String(this.status).indexOf('PASSED') > -1) {
|
if (String(this.status).indexOf('PASSED') > -1) {
|
||||||
this.status = 3
|
this.status = 3
|
||||||
|
} else if (String(this.status).indexOf('VOTING') > -1) {
|
||||||
|
this.status = 2
|
||||||
|
} else if (String(this.status).indexOf('REJECTED') > -1) {
|
||||||
|
this.status = 4
|
||||||
|
} else if (String(this.status).indexOf('DEPOSIT') > -1) {
|
||||||
|
this.status = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
/* eslint-disable camelcase */
|
/* eslint-disable camelcase */
|
||||||
|
|
||||||
import { SigningStargateClient } from '@cosmjs/stargate'
|
import { SigningStargateClient } from '@cosmjs/stargate'
|
||||||
import { MsgTransfer } from './msg-transfer'
|
// import { MsgTransfer } from './msg-transfer'
|
||||||
// import { AminoTypes } from './aminotypes'
|
import { AminoTypes } from './aminotypes'
|
||||||
|
import { MsgSwapExactAmountIn } from '../msg'
|
||||||
|
|
||||||
const amino_1 = require('@cosmjs/amino')
|
const amino_1 = require('@cosmjs/amino')
|
||||||
const encoding_1 = require('@cosmjs/encoding')
|
const encoding_1 = require('@cosmjs/encoding')
|
||||||
@@ -15,11 +16,11 @@ export default class PingWalletClient extends SigningStargateClient {
|
|||||||
static async offline(signer, options = {}) {
|
static async offline(signer, options = {}) {
|
||||||
const instance = new PingWalletClient(undefined, signer, options)
|
const instance = new PingWalletClient(undefined, signer, options)
|
||||||
|
|
||||||
instance.registry.register('/ibc.applications.transfer.v1.MsgTransfer', MsgTransfer)
|
instance.registry.register('/osmosis.gamm.v1beta1.MsgSwapExactAmountIn', MsgSwapExactAmountIn)
|
||||||
|
|
||||||
// console.log('registory:', instance.registry, AminoTypes)
|
// console.log('registory:', instance.registry, AminoTypes)
|
||||||
// const { aminoTypes = new AminoTypes({ prefix: options.prefix }) } = options
|
const { aminoTypes = new AminoTypes({ prefix: options.prefix }) } = options
|
||||||
// instance.aminoTypes = aminoTypes
|
instance.aminoTypes = aminoTypes
|
||||||
// console.log('aminoType:', instance.aminoTypes)
|
// console.log('aminoType:', instance.aminoTypes)
|
||||||
return instance
|
return instance
|
||||||
}
|
}
|
||||||
@@ -32,13 +33,16 @@ export default class PingWalletClient extends SigningStargateClient {
|
|||||||
}
|
}
|
||||||
const pubkey = proto_signing_1.encodePubkey(amino_1.encodeSecp256k1Pubkey(accountFromSigner.pubkey))
|
const pubkey = proto_signing_1.encodePubkey(amino_1.encodeSecp256k1Pubkey(accountFromSigner.pubkey))
|
||||||
const signMode = signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON
|
const signMode = signing_1.SignMode.SIGN_MODE_LEGACY_AMINO_JSON
|
||||||
|
// console.log('messages:', messages)
|
||||||
const msgs = messages.map(msg => this.aminoTypes.toAmino(msg))
|
const msgs = messages.map(msg => this.aminoTypes.toAmino(msg))
|
||||||
|
// console.log('msgs:', msgs)
|
||||||
const signDoc = amino_1.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence)
|
const signDoc = amino_1.makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence)
|
||||||
const { signature, signed } = await this.signer.signAmino(signerAddress, signDoc)
|
const { signature, signed } = await this.signer.signAmino(signerAddress, signDoc)
|
||||||
const signedTxBody = {
|
const signedTxBody = {
|
||||||
messages: signed.msgs.map(msg => this.aminoTypes.fromAmino(msg)),
|
messages: signed.msgs.map(msg => this.aminoTypes.fromAmino(msg)),
|
||||||
memo: signed.memo,
|
memo: signed.memo,
|
||||||
}
|
}
|
||||||
|
// console.log(signedTxBody)
|
||||||
const signedTxBodyEncodeObject = {
|
const signedTxBodyEncodeObject = {
|
||||||
typeUrl: '/cosmos.tx.v1beta1.TxBody',
|
typeUrl: '/cosmos.tx.v1beta1.TxBody',
|
||||||
value: signedTxBody,
|
value: signedTxBody,
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import { percent } from './data'
|
|
||||||
|
|
||||||
export default class StakingPool {
|
export default class StakingPool {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.element = null
|
this.element = null
|
||||||
@@ -19,6 +17,6 @@ export default class StakingPool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bondedRatio() {
|
bondedRatio() {
|
||||||
return percent((this.bondedToken * 100) / this.total())
|
return (this.bondedToken * 100) / this.total()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { toBase64 } from '@cosmjs/encoding'
|
|||||||
import {
|
import {
|
||||||
Proposal, ProposalTally, Proposer, StakingPool, Votes, Deposit,
|
Proposal, ProposalTally, Proposer, StakingPool, Votes, Deposit,
|
||||||
Validator, StakingParameters, Block, ValidatorDistribution, StakingDelegation, WrapStdTx, getUserCurrency,
|
Validator, StakingParameters, Block, ValidatorDistribution, StakingDelegation, WrapStdTx, getUserCurrency,
|
||||||
} from './data'
|
} from './utils'
|
||||||
import OsmosAPI from './osmos'
|
import OsmosAPI from './osmos'
|
||||||
|
|
||||||
function commonProcess(res) {
|
function commonProcess(res) {
|
||||||
@@ -26,6 +26,13 @@ export function keybase(identity) {
|
|||||||
export default class ChainFetch {
|
export default class ChainFetch {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.osmosis = new OsmosAPI()
|
this.osmosis = new OsmosAPI()
|
||||||
|
this.EndpointVersion = {
|
||||||
|
certik: 'v1alpha1',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getEndpointVersion() {
|
||||||
|
return this.EndpointVersion[this.config.chain_name] || 'v1beta1'
|
||||||
}
|
}
|
||||||
|
|
||||||
getSelectedConfig() {
|
getSelectedConfig() {
|
||||||
@@ -64,8 +71,8 @@ export default class ChainFetch {
|
|||||||
return this.get(`/blocks/${height}`, config).then(data => Block.create(data))
|
return this.get(`/blocks/${height}`, config).then(data => Block.create(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getSlashingSigningInfo() {
|
async getSlashingSigningInfo(config = null) {
|
||||||
return this.get('/cosmos/slashing/v1beta1/signing_infos')
|
return this.get('/cosmos/slashing/v1beta1/signing_infos?pagination.limit=500', config)
|
||||||
}
|
}
|
||||||
|
|
||||||
async getTxs(hash) {
|
async getTxs(hash) {
|
||||||
@@ -133,14 +140,22 @@ export default class ChainFetch {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getValidatorList() {
|
async getValidatorList(config = null) {
|
||||||
return this.get('/staking/validators').then(data => {
|
return this.get('/staking/validators', config).then(data => {
|
||||||
const vals = commonProcess(data).map(i => new Validator().init(i))
|
const vals = commonProcess(data).map(i => new Validator().init(i))
|
||||||
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
|
localStorage.setItem(`validators-${this.config.chain_name}`, JSON.stringify(vals))
|
||||||
return vals
|
return vals
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getValidatorUnbondedList() {
|
||||||
|
return this.get('/cosmos/staking/v1beta1/validators?status=BOND_STATUS_UNBONDED').then(data => {
|
||||||
|
const result = commonProcess(data)
|
||||||
|
const vals = result.validators ? result.validators : result
|
||||||
|
return vals.map(i => new Validator().init(i))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async getValidatorListByHeight(height) {
|
async getValidatorListByHeight(height) {
|
||||||
return this.get(`/validatorsets/${height}`).then(data => commonProcess(data))
|
return this.get(`/validatorsets/${height}`).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
@@ -225,7 +240,8 @@ export default class ChainFetch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getGovernanceList() {
|
async getGovernanceList() {
|
||||||
return Promise.all([this.get('/gov/proposals'), this.get('/staking/pool')]).then(data => {
|
const url = this.config.chain_name === 'certik' ? '/shentu/gov/v1alpha1/proposals?pagination.limit=500' : '/cosmos/gov/v1beta1/proposals?pagination.limit=500'
|
||||||
|
return Promise.all([this.get(url), this.get('/staking/pool')]).then(data => {
|
||||||
const pool = new StakingPool().init(commonProcess(data[1]))
|
const pool = new StakingPool().init(commonProcess(data[1]))
|
||||||
let proposals = commonProcess(data[0])
|
let proposals = commonProcess(data[0])
|
||||||
if (Array.isArray(proposals.proposals)) {
|
if (Array.isArray(proposals.proposals)) {
|
||||||
@@ -243,24 +259,6 @@ export default class ChainFetch {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async get(url, config = null) {
|
|
||||||
if (!config) {
|
|
||||||
this.getSelectedConfig()
|
|
||||||
}
|
|
||||||
const ret = await fetch((config ? config.api : this.config.api) + url).then(response => response.json())
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
async getUrl(url) {
|
|
||||||
this.getSelectedConfig()
|
|
||||||
return fetch(url).then(res => res.json())
|
|
||||||
}
|
|
||||||
|
|
||||||
static fetch(host, url) {
|
|
||||||
const ret = fetch(host + url).then(response => response.json())
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
async getAuthAccount(address, config = null) {
|
async getAuthAccount(address, config = null) {
|
||||||
return this.get('/auth/accounts/'.concat(address), config).then(data => {
|
return this.get('/auth/accounts/'.concat(address), config).then(data => {
|
||||||
const result = commonProcess(data)
|
const result = commonProcess(data)
|
||||||
@@ -276,7 +274,7 @@ export default class ChainFetch {
|
|||||||
if (compareVersions(config ? config.sdk_version : this.config.sdk_version, '0.40') < 0) {
|
if (compareVersions(config ? config.sdk_version : this.config.sdk_version, '0.40') < 0) {
|
||||||
return this.get(`/distribution/delegators/${address}/rewards`, config).then(data => commonProcess(data))
|
return this.get(`/distribution/delegators/${address}/rewards`, config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
return this.get(`/cosmos/distribution/v1beta1/delegators/${address}/rewards`).then(data => commonProcess(data))
|
return this.get(`/cosmos/distribution/v1beta1/delegators/${address}/rewards`, config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getStakingValidators(address) {
|
async getStakingValidators(address) {
|
||||||
@@ -317,43 +315,46 @@ export default class ChainFetch {
|
|||||||
return this.get('/bank/balances/'.concat(address), config).then(data => commonProcess(data))
|
return this.get('/bank/balances/'.concat(address), config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getAllIBCDenoms(config = null) {
|
||||||
|
const sdkVersion = config ? config.sdk_version : this.config.sdk_version
|
||||||
|
if (compareVersions(sdkVersion, '0.44.2') < 0) {
|
||||||
|
return this.get('/ibc/applications/transfer/v1beta1/denom_traces?pagination.limit=500', config).then(data => commonProcess(data))
|
||||||
|
}
|
||||||
|
return this.get('/ibc/apps/transfer/v1/denom_traces?pagination.limit=500', config).then(data => commonProcess(data))
|
||||||
|
}
|
||||||
|
|
||||||
async getIBCDenomTrace(hash, config = null) {
|
async getIBCDenomTrace(hash, config = null) {
|
||||||
const h = hash.substring(hash.indexOf('/') + 1)
|
const h = hash.substring(hash.indexOf('/') + 1)
|
||||||
return this.get('/ibc/applications/transfer/v1beta1/denom_traces/'.concat(h), config).then(data => commonProcess(data))
|
const sdkVersion = config ? config.sdk_version : this.config.sdk_version
|
||||||
|
if (compareVersions(sdkVersion, '0.44.2') < 0) {
|
||||||
|
return this.get('/ibc/applications/transfer/v1beta1/denom_traces/'.concat(h), config).then(data => commonProcess(data))
|
||||||
|
}
|
||||||
|
return this.get('/ibc/apps/transfer/v1/denom_traces/'.concat(h), config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
async getIBCChannels(config = null, key = null) {
|
async getIBCChannels(config = null, key = null) {
|
||||||
if (key) {
|
if (key) {
|
||||||
return this.get('/ibc/core/channel/v1beta1/channels?pagination.key='.concat(key), config).then(data => commonProcess(data))
|
return this.get('/ibc/core/channel/v1/channels?pagination.key='.concat(key), config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
return this.get('/ibc/core/channel/v1beta1/channels', config).then(data => commonProcess(data))
|
return this.get('/ibc/core/channel/v1/channels?pagination.limit=1000', config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
async getIBCChannelClientState(channel_id, port_id, config = null) {
|
async getIBCChannelClientState(channel_id, port_id, config = null) {
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
return this.get(`/ibc/core/channel/v1beta1/channels/${channel_id}/ports/${port_id}/client_state`, config).then(data => commonProcess(data))
|
return this.get(`/ibc/core/channel/v1/channels/${channel_id}/ports/${port_id}/client_state`, config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
async getIBCChannel(channel_id, port_id, config = null) {
|
async getIBCChannel(channel_id, port_id, config = null) {
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
return this.get(`/ibc/core/channel/v1beta1/channels/${channel_id}/ports/${port_id}`, config).then(data => commonProcess(data))
|
return this.get(`/ibc/core/channel/v1/channels/${channel_id}/ports/${port_id}`, config).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getBankBalance(baseurl, address) {
|
static async getBankBalance(baseurl, address) {
|
||||||
return ChainFetch.fetch(baseurl, '/bank/balances/'.concat(address)).then(data => commonProcess(data))
|
return ChainFetch.fetch(baseurl, '/bank/balances/'.concat(address)).then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getIBCDenomTrace(baseurl, hash) {
|
|
||||||
const h = hash.substring(hash.indexOf('/'))
|
|
||||||
return ChainFetch.fetch(baseurl, '/ibc/applications/transfer/v1beta1/denom_traces/'.concat(h)).then(data => commonProcess(data))
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getIBCDenomTraceText(baseurl, hash) {
|
|
||||||
return ChainFetch.getIBCDenomTrace(baseurl, hash).then(res => res.denom_trace.base_denom)
|
|
||||||
}
|
|
||||||
|
|
||||||
async getGravityPools() {
|
async getGravityPools() {
|
||||||
return this.get('/cosmos/liquidity/v1beta1/pools').then(data => commonProcess(data))
|
return this.get('/cosmos/liquidity/v1beta1/pools').then(data => commonProcess(data))
|
||||||
}
|
}
|
||||||
@@ -361,8 +362,8 @@ export default class ChainFetch {
|
|||||||
async getMarketChart(days = 14, coin = null) {
|
async getMarketChart(days = 14, coin = null) {
|
||||||
const conf = this.getSelectedConfig()
|
const conf = this.getSelectedConfig()
|
||||||
const currency = getUserCurrency()
|
const currency = getUserCurrency()
|
||||||
if (conf.coingecko && conf.coingecko.length > 0) {
|
if (conf.assets[0] && conf.assets[0].coingecko_id) {
|
||||||
return ChainFetch.fetch(' https://api.coingecko.com', `/api/v3/coins/${coin || conf.coingecko}/market_chart?vs_currency=${currency}&days=${days}`)
|
return ChainFetch.fetch(' https://api.coingecko.com', `/api/v3/coins/${coin || conf.assets[0].coingecko_id}/market_chart?vs_currency=${currency}&days=${days}`)
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
@@ -399,8 +400,10 @@ export default class ChainFetch {
|
|||||||
if (!config) {
|
if (!config) {
|
||||||
this.getSelectedConfig()
|
this.getSelectedConfig()
|
||||||
}
|
}
|
||||||
|
const conf = config || this.config
|
||||||
|
const index = this.getApiIndex(config)
|
||||||
// Default options are marked with *
|
// Default options are marked with *
|
||||||
const response = await fetch((config ? config.api : this.config.api) + url, {
|
const response = await fetch((Array.isArray(conf.api) ? conf.api[index] : conf.api) + url, {
|
||||||
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||||
// mode: 'cors', // no-cors, *cors, same-origin
|
// mode: 'cors', // no-cors, *cors, same-origin
|
||||||
// credentials: 'same-origin', // redirect: 'follow', // manual, *follow, error
|
// credentials: 'same-origin', // redirect: 'follow', // manual, *follow, error
|
||||||
@@ -415,6 +418,33 @@ export default class ChainFetch {
|
|||||||
// const response = axios.post((config ? config.api : this.config.api) + url, data)
|
// const response = axios.post((config ? config.api : this.config.api) + url, data)
|
||||||
return response.json() // parses JSON response into native JavaScript objects
|
return response.json() // parses JSON response into native JavaScript objects
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async get(url, config = null) {
|
||||||
|
if (!config) {
|
||||||
|
this.getSelectedConfig()
|
||||||
|
}
|
||||||
|
const conf = config || this.config
|
||||||
|
const finalurl = (Array.isArray(conf.api) ? conf.api[this.getApiIndex(config)] : conf.api) + url
|
||||||
|
// finalurl = finalurl.replaceAll('v1beta1', this.getEndpointVersion())
|
||||||
|
const ret = await fetch(finalurl).then(response => response.json())
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
getApiIndex(config = null) {
|
||||||
|
const conf = config || this.config
|
||||||
|
const index = Number(localStorage.getItem(`${conf.chain_name}-api-index`) || 0)
|
||||||
|
return index < conf.api.length ? index : 0
|
||||||
|
}
|
||||||
|
|
||||||
|
async getUrl(url) {
|
||||||
|
this.getSelectedConfig()
|
||||||
|
return fetch(url).then(res => res.json())
|
||||||
|
}
|
||||||
|
|
||||||
|
static fetch(host, url) {
|
||||||
|
const ret = fetch((Array.isArray(host) ? host[0] : host) + url).then(response => response.json())
|
||||||
|
return ret
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// export default chainAPI
|
// export default chainAPI
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
import { sha256 } from '@cosmjs/crypto'
|
import { sha256 } from '@cosmjs/crypto'
|
||||||
import { toHex } from '@cosmjs/encoding'
|
import { toHex } from '@cosmjs/encoding'
|
||||||
import fetch from 'node-fetch'
|
import fetch from 'node-fetch'
|
||||||
import { formatTokenDenom, getLocalChains } from './data/data'
|
import { formatTokenDenom, getLocalChains } from './utils'
|
||||||
|
|
||||||
export const poolIds = {
|
export const poolIds = {
|
||||||
1: true,
|
1: true,
|
||||||
@@ -164,7 +164,7 @@ export default class OsmosAPI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getDenomTraces() {
|
async getDenomTraces() {
|
||||||
return this.get('/ibc/applications/transfer/v1beta1/denom_traces?pagination.limit=300').then(x => {
|
return this.get('/ibc/apps/transfer/v1/denom_traces?pagination.limit=500').then(x => {
|
||||||
const combined = {}
|
const combined = {}
|
||||||
x.denom_traces.forEach(item => {
|
x.denom_traces.forEach(item => {
|
||||||
const k = 'ibc/'.concat(toHex(sha256(new TextEncoder('utf-8').encode(`${item.path}/${item.base_denom}`))).toUpperCase())
|
const k = 'ibc/'.concat(toHex(sha256(new TextEncoder('utf-8').encode(`${item.path}/${item.base_denom}`))).toUpperCase())
|
||||||
|
|||||||
@@ -12,9 +12,11 @@ import dayjs from 'dayjs'
|
|||||||
import duration from 'dayjs/plugin/duration'
|
import duration from 'dayjs/plugin/duration'
|
||||||
import relativeTime from 'dayjs/plugin/relativeTime'
|
import relativeTime from 'dayjs/plugin/relativeTime'
|
||||||
import utc from 'dayjs/plugin/utc'
|
import utc from 'dayjs/plugin/utc'
|
||||||
|
import RIPEMD160 from 'ripemd160'
|
||||||
import localeData from 'dayjs/plugin/localeData'
|
import localeData from 'dayjs/plugin/localeData'
|
||||||
import { $themeColors } from '@themeConfig'
|
import { $themeColors } from '@themeConfig'
|
||||||
import PingWalletClient from './signing'
|
// import { SigningStargateClient } from '@cosmjs/stargate'
|
||||||
|
import PingWalletClient from './data/signing'
|
||||||
|
|
||||||
dayjs.extend(localeData)
|
dayjs.extend(localeData)
|
||||||
dayjs.extend(duration)
|
dayjs.extend(duration)
|
||||||
@@ -41,7 +43,8 @@ export function getLocalTxHistory() {
|
|||||||
return getLocalObject('txHistory')
|
return getLocalObject('txHistory')
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setLocalTxHistory(newTx) {
|
export function setLocalTxHistory(tx) {
|
||||||
|
const newTx = tx
|
||||||
const txs = getLocalTxHistory()
|
const txs = getLocalTxHistory()
|
||||||
if (txs) {
|
if (txs) {
|
||||||
txs.push(newTx)
|
txs.push(newTx)
|
||||||
@@ -89,12 +92,55 @@ export function setUserCurrency(currency) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function chartColors() {
|
export function chartColors() {
|
||||||
const colors = ['#6610f2', '#20c997', '#000000', '#FF0000',
|
const colors = [
|
||||||
'#800000', '#FFFF00', '#808000', '#00FF00', '#008000', '#00FFFF',
|
'#8A2BE2', '#9ACD32', '#000080', '#008080', '#DC143C',
|
||||||
'#008080', '#0000FF', '#000080', '#FF00FF', '#800080']
|
'#7FFFD4', '#B8860B', '#EEE8AA', '#FFFAFA', '#FDF5E6',
|
||||||
|
'#C0C0C0', '#E6E6FA', '#FFFAF0', '#2E8B57', '#DCDCDC',
|
||||||
|
'#FF1493', '#4682B4', '#191970', '#FF8C00', '#FFFFE0',
|
||||||
|
'#696969', '#FFFACD', '#DEB887', '#4169E1', '#9932CC',
|
||||||
|
'#B0C4DE', '#556B2F', '#FFE4E1', '#F5FFFA', '#8FBC8F',
|
||||||
|
'#B22222', '#90EE90', '#FFFF00', '#4B0082', '#DB7093',
|
||||||
|
'#F8F8FF', '#006400', '#6610f2', '#FFA500', '#7FFF00',
|
||||||
|
'#87CEFA', '#5F9EA0', '#483D8B', '#CD5C5C', '#ADFF2F',
|
||||||
|
'#2F4F4F', '#00FF7F', '#FFF5EE', '#F4A460', '#808000',
|
||||||
|
'#000000', '#00FA9A', '#000000', '#EE82EE', '#F5DEB3',
|
||||||
|
'#0000FF', '#BA55D3', '#FFF0F5', '#F5F5DC', '#0000CD',
|
||||||
|
'#FFD700', '#708090', '#6B8E23', '#800000', '#7B68EE',
|
||||||
|
'#FFA07A', '#800080', '#B0E0E6', '#00FFFF', '#00BFFF',
|
||||||
|
'#7CFC00', '#778899', '#FF7F50', '#E0FFFF', '#6495ED',
|
||||||
|
'#008B8B', '#DDA0DD', '#CD853F', '#FFFFF0', '#98FB98',
|
||||||
|
'#9400D3', '#D2691E', '#FF0000', '#008000', '#00008B',
|
||||||
|
'#C71585', '#FFB6C1', '#8B4513', '#20c997', '#FAEBD7',
|
||||||
|
'#E9967A', '#FFEFD5', '#FFE4C4', '#D8BFD8', '#A52A2A',
|
||||||
|
'#8B0000', '#32CD32', '#BDB76B', '#FF0000', '#DAA520',
|
||||||
|
'#800000', '#9370DB', '#F08080', '#FAF0E6', '#FF6347',
|
||||||
|
'#FF4500', '#FFFF00', '#808080', '#00CED1', '#FFC0CB',
|
||||||
|
'#FF00FF', '#F0FFFF', '#A9A9A9', '#F0E68C', '#1E90FF',
|
||||||
|
'#FFDAB9', '#228B22', '#F0FFF0', '#66CDAA', '#ADD8E6',
|
||||||
|
'#DA70D6', '#A0522D', '#FFE4B5', '#48D1CC', '#D2B48C',
|
||||||
|
'#FFEBCD', '#8B008B', '#3CB371', '#87CEEB', '#6A5ACD',
|
||||||
|
'#FFDEAD', '#FF69B4', '#BC8F8F', '#D3D3D3', '#00FF00',
|
||||||
|
'#FAFAD2', '#AFEEEE', '#40E0D0', '#FFF8DC', '#20B2AA',
|
||||||
|
'#00FFFF', '#FA8072', '#F0F8FF']
|
||||||
return Object.values($themeColors).concat(colors)
|
return Object.values($themeColors).concat(colors)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function extractAccountNumberAndSequence(ret) {
|
||||||
|
let account = ret.value
|
||||||
|
if (ret.value && ret.value.base_vesting_account) { // vesting account
|
||||||
|
account = ret.value.base_vesting_account?.base_account
|
||||||
|
} else if (ret.value && ret.value.base_account) { // evmos based account
|
||||||
|
account = ret.value.base_account
|
||||||
|
}
|
||||||
|
const accountNumber = account.account_number
|
||||||
|
const sequence = account?.sequence || 0
|
||||||
|
|
||||||
|
return {
|
||||||
|
accountNumber,
|
||||||
|
sequence,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function getUserCurrencySign() {
|
export function getUserCurrencySign() {
|
||||||
let s = ''
|
let s = ''
|
||||||
switch (getUserCurrency()) {
|
switch (getUserCurrency()) {
|
||||||
@@ -117,11 +163,15 @@ export function getUserCurrencySign() {
|
|||||||
export function consensusPubkeyToHexAddress(consensusPubkey) {
|
export function consensusPubkeyToHexAddress(consensusPubkey) {
|
||||||
let raw = null
|
let raw = null
|
||||||
if (typeof consensusPubkey === 'object') {
|
if (typeof consensusPubkey === 'object') {
|
||||||
raw = toHex(fromBase64(consensusPubkey.value))
|
if (consensusPubkey.type === 'tendermint/PubKeySecp256k1') {
|
||||||
|
raw = new RIPEMD160().update(Buffer.from(sha256(fromBase64(consensusPubkey.value)))).digest('hex').toUpperCase()
|
||||||
|
return raw
|
||||||
|
}
|
||||||
|
raw = sha256(fromBase64(consensusPubkey.value))
|
||||||
} else {
|
} else {
|
||||||
raw = toHex(Bech32.decode(consensusPubkey).data).toUpperCase().replace('1624DE6420', '')
|
raw = sha256(fromHex(toHex(Bech32.decode(consensusPubkey).data).toUpperCase().replace('1624DE6420', '')))
|
||||||
}
|
}
|
||||||
const address = toHex(sha256(fromHex(raw))).slice(0, 40).toUpperCase()
|
const address = toHex(raw).slice(0, 40).toUpperCase()
|
||||||
return address
|
return address
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,21 +205,28 @@ export async function sign(device, chainId, signerAddress, messages, fee, memo,
|
|||||||
transport = await TransportWebUSB.create()
|
transport = await TransportWebUSB.create()
|
||||||
signer = new LedgerSigner(transport, { hdPaths: [getHdPath(signerAddress)] })
|
signer = new LedgerSigner(transport, { hdPaths: [getHdPath(signerAddress)] })
|
||||||
break
|
break
|
||||||
|
case 'pingKMS':
|
||||||
|
if (!window.PingSigner) {
|
||||||
|
throw new Error('Please install Ping KMS extension')
|
||||||
|
}
|
||||||
|
signer = window.PingSigner
|
||||||
|
break
|
||||||
case 'keplr':
|
case 'keplr':
|
||||||
default:
|
default:
|
||||||
if (!window.getOfflineSigner || !window.keplr) {
|
if (!window.getOfflineSigner || !window.keplr) {
|
||||||
throw new Error('Please install keplr extension')
|
throw new Error('Please install keplr extension')
|
||||||
}
|
}
|
||||||
await window.keplr.enable(chainId)
|
await window.keplr.enable(chainId)
|
||||||
signer = window.getOfflineSigner(chainId)
|
// signer = window.getOfflineSigner(chainId)
|
||||||
// signer = window.getOfflineSignerOnlyAmino(chainId)
|
signer = window.getOfflineSignerOnlyAmino(chainId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (signer) return signAmino(signer, signerAddress, messages, fee, memo, signerData)
|
// if (signer) return signAmino(signer, signerAddress, messages, fee, memo, signerData)
|
||||||
|
|
||||||
// Ensure the address has some tokens to spend
|
// Ensure the address has some tokens to spend
|
||||||
const client = await PingWalletClient.offline(signer)
|
const client = await PingWalletClient.offline(signer)
|
||||||
return client.signAmino(device === 'keplr' ? signerAddress : toSignAddress(signerAddress), messages, fee, memo, signerData)
|
// const client = await SigningStargateClient.offline(signer)
|
||||||
|
return client.signAmino2(device.startsWith('ledger') ? toSignAddress(signerAddress) : signerAddress, messages, fee, memo, signerData)
|
||||||
// return signDirect(signer, signerAddress, messages, fee, memo, signerData)
|
// return signDirect(signer, signerAddress, messages, fee, memo, signerData)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -239,7 +296,7 @@ export function abbrMessage(msg) {
|
|||||||
}, {})
|
}, {})
|
||||||
const output = []
|
const output = []
|
||||||
Object.keys(sum).forEach(k => {
|
Object.keys(sum).forEach(k => {
|
||||||
output.push(`${k}×${sum[k]}`)
|
output.push(sum[k] > 1 ? `${k}×${sum[k]}` : k)
|
||||||
})
|
})
|
||||||
return output.join(', ')
|
return output.join(', ')
|
||||||
}
|
}
|
||||||
@@ -270,64 +327,66 @@ export function isToken(value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function formatTokenDenom(tokenDenom) {
|
export function formatTokenDenom(tokenDenom) {
|
||||||
if (tokenDenom) {
|
if (tokenDenom && tokenDenom.code === undefined) {
|
||||||
let denom = tokenDenom.denom_trace ? tokenDenom.denom_trace.base_denom.toUpperCase() : tokenDenom.toUpperCase()
|
let denom = tokenDenom.denom_trace ? tokenDenom.denom_trace.base_denom : tokenDenom
|
||||||
if (denom.charAt(0) === 'U' && denom !== 'USDX') {
|
const config = Object.values(getLocalChains())
|
||||||
denom = denom.substring(1)
|
|
||||||
} else if (denom === 'BASECRO') {
|
|
||||||
denom = 'CRO'
|
|
||||||
} else if (denom.startsWith('IBC')) {
|
|
||||||
denom = 'IBC...'
|
|
||||||
} else if (denom.startsWith('NANOLIKE')) {
|
|
||||||
denom = 'LIKE'
|
|
||||||
}
|
|
||||||
|
|
||||||
return denom
|
config.forEach(x => {
|
||||||
|
if (x.assets) {
|
||||||
|
const asset = x.assets.find(a => (a.base === denom))
|
||||||
|
if (asset) denom = asset.symbol
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return denom.startsWith('ibc') ? `IBC...${denom.substring(denom.length - 3)}` : denom.toUpperCase()
|
||||||
}
|
}
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getUnitAmount(amount, denom) {
|
export function getUnitAmount(amount, tokenDenom) {
|
||||||
if (denom.startsWith('basecro')) {
|
const denom = tokenDenom.denom_trace ? tokenDenom.denom_trace.base_denom : tokenDenom
|
||||||
return String((Number(amount) * 100000000).toFixed())
|
let exp = 6
|
||||||
}
|
const config = Object.values(getLocalChains())
|
||||||
if (denom.startsWith('rowan')) {
|
|
||||||
// eslint-disable-next-line no-undef
|
config.forEach(x => {
|
||||||
return (BigInt(amount) * 1000000000000000000n).toString()
|
if (x.assets) {
|
||||||
}
|
const asset = x.assets.find(a => (a.base === denom))
|
||||||
if (denom.startsWith('nanolike')) {
|
if (asset) exp = asset.exponent
|
||||||
// eslint-disable-next-line no-undef
|
}
|
||||||
return String((Number(amount) * 1000000000).toFixed())
|
})
|
||||||
}
|
// eslint-disable-next-line no-undef
|
||||||
return String((Number(amount) * 1000000).toFixed())
|
return String(BigInt(Number(amount) * (10 ** exp)))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function formatTokenAmount(tokenAmount, fraction = 2, denom = 'uatom') {
|
export function numberWithCommas(x) {
|
||||||
let amount
|
const parts = x.toString().split('.')
|
||||||
if (denom.startsWith('inj')) {
|
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
|
||||||
// eslint-disable-next-line no-undef
|
return parts.join('.')
|
||||||
amount = Number(BigInt(Number(tokenAmount)) / 1000000000000000000n)
|
}
|
||||||
// }
|
|
||||||
} else if (denom.startsWith('rowan')) {
|
export function formatTokenAmount(tokenAmount, fraction = 2, tokenDenom = 'uatom', format = true) {
|
||||||
// eslint-disable-next-line no-undef
|
const denom = tokenDenom.denom_trace ? tokenDenom.denom_trace.base_denom : tokenDenom
|
||||||
amount = Number(BigInt(Number(tokenAmount)) / 1000000000000000000n)
|
let amount = 0
|
||||||
// }
|
|
||||||
} else if (denom.startsWith('basecro')) {
|
let exp = 6
|
||||||
amount = Number(tokenAmount) / 100000000
|
const config = Object.values(getLocalChains())
|
||||||
} else if (denom.startsWith('nanolike')) {
|
|
||||||
amount = Number(tokenAmount) / 1000000000
|
config.forEach(x => {
|
||||||
} else {
|
if (x.assets) {
|
||||||
amount = Number(tokenAmount) / 1000000
|
const asset = x.assets.find(a => (a.base === denom))
|
||||||
}
|
if (asset) exp = asset.exponent
|
||||||
|
}
|
||||||
|
})
|
||||||
|
amount = Number(Number(tokenAmount)) / (10 ** exp)
|
||||||
if (amount > 10) {
|
if (amount > 10) {
|
||||||
|
if (format) { return numberWithCommas(parseFloat(amount.toFixed(fraction))) }
|
||||||
return parseFloat(amount.toFixed(fraction))
|
return parseFloat(amount.toFixed(fraction))
|
||||||
}
|
}
|
||||||
return parseFloat(amount)
|
return parseFloat(amount.toFixed(fraction))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isTestnet() {
|
export function isTestnet() {
|
||||||
return (window.location.hostname.startsWith('testnet')
|
return (window.location.hostname.startsWith('testnet')
|
||||||
|| window.location.search.indexOf('testnet') > -1)
|
|| window.location.search.indexOf('testnet') > -1)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function formatToken(token, IBCDenom = {}, decimals = 2, withDenom = true) {
|
export function formatToken(token, IBCDenom = {}, decimals = 2, withDenom = true) {
|
||||||
@@ -353,7 +412,7 @@ export function formatNumber(count, withAbbr = false, decimals = 2) {
|
|||||||
|
|
||||||
export function tokenFormatter(tokens, denoms = {}) {
|
export function tokenFormatter(tokens, denoms = {}) {
|
||||||
if (Array.isArray(tokens)) {
|
if (Array.isArray(tokens)) {
|
||||||
return tokens.map(t => formatToken(t, denoms, 2)).join()
|
return tokens.map(t => formatToken(t, denoms, 2)).join(', ')
|
||||||
}
|
}
|
||||||
return formatToken(tokens, denoms, 2)
|
return formatToken(tokens, denoms, 2)
|
||||||
}
|
}
|
||||||
@@ -406,6 +465,7 @@ export function getStakingValidatorOperator(chainName, addr, length = -1) {
|
|||||||
|
|
||||||
export * from 'compare-versions'
|
export * from 'compare-versions'
|
||||||
|
|
||||||
|
export * from './data'
|
||||||
export class Data {
|
export class Data {
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import { isTestnet } from '../../libs/data/data'
|
import { isTestnet } from '../../libs/utils'
|
||||||
|
|
||||||
const modules = [
|
const modules = [
|
||||||
{
|
{
|
||||||
@@ -42,11 +42,6 @@ const modules = [
|
|||||||
|
|
||||||
function processMenu() {
|
function processMenu() {
|
||||||
const chainMenus = [
|
const chainMenus = [
|
||||||
// {
|
|
||||||
// title: 'Home',
|
|
||||||
// route: 'home',
|
|
||||||
// icon: 'HomeIcon',
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
header: 'blockchains',
|
header: 'blockchains',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -54,6 +54,20 @@ const router = new VueRouter({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/coffee',
|
||||||
|
name: 'coffee',
|
||||||
|
component: () => import('@core/layouts/components/Coffee.vue'),
|
||||||
|
meta: {
|
||||||
|
pageTitle: 'Donation',
|
||||||
|
breadcrumb: [
|
||||||
|
{
|
||||||
|
text: 'Buy me a cup of coffee!',
|
||||||
|
active: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/wallet/accounts',
|
path: '/wallet/accounts',
|
||||||
alias: '/wallet',
|
alias: '/wallet',
|
||||||
@@ -97,6 +111,38 @@ const router = new VueRouter({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/wallet/delegations',
|
||||||
|
name: 'delegations',
|
||||||
|
component: () => import('@/views/WalletDelegations.vue'),
|
||||||
|
meta: {
|
||||||
|
pageTitle: 'My Delegations',
|
||||||
|
breadcrumb: [
|
||||||
|
{
|
||||||
|
text: 'Wallet',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'My Delegations',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/wallet/transactions',
|
||||||
|
name: 'mytransactions',
|
||||||
|
component: () => import('@/views/WalletTransactions.vue'),
|
||||||
|
meta: {
|
||||||
|
pageTitle: 'Transaction History',
|
||||||
|
breadcrumb: [
|
||||||
|
{
|
||||||
|
text: 'Wallet',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'Transaction History',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
// chain modules
|
// chain modules
|
||||||
{
|
{
|
||||||
path: '/:chain/',
|
path: '/:chain/',
|
||||||
@@ -129,7 +175,7 @@ const router = new VueRouter({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/:chain/uptime/my',
|
path: '/:chain/uptime/my',
|
||||||
name: 'uptime',
|
name: 'myuptime',
|
||||||
component: () => import('@/views/UptimeMyValidators.vue'),
|
component: () => import('@/views/UptimeMyValidators.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
pageTitle: 'Uptime',
|
pageTitle: 'Uptime',
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
* @LastEditors: dingyiming
|
* @LastEditors: dingyiming
|
||||||
* @LastEditTime: 2021-11-20 15:33:07
|
* @LastEditTime: 2021-11-20 15:33:07
|
||||||
*/
|
*/
|
||||||
import { isTestnet } from '@/libs/data/data'
|
import { isTestnet } from '@/libs/utils'
|
||||||
|
|
||||||
let chains = {}
|
let chains = {}
|
||||||
|
|
||||||
|
|||||||