open source

This commit is contained in:
dingyi committed 2021-03-15 01:14:32 +08:00
commit f4f0d29a40
208 files changed
+24908

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
.DS_Store
node_modules
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
package-lock.json
+7
View File
@@ -0,0 +1,7 @@
FROM index.docker.io/keymetrics/pm2:12-alpine
RUN mkdir -p ~/look-web
ADD server/ ~/look-web
WORKDIR ~/look-web
RUN npm set registry https://registry.npm.taobao.org
RUN npm install
ENTRYPOINT npm run start;sleep 100000000
+72
View File
@@ -0,0 +1,72 @@
# LOOK Explorer
Look is a light explorer for Cosmos-based Blockchains. https://look.ping.pub .
## What is the difference between Look and other explorers?
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".
## Do you want Look to explore your blockchain?
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
Developers: @liangping @dingyiming
Data providers: [full list](https://github.com/ping-pub/look/blob/master/hosts.json)
* irisnet.org,
* nylira.net,
* 01node.com,
* kava.io
*If you don't want to provide data services for LOOK exporer, let us know.*
## Blockchains on LOOK explorer:
* https://cosmos.ping.pub
* https://iris.ping.pub
* https://kava.ping.pub
* https://sentinel.ping.pub
# 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://cosmos.ping.pub
* https://iris.ping.pub
* https://kava.ping.pub
* https://sentinel.ping.pub
# Contact Us
Email:18786721#qq.com
+5
View File
@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}
+43
View File
@@ -0,0 +1,43 @@
{
"name": "look",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"start": "pm2 delete all && git pull origin dev && cd server && npm run start"
},
"dependencies": {
"@cosmostation/cosmosjs": "^0.5.2",
"@lunie/cosmos-api": "^0.2.5",
"@lunie/cosmos-ledger": "^0.1.7",
"bignumber.js": "^9.0.0",
"core-js": "^3.6.4",
"cosmos-lib": "^1.1.0",
"dayjs": "^1.8.21",
"element-ui": "^2.13.0",
"fingerprintjs2": "^2.1.0",
"hash.js": "^1.1.7",
"js-base64": "^3.6.0",
"localforage": "^1.7.3",
"vant": "^2.6.1",
"vue": "^2.6.11",
"vue-i18n": "^8.15.1",
"vue-router": "^3.1.5",
"vue-worker": "^1.2.1",
"vuex": "^3.1.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.2.0",
"@vue/cli-plugin-router": "~4.2.0",
"@vue/cli-plugin-vuex": "~4.2.0",
"@vue/cli-service": "~4.2.0",
"sass": "^1.25.0",
"sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.11"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

+38
View File
@@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>
LOOK Explorer - A light explorer for Cosmos based blockchains, Powered by
ping.pub.
</title>
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<link rel="stylesheet" href="/static/css/font_1354695_lrb2z8iklqe.css" />
<script src="/static/cdn/vue@2.6.11.min.js"></script>
<script src="/static/cdn/element-ui@2.13.0.js"></script>
</head>
<body>
<noscript>
<strong
>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
properly without JavaScript enabled. Please enable it to
continue.</strong
>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?612cb1567ca1cb640c7e9ee55b748c8c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
+3
View File
@@ -0,0 +1,3 @@
/* axios v0.19.2 | (c) 2020 by Matt Zabriskie */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(4),a=n(22),u=n(10),c=r(u);c.Axios=s,c.create=function(e){return r(a(c.defaults,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(9),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===j.call(e)}function o(e){return"undefined"==typeof e}function i(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function s(e){return"[object ArrayBuffer]"===j.call(e)}function a(e){return"undefined"!=typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function f(e){return"number"==typeof e}function p(e){return null!==e&&"object"==typeof e}function d(e){return"[object Date]"===j.call(e)}function l(e){return"[object File]"===j.call(e)}function h(e){return"[object Blob]"===j.call(e)}function m(e){return"[object Function]"===j.call(e)}function y(e){return p(e)&&m(e.pipe)}function g(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function v(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function w(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function b(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=b(t[n],e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)w(arguments[n],e);return t}function E(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=E(t[n],e):"object"==typeof e?t[n]=E({},e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)w(arguments[n],e);return t}function S(e,t,n){return w(t,function(t,r){n&&"function"==typeof t?e[r]=C(t,n):e[r]=t}),e}var C=n(3),j=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:s,isBuffer:i,isFormData:a,isArrayBufferView:u,isString:c,isNumber:f,isObject:p,isUndefined:o,isDate:d,isFile:l,isBlob:h,isFunction:m,isStream:y,isURLSearchParams:g,isStandardBrowserEnv:x,forEach:w,merge:b,deepMerge:E,extend:S,trim:v}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(2),i=n(5),s=n(6),a=n(7),u=n(22);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=u(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=u(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},o.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}if(i){var a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}},function(e,t,n){"use strict";function r(){this.haLine truncated
//# sourceMappingURL=axios.min.map
+10
View File
@@ -0,0 +1,10 @@
/**
* core-js 2.6.11
* https://github.com/zloirock/core-js
* License: http://rock.mit-license.org
* © 2019 Denis Pushkarev
*/
!function(e,i,Jt){"use strict";!function(r){var e={};function __webpack_require__(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return r[t].call(n.exports,n,n.exports,__webpack_require__),n.l=!0,n.exports}__webpack_require__.m=r,__webpack_require__.c=e,__webpack_require__.d=function(t,n,r){__webpack_require__.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(t){var n=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=134)}([function(t,n,r){var v=r(2),g=r(13),y=r(14),d=r(15),b=r(19),_="prototype",S=function(t,n,r){var e,i,o,u,c=t&S.F,f=t&S.G,a=t&S.P,s=t&S.B,l=f?v:t&S.S?v[n]||(v[n]={}):(v[n]||{})[_],h=f?g:g[n]||(g[n]={}),p=h[_]||(h[_]={});for(e in f&&(r=n),r)o=((i=!c&&l&&l[e]!==Jt)?l:r)[e],u=s&&i?b(o,v):a&&"function"==typeof o?b(Function.call,o):o,l&&d(l,e,o,t&S.U),h[e]!=o&&y(h,e,u),a&&p[e]!=o&&(p[e]=o)};v.core=g,S.F=1,S.G=2,S.S=4,S.P=8,S.B=16,S.W=32,S.U=64,S.R=128,t.exports=S},function(t,n,r){var e=r(3);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof i&&(i=r)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n,r){var e=r(47)("wks"),i=r(37),o=r(2).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){t.exports=!r(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n,r){var e=r(21),i=Math.min;t.exports=function(t){return 0<t?i(e(t),9007199254740991):0}},function(t,n,r){var i=r(1),o=r(98),u=r(23),c=Object.defineProperty;n.f=r(6)?Object.defineProperty:function defineProperty(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){var e=r(24);t.exports=function(t){return Object(e(t))}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,r){var e=r(48),i=r(24);t.exports=function(t){return e(i(t))}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n){var r=t.exports={version:"2.6.11"};"number"==typeof e&&(e=r)},function(t,n,r){var e=r(8),i=r(31);t.exports=r(6)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var o=r(2),u=r(14),c=r(12),f=r(37)("src"),e=r(136),i="toString",a=(""+e).split(i);r(13).inspectSource=function(t){return e.call(t)},(t.exports=function(t,n,r,e){var i="function"==typeof r;i&&(c(r,"name")||u(r,"name",n)),t[n]!==r&&(i&&(c(r,f)||u(r,f,t[n]?""+t[n]:a.join(String(n)))),t===o?t[n]=r:e?t[n]?t[n]=r:u(t,n,r):(delete t[n],u(t,n,r)))})(Function.prototype,i,function toString(){return"function"==typeof this&&this[f]||e.call(this)})},function(t,n,r){var e=r(49),i=r(31),o=r(11),u=r(23),c=r(12),f=r(98),a=Object.getOwnPropertyDescriptor;n.f=r(6)?a:function getOwnPropertyDescriptor(t,n){if(t=o(t),n=u(n,!0),f)try{return a(t,n)}catch(r){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(12),i=r(9),o=r(71)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(0),i=r(4),u=r(24),c=/"/g,o=function(t,n,r,e){var i=String(u(t)),o="<"+n;return""!==r&&(o+=" "+r+'="'+String(e).replace(c,"&quot;")+'"'),o+">"+i+"</"+n+">"};t.exports=function(n,t){var r={};r[n]=t(o),e(e.P+e.F*i(function(){var t=""[n]('"');return t!==t.toLowerCase()||3<t.split('"').length}),"String",r)}},function(t,n,r){var o=r(10);t.exports=function(e,i,t){if(o(e),i===Jt)return e;switch(t){case 1:return function(t){return e.call(i,t)};case 2:return function(t,n){return e.call(i,t,n)};case 3:return function(t,n,r){return e.call(i,t,n,r)}}return function(){return e.apply(i,arguments)}}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(0<t?e:r)(t)}},function(t,n,r){var e=r(4);t.exports=function(t,n){return!!t&&e(function(){n?t.call(null,function(){},1):t.call(null)})}},function(t,n,r){var i=r(3);t.exports=function(t,n){if(!i(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!i(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!i(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&Line truncated
return get(this,1,t)[0]},getInt16:function getInt16(t){var n=get(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function getUint16(t){var n=get(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});d(m,b),d(w,_),c(w[S],u.VIEW,!0),n[b]=m,n[_]=w},function(t,n){t.exports=function(n,r){var e=r===Object(r)?function(t){return r[t]}:r;return function(t){return String(t).replace(n,e)}}},function(t,n,r){t.exports=!r(6)&&!r(4)(function(){return 7!=Object.defineProperty(r(69)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){n.f=r(5)},function(t,n,r){var u=r(12),c=r(11),f=r(53)(!1),a=r(71)("IE_PROTO");t.exports=function(t,n){var r,e=c(t),i=0,o=[];for(r in e)r!=a&&u(e,r)&&o.push(r);for(;i<n.length;)u(e,r=n[i++])&&(~f(o,r)||o.push(r));return o}},function(t,n,r){var u=r(8),c=r(1),f=r(27);t.exports=r(6)?Object.defineProperties:function defineProperties(t,n){c(t);for(var r,e=f(n),i=e.length,o=0;o<i;)u.f(t,r=e[o++],n[r]);return t}},function(t,n,r){var e=r(11),i=r(39).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function getOwnPropertyNames(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(n){return u.slice()}}(t):i(e(t))}},function(t,n){t.exports=Object.is||function is(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){var o=r(10),u=r(3),c=r(76),f=[].slice,a={};t.exports=Function.bind||function bind(n){var r=o(this),e=f.call(arguments,1),i=function(){var t=e.concat(f.call(arguments));return this instanceof i?function(t,n,r){if(!(n in a)){for(var e=[],i=0;i<n;i++)e[i]="a["+i+"]";a[n]=Function("F,a","return new F("+e.join(",")+")")}return a[n](t,r)}(r,t.length,t):c(r,t,n)};return u(r.prototype)&&(i.prototype=r.prototype),i}},function(t,n,r){var e=r(20);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(3),i=Math.floor;t.exports=function isInteger(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n,r){var e=r(2).parseFloat,i=r(46).trim;t.exports=1/e(r(78)+"-0")!=-Infinity?function parseFloat(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(2).parseInt,i=r(46).trim,o=r(78),u=/^[-+]?0[xX]/;t.exports=8!==e(o+"08")||22!==e(o+"0x16")?function parseInt(t,n){var r=i(String(t),3);return e(r,n>>>0||(u.test(r)?16:10))}:e},function(t,n){t.exports=Math.log1p||function log1p(t){return-1e-8<(t=+t)&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){var o=r(80),e=Math.pow,u=e(2,-52),c=e(2,-23),f=e(2,127)*(2-c),a=e(2,-126);t.exports=Math.fround||function fround(t){var n,r,e=Math.abs(t),i=o(t);return e<a?i*(e/a/c+1/u-1/u)*a*c:f<(r=(n=(1+c/u)*e)-(n-e))||r!=r?i*Infinity:i*r}},function(t,n,r){var u=r(1);t.exports=function(t,n,r,e){try{return e?n(u(r)[0],r[1]):n(r)}catch(o){var i=t["return"];throw i!==Jt&&u(i.call(t)),o}}},function(t,n,r){var s=r(10),l=r(9),h=r(48),p=r(7);t.exports=function(t,n,r,e,i){s(n);var o=l(t),u=h(o),c=p(o.length),f=i?c-1:0,a=i?-1:1;if(r<2)for(;;){if(f in u){e=u[f],f+=a;break}if(f+=a,i?f<0:c<=f)throw TypeError("Reduce of empty array with no initial value")}for(;i?0<=f:f<c;f+=a)f in u&&(e=n(e,u[f],f,o));return e}},function(t,n,r){var a=r(9),s=r(38),l=r(7);t.exports=[].copyWithin||function copyWithin(t,n){var r=a(this),e=l(r.length),i=s(t,e),o=s(n,e),u=2<arguments.length?arguments[2]:Jt,c=Math.min((u===Jt?e:s(u,e))-o,e-i),f=1;for(o<i&&i<o+c&&(f=-1,o+=c-1,i+=c-1);0<c--;)o in r?r[i]=r[o]:delete r[i],i+=f,o+=f;return r}},function(t,n,r){var e=r(90);r(0)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(6)&&"g"!=/./g.flags&&r(8).f(RegExp.prototype,"flags",{configurable:!0,get:r(51)})},function(t,n){t.exports=function(t){try{return{e:!1,v:t()}}catch(n){return{e:!0,v:n}}}},function(t,n,r){var e=r(1),i=r(3),o=r(94);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){var e=r(119),i=r(44);t.exports=r(64)("Map",function(t){return function Map(){return t(this,0<arguments.length?arguments[0]:Jt)}},{get:function get(t){var n=e.getEntLine truncated
),h=r(7),p=r(91),v=r(61);r(62)("match",1,function(e,i,a,s){return[function match(t){var n=e(this),r=t==Jt?Jt:t[i];return r!==Jt?r.call(t,n):new RegExp(t)[i](String(n))},function(t){var n=s(a,t,this);if(n.done)return n.value;var r=l(t),e=String(this);if(!r.global)return v(r,e);for(var i,o=r.unicode,u=[],c=r.lastIndex=0;null!==(i=v(r,e));){var f=String(i[0]);""===(u[c]=f)&&(r.lastIndex=p(e,h(r.lastIndex),o)),c++}return 0===c?null:u}]})},function(t,n,r){var w=r(1),e=r(9),E=r(7),O=r(21),M=r(91),P=r(61),I=Math.max,F=Math.min,h=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(62)("replace",2,function(i,o,x,m){return[function replace(t,n){var r=i(this),e=t==Jt?Jt:t[o];return e!==Jt?e.call(t,r,n):x.call(String(r),t,n)},function(t,n){var r=m(x,t,this,n);if(r.done)return r.value;var e=w(t),i=String(this),o="function"==typeof n;o||(n=String(n));var u=e.global;if(u){var c=e.unicode;e.lastIndex=0}for(var f=[];;){var a=P(e,i);if(null===a)break;if(f.push(a),!u)break;""===String(a[0])&&(e.lastIndex=M(i,E(e.lastIndex),c))}for(var s,l="",h=0,p=0;p<f.length;p++){a=f[p];for(var v=String(a[0]),g=I(F(O(a.index),i.length),0),y=[],d=1;d<a.length;d++)y.push((s=a[d])===Jt?s:String(s));var b=a.groups;if(o){var _=[v].concat(y,g,i);b!==Jt&&_.push(b);var S=String(n.apply(Jt,_))}else S=getSubstitution(v,i,g,y,b,n);h<=g&&(l+=i.slice(h,g)+S,h=g+v.length)}return l+i.slice(h)}];function getSubstitution(o,u,c,f,a,t){var s=c+o.length,l=f.length,n=v;return a!==Jt&&(a=e(a),n=p),x.call(t,n,function(t,n){var r;switch(n.charAt(0)){case"$":return"$";case"&":return o;case"`":return u.slice(0,c);case"'":return u.slice(s);case"<":r=a[n.slice(1,-1)];break;default:var e=+n;if(0===e)return t;if(l<e){var i=h(e/10);return 0===i?t:i<=l?f[i-1]===Jt?n.charAt(1):f[i-1]+n.charAt(1):t}r=f[e-1]}return r===Jt?"":r})}})},function(t,n,r){var f=r(1),a=r(103),s=r(61);r(62)("search",1,function(e,i,u,c){return[function search(t){var n=e(this),r=t==Jt?Jt:t[i];return r!==Jt?r.call(t,n):new RegExp(t)[i](String(n))},function(t){var n=c(u,t,this);if(n.done)return n.value;var r=f(t),e=String(this),i=r.lastIndex;a(i,0)||(r.lastIndex=0);var o=s(r,e);return a(r.lastIndex,i)||(r.lastIndex=i),null===o?-1:o.index}]})},function(t,n,r){var s=r(57),b=r(1),_=r(52),S=r(91),x=r(7),m=r(61),l=r(90),e=r(4),w=Math.min,h=[].push,u="split",p="length",v="lastIndex",E=4294967295,O=!e(function(){RegExp(E,"y")});r(62)("split",2,function(i,o,g,y){var d;return d="c"=="abbc"[u](/(b)*/)[1]||4!="test"[u](/(?:)/,-1)[p]||2!="ab"[u](/(?:ab)*/)[p]||4!="."[u](/(.?)(.?)/)[p]||1<"."[u](/()()/)[p]||""[u](/.?/)[p]?function(t,n){var r=String(this);if(t===Jt&&0===n)return[];if(!s(t))return g.call(r,t,n);for(var e,i,o,u=[],c=0,f=n===Jt?E:n>>>0,a=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(e=l.call(a,r))&&!(c<(i=a[v])&&(u.push(r.slice(c,e.index)),1<e[p]&&e.index<r[p]&&h.apply(u,e.slice(1)),o=e[0][p],c=i,f<=u[p]));)a[v]===e.index&&a[v]++;return c===r[p]?!o&&a.test("")||u.push(""):u.push(r.slice(c)),f<u[p]?u.slice(0,f):u}:"0"[u](Jt,0)[p]?function(t,n){return t===Jt&&0===n?[]:g.call(this,t,n)}:g,[function split(t,n){var r=i(this),e=t==Jt?Jt:t[o];return e!==Jt?e.call(t,r,n):d.call(String(r),t,n)},function(t,n){var r=y(d,t,this,n,d!==g);if(r.done)return r.value;var e=b(t),i=String(this),o=_(e,RegExp),u=e.unicode,c=new o(O?e:"^(?:"+e.source+")",(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(O?"y":"g")),f=n===Jt?E:n>>>0;if(0===f)return[];if(0===i.length)return null===m(c,i)?[i]:[];for(var a=0,s=0,l=[];s<i.length;){c.lastIndex=O?s:0;var h,p=m(c,O?i:i.slice(s));if(null===p||(h=w(x(c.lastIndex+(O?0:s)),i.length))===a)s=S(i,s,u);else{if(l.push(i.slice(a,s)),l.length===f)return l;for(var v=1;v<=p.length-1;v++)if(l.push(p[v]),l.length===f)return l;s=a=h}}return l.push(i.slice(a)),l}]})},function(t,n,e){var r,i,o,u,c=e(32),f=e(2),a=e(19),s=e(34),l=e(0),h=e(3),p=e(10),v=e(42),g=e(36),y=e(52),d=e(92).set,b=e(93)(),_=e(94),S=e(116),x=e(63),m=e(117),w="Promise",E=f.TypeError,O=f.process,M=O&&O.versions,P=M&&M.v8||"",I=f[w],F="process"==s(O),A=function(){},k=i=_.f,j=!!function(){try{var t=I.resolve(1),n=(t.constructor={})[e(5)("species")]=function(t){t(A,A)};return(F||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof n&&0!==P.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(r){}}(),N=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},R=function(l,r){if(!l._n){l._n=!0;var e=l._c;b(function(){for(var a=l._v,s=1==l._s,t=0,n=function(t){var n,r,e,i=s?t.ok:t.fail,o=t.resolve,u=t.reject,c=t.domain;try{i?(s||(2==l._h&&L(l),l._h=1),!0===i?n=a:(c&&c.enter(),n=i(a),c&&(c.exit(),e=!0)),n===t.promise?u(E("Promise-chain cycle")):(r=N(n))?r.call(n,o,u):o(n)):u(a)}catch(f){c&&!e&&c.exit(),u(f)}};t<e.length;)n(e[t++]);l._c=[],l._n=!1,r&&!l._h&&T(l)})}},T=function(o){d.call(f,function(){var t,n,r,e=o._v,i=D(o);if(i&&(t=S(function(){F?O.emit("unhandledRejection",e,o):(n=f.onunhandledrejection)?n({promise:o,reason:e}):(r=f.consoleLine truncated
//# sourceMappingURL=core.min.js.map
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("ELEMENT",["vue"],t):"object"==typeof exports?exports.ELEMENT=t(require("vue")):e.ELEMENT=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=49)}([function(t,i){t.exports=e},function(e,t,i){var n=i(4);e.exports=function(e,t,i){return void 0===i?n(e,t,!1):n(e,i,!1!==t)}},function(e,t,i){var n;!function(r){"use strict";var s={},a=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,o="[^\\s]+",l=/\[([^]*?)\]/gm,u=function(){};function c(e,t){for(var i=[],n=0,r=e.length;n<r;n++)i.push(e[n].substr(0,t));return i}function h(e){return function(t,i,n){var r=n[e].indexOf(i.charAt(0).toUpperCase()+i.substr(1).toLowerCase());~r&&(t.month=r)}}function d(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e}var p=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"],m=c(f,3),v=c(p,3);s.i18n={dayNamesShort:v,dayNames:p,monthNamesShort:m,monthNames:f,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!=10)*e%10]}};var g={D:function(e){return e.getDay()},DD:function(e){return d(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return d(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return d(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return d(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return d(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return d(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+d(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},b={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+o,function(e,t){e.day=parseInt(t,10)}],M:["\\d\\d?",function(e,t){e.month=t-1}],yy:["\\d\\d?",function(e,t){var i=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?i-1:i)+t}],h:["\\d\\d?",function(e,t){e.hour=t}],m:["\\d\\d?",function(e,t){e.minute=t}],s:["\\d\\d?",function(e,t){e.second=t}],yyyy:["\\d{4}",function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:["\\d{3}",function(e,t){e.millisecond=t}],D:["\\d\\d?",u],ddd:[o,u],MMM:[o,h("monthNamesShort")],MMMM:[o,h("monthNames")],a:[o,function(e,t,i){var n=t.toLowerCase();n===i.amPm[0]?e.isPm=!1:n===i.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var i,n=(t+"").match(/([+-]|\d\d)/gi);n&&(i=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?i:-i)}]};b.dd=b.d,b.dddd=b.ddd,b.DD=b.D,b.mm=b.m,b.hh=b.H=b.HH=b.h,b.MM=b.M,b.ss=b.s,b.A=b.a,s.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},s.format=function(e,t,i){var n=i||s.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=s.masks[t]||t||s.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})Line truncated
+6
View File
@@ -0,0 +1,6 @@
/*!
* vue-router v3.1.6
* (c) 2020 Evan You
* @license MIT
*/
var t,e;t=this,e=function(){"use strict";function t(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function e(t,e){return e instanceof t||e&&(e.name===t.name||e._name===t._name)}function r(t,e){for(var r in e)t[r]=e[r];return t}var n={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,i=e.children,a=e.parent,c=e.data;c.routerView=!0;for(var u=a.$createElement,s=n.name,p=a.$route,f=a._routerViewCache||(a._routerViewCache={}),h=0,l=!1;a&&a._routerRoot!==a;){var d=a.$vnode?a.$vnode.data:{};d.routerView&&h++,d.keepAlive&&a._directInactive&&a._inactive&&(l=!0),a=a.$parent}if(c.routerViewDepth=h,l){var v=f[s],y=v&&v.component;return y?(v.configProps&&o(y,c,v.route,v.configProps),u(y,c,i)):u()}var m=p.matched[h],g=m&&m.components[s];if(!m||!g)return f[s]=null,u();f[s]={component:g},c.registerRouteInstance=function(t,e){var r=m.instances[s];(e&&r!==t||!e&&r===t)&&(m.instances[s]=e)},(c.hook||(c.hook={})).prepatch=function(t,e){m.instances[s]=e.componentInstance},c.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==m.instances[s]&&(m.instances[s]=t.componentInstance)};var b=m.props&&m.props[s];return b&&(r(f[s],{route:p,configProps:b}),o(g,c,p,b)),u(g,c,i)}};function o(t,e,n,o){var i=e.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}(n,o);if(i){i=e.props=r({},i);var a=e.attrs=e.attrs||{};for(var c in i)t.props&&c in t.props||(a[c]=i[c],delete i[c])}}var i=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},c=/%2C/g,u=function(t){return encodeURIComponent(t).replace(i,a).replace(c,",")},s=decodeURIComponent;function p(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var r=t.replace(/\+/g," ").split("="),n=s(r.shift()),o=r.length>0?s(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]}),e):e}function f(t){var e=t?Object.keys(t).map(function(e){var r=t[e];if(void 0===r)return"";if(null===r)return u(e);if(Array.isArray(r)){var n=[];return r.forEach(function(t){void 0!==t&&(null===t?n.push(u(e)):n.push(u(e)+"="+u(t)))}),n.join("&")}return u(e)+"="+u(r)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}var h=/\/?$/;function l(t,e,r,n){var o=n&&n.options.stringifyQuery,i=e.query||{};try{i=d(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:m(e,o),matched:t?y(t):[]};return r&&(a.redirectedFrom=m(r,o)),Object.freeze(a)}function d(t){if(Array.isArray(t))return t.map(d);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=d(t[r]);return e}return t}var v=l(null,{path:"/"});function y(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function m(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||f)(n)+o}function g(t,e){return e===v?t===e:!!e&&(t.path&&e.path?t.path.replace(h,"")===e.path.replace(h,"")&&t.hash===e.hash&&b(t.query,e.query):!(!t.name||!e.name)&&t.name===e.name&&t.hash===e.hash&&b(t.query,e.query)&&b(t.params,e.params))}function b(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t),n=Object.keys(e);return r.length===n.length&&r.every(function(r){var n=t[r],o=e[r];return"object"==typeof n&&"object"==typeof o?b(n,o):String(n)===String(o)})}function w(t,e,r){var n=t.charAt(0);if("/"===n)return t;if("?"===n||"#"===n)return e+t;var o=e.split("/");r&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var c=i[a];".."===c?o.pop():"."!==c&&o.push(c)}return""!==o[0]&&o.unshift(""),o.join("/")}function x(t){return t.replace(/\/\//g,"/")}var k=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},R=I,E=C,O=function(t,e){return $(C(t,e))},_=$,A=U,j=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function C(t,e){for(var r,n=[],o=0,i=0,a="",c=e&&e.delimiter||"/";null!=(r=j.exec(t));){var u=r[0],s=r[1],p=r.index;if(a+=t.slice(i,p),i=p+u.length,s)a+=s[1];else{var f=t[i],h=r[2],l=r[3],d=r[4],v=r[5],y=r[6],m=r[7];a&&(n.push(a),a="");var g=null!=h&&null!=f&&f!==h,b="+"===y||"*"===y,w="?"===y||"*"===y,x=r[2]||c,k=d||v;n.push({name:l||o++,prefix:h||"",delimiter:x,optional:w,repeat:b,partial:g,asterisk:!!m,pattern:k?P(k):m?".*":"[^"+T(x)+"]+?"})}}return i<t.length&&(a+=t.substr(i)),a&&n.push(a),n}function S(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function $(t){for(var e=new Array(t.length),r=0;r<t.length;r++)"object"==typeof t[r]&&(e[r]=new RegExp("^(?:"+t[r].pattern+")$"));return function(r,n){for(var o="",i=r||{},a=(n||{}).pretty?S:encodeURIComponent,c=0;c<t.length;c++){var u=t[c];if("string"!=typeof u){var s,p=i[u.name];if(null==pLine truncated
+6
View File
@@ -0,0 +1,6 @@
/*!
* Vue.js v2.6.11
* (c) 2014-2019 Evan You
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Vue=t()}(this,function(){"use strict";var e=Object.freeze({});function t(e){return null==e}function n(e){return null!=e}function r(e){return!0===e}function i(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function o(e){return null!==e&&"object"==typeof e}var a=Object.prototype.toString;function s(e){return"[object Object]"===a.call(e)}function c(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function u(e){return n(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function l(e){return null==e?"":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d=p("slot,component",!0),v=p("key,ref,slot,slot-scope,is");function h(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var _=/-(\w)/g,b=g(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():""})}),$=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w=/\B([A-Z])/g,C=g(function(e){return e.replace(w,"-$1").toLowerCase()});var x=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function k(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n<e.length;n++)e[n]&&A(t,e[n]);return t}function S(e,t,n){}var T=function(e,t,n){return!1},E=function(e){return e};function N(e,t){if(e===t)return!0;var n=o(e),r=o(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),a=Array.isArray(t);if(i&&a)return e.length===t.length&&e.every(function(e,n){return N(e,t[n])});if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||a)return!1;var s=Object.keys(e),c=Object.keys(t);return s.length===c.length&&s.every(function(n){return N(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n=0;n<e.length;n++)if(N(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var L="data-server-rendered",M=["component","directive","filter"],I=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],F={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:E,mustUseProp:T,async:!0,_lifecycleHooks:I},P=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H=new RegExp("[^"+P.source+".$_\\d]");var B,U="__proto__"in{},z="undefined"!=typeof window,V="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,K=V&&WXEnvironment.platform.toLowerCase(),J=z&&window.navigator.userAgent.toLowerCase(),q=J&&/msie|trident/.test(J),W=J&&J.indexOf("msie 9.0")>0,Z=J&&J.indexOf("edge/")>0,G=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===K),X=(J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\/(\d+)/)),Y={}.watch,Q=!1;if(z)try{var ee={};Object.defineProperty(ee,"passive",{get:function(){Q=!0}}),window.addEventListener("test-passive",null,ee)}catch(e){}var te=function(){return void 0===B&&(B=!z&&!V&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),B},ne=z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return"function"==typeof e&&/native code/.test(e.toString())}var ie,oe="undefined"!=typeof Symbol&&re(Symbol)&&"undefined"!=typeof Reflect&&re(Reflect.ownKeys);ie="undefined"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ae=S,se=0,ce=function(){this.id=se++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){h(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},ce.target=Line truncated
+6
View File
@@ -0,0 +1,6 @@
/**
* vuex v3.1.3
* (c) 2020 Evan You
* @license MIT
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Vuex=e()}(this,function(){"use strict";var t=("undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function e(t,e){Object.keys(t).forEach(function(n){return e(t[n],n)})}function n(t){return null!==t&&"object"==typeof t}var o=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},i={namespaced:{configurable:!0}};i.namespaced.get=function(){return!!this._rawModule.namespaced},o.prototype.addChild=function(t,e){this._children[t]=e},o.prototype.removeChild=function(t){delete this._children[t]},o.prototype.getChild=function(t){return this._children[t]},o.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},o.prototype.forEachChild=function(t){e(this._children,t)},o.prototype.forEachGetter=function(t){this._rawModule.getters&&e(this._rawModule.getters,t)},o.prototype.forEachAction=function(t){this._rawModule.actions&&e(this._rawModule.actions,t)},o.prototype.forEachMutation=function(t){this._rawModule.mutations&&e(this._rawModule.mutations,t)},Object.defineProperties(o.prototype,i);var r,s=function(t){this.register([],t,!1)};s.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},s.prototype.getNamespace=function(t){var e=this.root;return t.reduce(function(t,n){return t+((e=e.getChild(n)).namespaced?n+"/":"")},"")},s.prototype.update=function(t){!function t(e,n,o){n.update(o);if(o.modules)for(var i in o.modules){if(!n.getChild(i))return;t(e.concat(i),n.getChild(i),o.modules[i])}}([],this.root,t)},s.prototype.register=function(t,n,i){var r=this;void 0===i&&(i=!0);var s=new o(n,i);0===t.length?this.root=s:this.get(t.slice(0,-1)).addChild(t[t.length-1],s);n.modules&&e(n.modules,function(e,n){r.register(t.concat(n),e,i)})},s.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var a=function(e){var n=this;void 0===e&&(e={}),!r&&"undefined"!=typeof window&&window.Vue&&m(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new s(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new r,this._makeLocalGettersCache=Object.create(null);var a=this,c=this.dispatch,u=this.commit;this.dispatch=function(t,e){return c.call(a,t,e)},this.commit=function(t,e,n){return u.call(a,t,e,n)},this.strict=i;var f=this._modules.root.state;p(this,f,[],this._modules.root),h(this,f),o.forEach(function(t){return t(n)}),(void 0!==e.devtools?e.devtools:r.config.devtools)&&function(e){t&&(e._devtoolHook=t,t.emit("vuex:init",e),t.on("vuex:travel-to-state",function(t){e.replaceState(t)}),e.subscribe(function(e,n){t.emit("vuex:mutation",e,n)}))}(this)},c={state:{configurable:!0}};function u(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function f(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;p(t,n,[],t._modules.root,!0),h(t,n,e)}function h(t,n,o){var i=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var s=t._wrappedGetters,a={};e(s,function(e,n){a[n]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})});var c=r.config.silent;r.config.silent=!0,t._vm=new r({data:{$$state:n},computed:a}),r.config.silent=c,t.strict&&function(t){t._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}(t),i&&(o&&t._withCommit(function(){i._data.$$state=null}),r.nextTick(function(){return i.$destroy()}))}function p(t,e,n,o,i){var s=!n.length,a=t._modules.getNamespace(n);if(o.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=o),!s&&!i){var c=l(e,n.slice(0,-1)),u=n[n.length-1];t._withCommit(function(){r.set(c,u,o.state)})}var f=o.context=function(t,e,n){var o=""===e,i={dispatch:o?t.dispatch:function(n,o,i){var r=d(n,o,i),s=r.payload,a=r.options,c=r.type;return a&&a.root||(c=e+c),t.dispatch(c,s)},commit:o?t.commit:function(n,o,i){var r=d(n,o,i),s=r.payload,a=r.options,c=r.type;a&&a.root||(c=e+c),t.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:o?function(){return t.getters}:function(){return function(t,e){if(!t._makeLocalGettersCache[e]){var n={},o=e.length;Object.keys(t.getters).forEach(function(i){if(i.slice(0,o)===e){var r=i.slice(o);Object.defineProperty(n,r,{get:function(){return t.getters[i]Line truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

+109
View File
@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 559.74 559.74">
<defs>
<style>.cls-1{fill:#fff;}.cls-2,.cls-6{fill:#1b1e36;}.cls-2{stroke:#4a4f6e;stroke-dasharray:8.99;}.cls-10,.cls-11,.cls-12,.cls-2,.cls-7,.cls-8,.cls-9{stroke-width:17.98px;}.cls-3{mask:url(#mask);}.cls-4{}.cls-10,.cls-11,.cls-12,.cls-5,.cls-7,.cls-8,.cls-9{fill:none;}.cls-5{stroke:#707491;stroke-width:11.99px;}.cls-7{stroke:#f9a239;}.cls-8{stroke:#c7ad54;}.cls-9{stroke:#5183c3;}.cls-10{stroke:#af60a6;}.cls-11{stroke:#577aa2;}.cls-12{stroke:#8ba8c5;}</style>
<mask id="mask" x="8.99" y="8.99" width="541.76" height="541.76" maskUnits="userSpaceOnUse">
<g id="mask-4">
<circle id="path-3" class="cls-1" cx="279.87" cy="279.87" r="237.02"/>
</g>
</mask>
</defs>
<title>Asset 2</title>
<g id="Layer_2">
<g id="Layer_1-2">
<g id="outset-circle">
<path id="path-1" class="cls-2" d="M279.87,550.75c149.6,0,270.88-121.28,270.88-270.88S429.47,9,279.87,9,9,130.27,9,279.87,130.27,550.75,279.87,550.75Z"/>
</g>
<g id="logo">
<g class="cls-3">
<image id="Logo-2" class="cls-4" width="1024" height="1024" transform="translate(8.99 8.99) scale(0.53)" xlink:href="data:image/png;base64,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 truncated
</g>
</g>
<circle id="inset-circle" class="cls-5" cx="279.87" cy="279.87" r="249.72"/>
<g id="zones-1">
<g id="mini_btc">
<g id="Oval-Copy">
<circle id="path-5" class="cls-6" cx="279.85" cy="30.13" r="21.13"/>
<circle class="cls-7" cx="279.85" cy="30.13" r="14.79"/>
</g>
</g>
<g id="mini_zec">
<g id="Oval-Copy-2">
<circle id="path-6" class="cls-6" cx="279.85" cy="529.56" r="21.13"/>
<circle class="cls-8" cx="279.85" cy="529.56" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy">
<g id="mini_btc-2">
<g id="Oval-Copy-3">
<circle id="path-7" class="cls-6" cx="404.72" cy="63.58" r="21.13"/>
<circle class="cls-7" cx="404.72" cy="63.58" r="14.79"/>
</g>
</g>
<g id="mini_zec-2">
<g id="Oval-Copy-4">
<circle id="path-8" class="cls-6" cx="155" cy="496.1" r="21.13"/>
<circle class="cls-8" cx="155" cy="496.1" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-2">
<g id="mini_omg">
<g id="Oval-Copy-5">
<circle id="path-9" class="cls-6" cx="496.14" cy="154.98" r="21.13"/>
<circle class="cls-9" cx="496.14" cy="154.98" r="14.79"/>
</g>
</g>
<g id="mini_cryptokitties">
<g id="Oval-Copy-6">
<circle id="path-10" class="cls-6" cx="63.62" cy="404.7" r="21.13"/>
<circle class="cls-10" cx="63.62" cy="404.7" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-3">
<g id="mini_omg-2">
<g id="Oval-Copy-7">
<circle id="path-11" class="cls-6" cx="529.61" cy="279.85" r="21.13"/>
<circle class="cls-9" cx="529.61" cy="279.85" r="14.79"/>
</g>
</g>
<g id="mini_cryptokitties-2">
<g id="Oval-Copy-8">
<circle id="path-12" class="cls-6" cx="30.18" cy="279.85" r="21.13"/>
<circle class="cls-10" cx="30.18" cy="279.85" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-4">
<g id="mini_shapeshift">
<g id="Oval-Copy-9">
<circle id="path-13" class="cls-6" cx="496.16" cy="404.72" r="21.13"/>
<circle class="cls-11" cx="496.16" cy="404.72" r="14.79"/>
</g>
</g>
<g id="mini_ethermint">
<g id="Oval-Copy-10">
<circle id="path-14" class="cls-6" cx="63.64" cy="155" r="21.13"/>
<circle class="cls-12" cx="63.64" cy="155" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-5">
<g id="mini_shapeshift-2">
<g id="Oval-Copy-11">
<circle id="path-15" class="cls-6" cx="404.76" cy="496.14" r="21.13"/>
<circle class="cls-11" cx="404.76" cy="496.14" r="14.79"/>
</g>
</g>
<g id="mini_ethermint-2">
<g id="Oval-Copy-12">
<circle id="path-16" class="cls-6" cx="155.04" cy="63.62" r="21.13"/>
<circle class="cls-12" cx="155.04" cy="63.62" r="14.79"/>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 319.97 320">
<defs>
<style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}.cls-3{fill:url(#linear-gradient-3);}.cls-4{fill:url(#linear-gradient-4);}.cls-5{fill:url(#linear-gradient-5);}.cls-6{fill:url(#linear-gradient-6);}.cls-7{fill:url(#linear-gradient-7);}</style>
<linearGradient id="linear-gradient" x1="36.16" y1="24.77" x2="285.75" y2="274.37" gradientTransform="matrix(1, 0, 0, -1, -5.41, 313.57)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#189dd8"/>
<stop offset="0.5" stop-color="#694ea0"/>
<stop offset="1" stop-color="#ed3855"/>
</linearGradient>
<linearGradient id="linear-gradient-2" x1="63.4" y1="-2.47" x2="312.99" y2="247.13" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-3" x1="134.61" y1="-73.68" x2="384.2" y2="175.91" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-4" x1="109.22" y1="-48.29" x2="358.82" y2="201.3" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-5" x1="-36.5" y1="97.43" x2="213.1" y2="347.02" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-6" x1="-61.81" y1="122.74" x2="187.78" y2="372.33" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-7" x1="9.4" y1="51.53" x2="258.99" y2="301.12" xlink:href="#linear-gradient"/>
</defs>
<title>Asset 1</title>
<g id="Layer_2">
<g id="Layer_1-2">
<path class="cls-1" d="M97.11,231.9l-73.39,8.26,43.09-99.45L22.68,80.5,130,68.3l29.16-67L223,88.1l73.41-8.26-42.9,99,43.81,59.74L190.59,250.72l-29.6,68Zm30.48-6.6a51.53,51.53,0,0,1-8.91,3.38l-2.8.78,41.39,56.26L172,251.94l-2.65-.34a52.91,52.91,0,0,1-36.1-21.36l-4.12-5.68Zm-14.39-51,33.39,46.2a36.31,36.31,0,0,0,29.33,15,35.61,35.61,0,0,0,4-.22L267,225.36l-34.69-47.31a35.77,35.77,0,0,0-5.91-6.32l-2-1.7-24.82,56-43.19-57.2Zm1.46-56.25A36.28,36.28,0,0,0,85.29,139.7l-35,80.74,58.12-6.53a35.22,35.22,0,0,0,8.4-2l2.48-.92L83.37,161.34l70.92-9,16.85-40.28Zm54.86,40.74,26.29,34.81,16-36.2,7.09-15.9a36.52,36.52,0,0,0-4-36.37L162.83,34.28,139.41,88.11a36,36,0,0,0-2.49,8.31L136.47,99l60.76-6.43Zm63.84-55.14,1,2.47a53.49,53.49,0,0,1-.39,42.1l-2.83,6.42,1.39.94a51,51,0,0,1,7.37,6.07l2.08,2,27.8-64.15ZM53,93.8,75.11,124l1.62-2.1a53,53,0,0,1,36.2-20.39l7-.73.12-1.69a52,52,0,0,1,1.75-10.37l.79-2.87Z"/>
<path class="cls-2" d="M144.51,320A158.79,158.79,0,0,1,29.93,253.61l18.54-2.11c3.08,3.77,6.34,7.39,9.71,10.77a142.87,142.87,0,0,0,72.93,39.48Z"/>
<path class="cls-3" d="M183.17,302.82a142.36,142.36,0,0,0,78.65-40.52c1.93-1.94,3.89-4,5.82-6.2l22.51-2.6A158.89,158.89,0,0,1,175.7,320Z"/>
<path class="cls-4" d="M294.72,211.3a146.54,146.54,0,0,0,2-96.94l9-20.8a161.83,161.83,0,0,1,0,132.8Z"/>
<path class="cls-5" d="M14.33,226.58a161.85,161.85,0,0,1,.16-133.51l11,15a146.46,146.46,0,0,0-2.17,97.7Z"/>
<path class="cls-6" d="M30.59,65.5A159,159,0,0,1,144.42,0L137,17.16A142.34,142.34,0,0,0,58.18,57.7c-1.63,1.63-3.28,3.38-4.92,5.19Z"/>
<path class="cls-7" d="M271.59,68.5c-3.08-3.78-6.34-7.4-9.72-10.79a142.81,142.81,0,0,0-72.8-39.45L175.59,0A158.89,158.89,0,0,1,290.08,66.4Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 193.63 213">
<defs>
<style>.cls-1{opacity:0.2;}.cls-2{fill:#ff564f;}</style>
</defs>
<title>Kava Logo</title>
<g id="Layer_2">
<g id="Layer_1-2">
<g class="cls-1">
<polygon class="cls-2" points="30 213 111.63 106.85 30 0 20.25 38.34 72.81 106.85 22.66 171.3 30 213"/>
</g>
<polygon class="cls-2" points="154.34 213 72.21 106.85 154.13 0 193 0 111.03 106.85 193.63 213 154.34 213"/>
<rect class="cls-2" width="30" height="213"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 537 B

@@ -0,0 +1,84 @@
@font-face {font-family: "iconfont";
src: url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.eot?t=1586054362501'); /* IE9 */
src: url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.eot?t=1586054362501#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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 truncated
url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.woff?t=1586054362501') format('woff'),
url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.ttf?t=1586054362501') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.svg?t=1586054362501#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-yuyanqiehuan:before {
content: "\e70e";
}
.icon-lvzhou_yuyanqiehuan:before {
content: "\e982";
}
.icon-shishi:before {
content: "\e63e";
}
.icon-data-1:before {
content: "\e602";
}
.icon-nodata:before {
content: "\e648";
}
.icon-gas:before {
content: "\e60f";
}
.icon-ledger:before {
content: "\e601";
}
.icon-BlockTime:before {
content: "\e600";
}
.icon-BondedTokens:before {
content: "\e625";
}
.icon-validators:before {
content: "\e609";
}
.icon-transactions:before {
content: "\e6bf";
}
.icon-governance:before {
content: "\e68f";
}
.icon-block:before {
content: "\e60b";
}
.icon-bangzhu:before {
content: "\e603";
}
.icon-dingdan:before {
content: "\e69d";
}
.icon-zanwushuju:before {
content: "\e716";
}
.icon-guanliyuan:before {
content: "\e7b0";
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 KiB

+13
View File
@@ -0,0 +1,13 @@
PORT=80
# local
# Mongodb_url=127.0.0.1:27017/look
# Mongodb_user=
# Mongodb_pwd=
# look
Mongodb_url=127.0.0.1:37777/look
Mongodb_user=look_20200415
Mongodb_pwd=@@look@@dingyi
# MONGODB_URL=mongodb://127.0.0.1:27017/look
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>LOOK Explorer - A light explorer for Cosmos based blockchains, Powered by ping.pub.</title><link rel=icon href=/favicon.ico><link rel=stylesheet href=/static/css/font_1354695_lrb2z8iklqe.css><script src=/static/cdn/vue@2.6.11.min.js></script><script src=/static/cdn/element-ui@2.13.0.js></script><link href=/js/chunk-dee43a6e.fa2f824d.js rel=prefetch><link href=/js/pc.3b9cf088.js rel=prefetch><link href=/js/index.9398c703.js rel=preload as=script></head><body><noscript><strong>We're sorry but look doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script>var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?612cb1567ca1cb640c7e9ee55b748c8c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script><script src=/js/index.9398c703.js></script></body></html>
+3
View File
@@ -0,0 +1,3 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-dee43a6e"],{"00cb":function(e,t,r){"use strict";const n=r("9ba9"),i=r("f8e6"),o=r("0545"),a=t;function s(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}a.define=function(e,t){return new s(e,t)},s.prototype._createNamed=function(e){const t=this.name;function r(e){this._initNamed(e,t)}return o(r,e),r.prototype._initNamed=function(t,r){e.call(this,t,r)},new r(this)},s.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(i[e])),this.decoders[e]},s.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},s.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n[e])),this.encoders[e]},s.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},"0104":function(e,t,r){"use strict";const n=r("a7df").Reporter,i=r("bfd4").EncoderBuffer,o=r("bfd4").DecoderBuffer,a=r("9653"),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],f=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s),c=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function u(e,t,r){const n={};this._baseState=n,n.name=r,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n["default"]=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}e.exports=u;const h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];u.prototype.clone=function(){const e=this._baseState,t={};h.forEach((function(r){t[r]=e[r]}));const r=new this.constructor(t.parent);return r._baseState=t,r},u.prototype._wrap=function(){const e=this._baseState;f.forEach((function(t){this[t]=function(){const r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},u.prototype._init=function(e){const t=this._baseState;a(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),a.equal(t.children.length,1,"Root node can have only one child")},u.prototype._useArgs=function(e){const t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(a(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(a(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!==typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);const n=e[r];t[n]=r})),t})))},c.forEach((function(e){u.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),s.forEach((function(e){u.prototype[e]=function(){const t=this._baseState,r=Array.prototype.slice.call(arguments);return a(null===t.tag),t.tag=e,this._useArgs(r),this}})),u.prototype.use=function(e){a(e);const t=this._baseState;return a(null===t.use),t.use=e,this},u.prototype.optional=function(){const e=this._baseState;return e.optional=!0,this},u.prototype.def=function(e){const t=this._baseState;return a(null===t["default"]),t["default"]=e,t.optional=!0,this},u.prototype.explicit=function(e){const t=this._baseState;return a(null===t.explicit&&null===t.implicit),t.explicit=e,this},u.prototype.implicit=function(e){const t=this._baseState;return a(null===t.explicit&&null===t.implicit),t.implicit=e,this},u.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},u.prototype.key=function(e){const t=this._baseState;return a(null===t.key),t.key=e,this},u.prototype.any=function(){const e=this._baseState;return e.any=!0,this},u.prototype.choice=function(e){const t=this._baseState;return a(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},u.prototype.contains=function(e){const t=this._baseState;return a(null===t.use),t.contains=e,this},u.prototype._decode=function(e,t){const r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));let n,i=r["default"],a=!0,s=null;if(null!==r.key&&(s=e.enterKey(r.key)),r.optional){let n=null;if(null!==r.explicit?n=r.explicit:null!==r.implicit?n=r.implicit:null!==r.tag&&(n=r.tag),null!==n||r.any){if(a=this._peekTag(e,n,r.any),e.isError(a))return aLine truncated
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
var n=r("fd40"),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"===typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!==typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"===typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!==typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},fb07:function(e,t,r){const n=r("2382"),i=(e,t)=>new n(e,t).patch;e.exports=i},fbf8:function(e,t){const r={IMPOSSIBLE_CASE:"Impossible case. Please create issue.",TWEAK_ADD:"The tweak was out of range or the resulted private key is invalid",TWEAK_MUL:"The tweak was out of range or equal to zero",CONTEXT_RANDOMIZE_UNKNOW:"Unknow error on context randomization",SECKEY_INVALID:"Private Key is invalid",PUBKEY_PARSE:"Public Key could not be parsed",PUBKEY_SERIALIZE:"Public Key serialization error",PUBKEY_COMBINE:"The sum of the public keys is not valid",SIG_PARSE:"Signature could not be parsed",SIGN:"The nonce generation function failed, or the private key was invalid",RECOVER:"Public key could not be recover",ECDH:"Scalar was invalid (zero or overflow)"};function n(e,t){if(!e)throw new Error(t)}function i(e,t,r){if(n(t instanceof Uint8Array,`Expected ${e} to be an Uint8Array`),void 0!==r)if(Array.isArray(r)){const i=r.join(", "),o=`Expected ${e} to be an Uint8Array with length [${i}]`;n(r.includes(t.length),o)}else{const i=`Expected ${e} to be an Uint8Array with length ${r}`;n(t.length===r,i)}}function o(e){n("Boolean"===s(e),"Expected compressed to be a Boolean")}function a(e=(e=>new Uint8Array(e)),t){return"function"===typeof e&&(e=e(t)),i("output",e,t),e}function s(e){return Object.prototype.toString.call(e).slice(8,-1)}e.exports=e=>({contextRandomize(t){switch(n(null===t||t instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==t&&i("seed",t,32),e.contextRandomize(t)){case 1:throw new Error(r.CONTEXT_RANDOMIZE_UNKNOW)}},privateKeyVerify(t){return i("private key",t,32),0===e.privateKeyVerify(t)},privateKeyNegate(t){switch(i("private key",t,32),e.privateKeyNegate(t)){case 0:return t;case 1:throw new Error(r.IMPOSSIBLE_CASE)}},privateKeyTweakAdd(t,n){switch(i("private key",t,32),i("tweak",n,32),e.privateKeyTweakAdd(t,n)){case 0:return t;case 1:throw new Error(r.TWEAK_ADD)}},privateKeyTweakMul(t,n){switch(i("private key",t,32),i("tweak",n,32),e.privateKeyTweakMul(t,n)){case 0:return t;case 1:throw new Error(r.TWEAK_MUL)}},publicKeyVerify(t){return i("public key",t,[33,65]),0===e.publicKeyVerify(t)},publicKeyCreate(t,n=!0,s){switch(i("private key",t,32),o(n),s=a(s,n?33:65),e.publicKeyCreate(s,t)){case 0:return s;case 1:throw new Error(r.SECKEY_INVALID);case 2:throw new Error(r.PUBKEY_SERIALIZE)}},publicKeyConvert(t,n=!0,s){switch(i("public key",t,[33,65]),o(n),s=a(s,n?33:65),e.publicKeyConvert(s,t)){case 0:return s;case 1:throw new Error(r.PUBKEY_PARSE);case 2:throw new Error(r.PUBKEY_SERIALIZE)}},publicKeyNegate(t,n=!0,s){switch(i("public key",t,[33,65]),o(n),s=a(s,n?33:65),e.publicKeyNegate(s,t)){case 0:return s;case 1:throw new Error(r.PUBKEY_PARSE);case 2:throw new Error(r.IMPOSSIBLE_CASE);case 3:throw new Error(r.PUBKEY_SERIALIZE)}},publicKeyCombine(t,s=!0,f){n(Array.isArray(t),"Expected public keys to be an Array"),n(t.length>0,"Expected public keys array will have more than zero items");for(const e of t)i("public key",e,[33,65]);switch(o(s),f=a(f,s?33:65),e.publicKeyCombine(f,t)){case 0:return f;case 1:throw new Error(r.PUBKEY_PARSE);case 2:throw new Error(r.PUBKEY_COMBINE);case 3:throw new Error(r.PUBKEY_SERIALIZE)}},publicKeyTweakAdd(t,n,s=!0,f){switch(i("public key",t,[33,65]),i("tweak",n,32),o(s),f=a(f,s?33:65),e.publicKeyTweakAdd(f,t,n)){case 0:return f;case 1:throw new Error(r.PUBKEY_PARSE);case 2:throw new Error(r.TWEAK_ADD)}},publicKeyTweakMul(t,n,s=!0,f){switch(i("public key",t,[33,65]),i("tweak",n,32),o(s),f=a(f,s?33:65),e.publicKeyTweakMul(f,t,n)){case 0:return f;case 1:throw new Error(r.PUBKEY_PARSE);case 2:throw new Error(r.TWEAK_MUL)}},signatureNormalize(t){switch(i("signature",t,64),e.signatureNormalize(t)){case 0:return t;case 1:throw new Error(r.SIG_PARSE)}},signatureExport(t,n){i("signature",t,64),n=a(n,72);const o={output:n,outputlen:72};switch(e.signatureExport(o,t)){case 0:return n.slice(0,o.outputlen);case 1:throw new Error(r.SIG_PARSE);case 2:throw new Error(r.IMPOSSIBLE_CASE)}},signatureImport(t,n){switch(i("signature",t),n=a(n,64),e.signatureImport(n,t)){case 0:return n;case 1:throw new Error(r.SIG_PARSE);case 2:throw new Error(r.IMPOSSIBLE_CASE)}},ecdsaSign(t,o,f={},c){i("message",t,32),i("private key",o,32),n("Line truncated
+1
View File
@@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["h5"],{"0471":function(t,e,a){var i=a("a1a8");e=i(!1),e.push([t.i,".list-title[data-v-22b5500b]{font-size:18px;font-weight:400;margin-bottom:10px}",""]),t.exports=e},"049a":function(t,e,a){var i=a("657c");"string"===typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);var s=a("85cb").default;s("7a711028",i,!0,{sourceMap:!1,shadowMode:!1})},"0702":function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-header",{staticStyle:{background:"#343a40",height:"48px",padding:"0 15px"}},[a("H5TopBar",{attrs:{back:!0}})],1),a("keep-alive",[a("router-view",{staticStyle:{"overflow-x":"hidden"}})],1)],1)},s=[],n=a("c524"),r={components:{H5TopBar:n["a"]},data:function(){return{active:"/validator"}},created:function(){this.active=this.$route.path}},o=r,l=a("5d22"),c=Object(l["a"])(o,i,s,!1,null,null,null);e["default"]=c.exports},"07b6":function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.filterShow.node?a("ParamItem",{attrs:{title:t.$t("message.parameter_VersionParameters"),content:t.nodeInfo}}):t._e(),t.filterShow.node?a("ParamItem",{attrs:{title:t.$t("message.parameter_NodeParameters"),content:t.nodeParameters}}):t._e(),t.filterShow.governance?a("div",[a("p",{staticClass:"area-title"},[t._v(t._s(t.$t("message.parameter_GovernanceParameters")))]),a("el-row",{attrs:{gutter:20}},[a("el-col",{staticClass:"parameter-item",attrs:{xs:24,sm:12,md:12,lg:8,xl:8}},[a("div",{staticClass:"parameter-item-content"},[a("div",{staticClass:"parameter-item-title"},[t._v(t._s(t.$t("message.parameter_Deposit")))]),a("div",{staticClass:"parameter-item-value"},[t._v(t._s(t.min_deposit))]),a("div",{staticClass:"parameter-item-subtitle"},[t._v(" "+t._s(t.$t("message.parameter_MaxDepositPeriod"))+" "),a("span",{staticClass:"parameter-item-subvalue"},[t._v(" "+t._s(t.max_deposit_period)+" ")])])])]),a("el-col",{staticClass:"parameter-item",attrs:{xs:24,sm:12,md:12,lg:8,xl:8}},[a("div",{staticClass:"parameter-item-content"},[a("div",{staticClass:"parameter-item-title"},[t._v(t._s(t.$t("message.parameter_Voting")))]),a("div",{staticClass:"parameter-item-value"},[t._v(t._s(t.voting_period))]),a("div",{staticClass:"parameter-item-subtitle",staticStyle:{"text-align":"center"}},[t._v(t._s(t.$t("message.parameter_VotingPeriod")))])])]),a("el-col",{staticClass:"parameter-item",attrs:{xs:24,sm:12,md:12,lg:8,xl:8}},[a("div",{staticClass:"parameter-item-content"},[a("div",{staticClass:"parameter-item-title",staticStyle:{"margin-bottom":"0px"}},[t._v(t._s(t.$t("message.parameter_Tallying")))]),a("div",{staticClass:"parameter-item-subvalue2"},[t._v(" "+t._s(t.$t("message.parameter_Quorum"))+" "),a("span",[t._v(t._s(t.quorum))])]),a("div",{staticClass:"parameter-item-subvalue2"},[t._v(" "+t._s(t.$t("message.parameter_Threshold"))+" "),a("span",[t._v(t._s(t.threshold))])]),a("div",{staticClass:"parameter-item-subvalue2"},[t._v(" "+t._s(t.$t("message.parameter_Veto"))+" "),a("span",[t._v(t._s(t.veto))])])])])],1)],1):t._e(),t.filterShow.staking?a("ParamItem",{attrs:{title:t.$t("message.parameter_StakingParameters"),content:t.stakingParameters}}):t._e(),a("ParamItem",{attrs:{title:t.$t("message.parameter_SlashingParameters"),nums:4,content:t.slashingParameters}}),t.filterShow.distribution?a("ParamItem",{attrs:{title:t.$t("message.parameter_DistributionParameters"),content:t.distributionParameters}}):t._e(),t.filterShow.mint?a("ParamItem",{attrs:{title:t.$t("message.parameter_MintParameters"),nums:3,content:t.mintParameters}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:t.$t("message.parameter_cdp"),content:t.cdp}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:"Auction",content:t.auction}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:"Bep3",content:t.bep3}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:"Incentive",content:t.incentive}}):t._e()],1)},s=[],n=(a("c19d"),a("47f5")),r=a("d211"),o=(a("6a61"),a("2e91")),l={created:function(){this.initData()},computed:{current:function(){return window.chain},earningRate:function(){if(!this.inflation_val||!this.bondedRate.val)return{percent:"--",value:null};var t=this.inflation_val/this.bondedRate.val,e=(100*t).toFixed(2)+"%";return{percent:e,value:t}},inflation_val:function(){return this.data.inflation_val},bondedRate:function(){if(!this.tokenTotal||!this.tokens.bonded_tokens_val)return{percent:"--"};var t=this.tokenTotal,e=this.tokens.bonded_tokens_val;return{percent:(e/t*100).toFixed(2)+"%",val:e/t}}},data:function(){return{tokenTotal:"",tokenTotal_str:"",tokens:{bonded_tokens:"--",bonded_tokens_val:null},blockHeight:"--",data:{}}},methods:{getSupplyTotal:function(){var t=this;return Object(o["a"])(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.$api.fetch("getSupplyTotal");case 2:a=e.sent,t.tokenTotal=a.amounLine truncated
+21
View File
@@ -0,0 +1,21 @@
(function(e){function t(t){for(var r,n,i=t[0],a=t[1],l=0,s=[];l<i.length;l++)n=i[l],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&s.push(o[n][0]),o[n]=0;for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r]);c&&c(t);while(s.length)s.shift()()}var r={},o={index:0};function n(e){return i.p+"js/"+({pc:"pc"}[e]||e)+"."+{pc:"3b9cf088","chunk-dee43a6e":"fa2f824d"}[e]+".js"}function i(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var a=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=a);var l,s=document.createElement("script");s.charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.src=n(e);var c=new Error;l=function(t){s.onerror=s.onload=null,clearTimeout(d);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,r[1](c)}o[e]=void 0}};var d=setTimeout((function(){l({type:"timeout",target:s})}),12e4);s.onerror=s.onload=l,document.head.appendChild(s)}return Promise.all(t)},i.m=e,i.c=r,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(r,o,function(t){return e[t]}.bind(null,o));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var a=window["webpackJsonp"]=window["webpackJsonp"]||[],l=a.push.bind(a);a.push=t,a=a.slice();for(var s=0;s<a.length;s++)t(a[s]);var c=l;i(i.s=0)})({0:function(e,t,r){e.exports=r("56d7")},"00f5":function(e,t,r){var o=r("6dd5"),n=r("a2e9"),i=r("da52");e.exports=!o&&!n((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"016e":function(e,t,r){"use strict";var o=r("a2e9");e.exports=function(e,t){var r=[][e];return!!r&&o((function(){r.call(null,t||function(){throw 1},1)}))}},"04a7":function(e,t,r){"use strict";var o=r("d844");e.exports=function(e,t,r){return o.forEach(r,(function(r){e=r(e,t)})),e}},"050d":function(e,t,r){"use strict";var o=r("d844");function n(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var i;if(r)i=r(t);else if(o.isURLSearchParams(t))i=t.toString();else{var a=[];o.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,(function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),a.push(n(t)+"="+n(e))})))})),i=a.join("&")}if(i){var l=e.indexOf("#");-1!==l&&(e=e.slice(0,l)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},"0545":function(e,t){"function"===typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},"068e":function(e,t,r){"use strict";function o(e){this.message=e}o.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},o.prototype.__CANCEL__=!0,e.exports=o},"0712":function(e,t,r){var o=r("abdd"),n=r("d9a5"),i=r("ec84"),a=i("match");e.exports=function(e){var t;return o(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==n(e))}},"074c":function(e,t,r){e.exports=r.p+"fonts/element-icons.732389de.ttf"},"0844":function(e,t){e.exports={}},"0ab2":function(e,t,r){"use strict";var o=r("66a0"),n=r("9653");function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(o.toArray(t,r))}e.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),n(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},i.prototype.update=function(e,t){return this.inner.update(e,t),this},i.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},"0ba2":function(e,t,r){var o=r("abdd");e.exports=function(e,t){if(!o(e))return e;var r,n;if(t&&"function"==typeof(r=e.toString)&&!o(n=r.call(e)))return n;if(Line truncated
/*!
* vue-router v3.4.9
* (c) 2020 Evan You
* @license MIT
*/function o(e,t){0}function n(e,t){for(var r in t)e[r]=t[r];return e}var i=/[!'()*]/g,a=function(e){return"%"+e.charCodeAt(0).toString(16)},l=/%2C/g,s=function(e){return encodeURIComponent(e).replace(i,a).replace(l,",")};function c(e){try{return decodeURIComponent(e)}catch(t){0}return e}function d(e,t,r){void 0===t&&(t={});var o,n=r||p;try{o=n(e||"")}catch(l){o={}}for(var i in t){var a=t[i];o[i]=Array.isArray(a)?a.map(u):u(a)}return o}var u=function(e){return null==e||"object"===typeof e?e:String(e)};function p(e){var t={};return e=e.trim().replace(/^(\?|#|&)/,""),e?(e.split("&").forEach((function(e){var r=e.replace(/\+/g," ").split("="),o=c(r.shift()),n=r.length>0?c(r.join("=")):null;void 0===t[o]?t[o]=n:Array.isArray(t[o])?t[o].push(n):t[o]=[t[o],n]})),t):t}function f(e){var t=e?Object.keys(e).map((function(t){var r=e[t];if(void 0===r)return"";if(null===r)return s(t);if(Array.isArray(r)){var o=[];return r.forEach((function(e){void 0!==e&&(null===e?o.push(s(t)):o.push(s(t)+"="+s(e)))})),o.join("&")}return s(t)+"="+s(r)})).filter((function(e){return e.length>0})).join("&"):null;return t?"?"+t:""}var h=/\/?$/;function b(e,t,r,o){var n=o&&o.options.stringifyQuery,i=t.query||{};try{i=g(i)}catch(l){}var a={name:t.name||e&&e.name,meta:e&&e.meta||{},path:t.path||"/",hash:t.hash||"",query:i,params:t.params||{},fullPath:x(t,n),matched:e?_(e):[]};return r&&(a.redirectedFrom=x(r,n)),Object.freeze(a)}function g(e){if(Array.isArray(e))return e.map(g);if(e&&"object"===typeof e){var t={};for(var r in e)t[r]=g(e[r]);return t}return e}var m=b(null,{path:"/"});function _(e){var t=[];while(e)t.unshift(e),e=e.parent;return t}function x(e,t){var r=e.path,o=e.query;void 0===o&&(o={});var n=e.hash;void 0===n&&(n="");var i=t||f;return(r||"/")+i(o)+n}function v(e,t){return t===m?e===t:!!t&&(e.path&&t.path?e.path.replace(h,"")===t.path.replace(h,"")&&e.hash===t.hash&&w(e.query,t.query):!(!e.name||!t.name)&&(e.name===t.name&&e.hash===t.hash&&w(e.query,t.query)&&w(e.params,t.params)))}function w(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e===t;var r=Object.keys(e).sort(),o=Object.keys(t).sort();return r.length===o.length&&r.every((function(r,n){var i=e[r],a=o[n];if(a!==r)return!1;var l=t[r];return null==i||null==l?i===l:"object"===typeof i&&"object"===typeof l?w(i,l):String(i)===String(l)}))}function k(e,t){return 0===e.path.replace(h,"/").indexOf(t.path.replace(h,"/"))&&(!t.hash||e.hash===t.hash)&&y(e.query,t.query)}function y(e,t){for(var r in t)if(!(r in e))return!1;return!0}function A(e){for(var t=0;t<e.matched.length;t++){var r=e.matched[t];for(var o in r.instances){var n=r.instances[o],i=r.enteredCbs[o];if(n&&i){delete r.enteredCbs[o];for(var a=0;a<i.length;a++)n._isBeingDestroyed||i[a](n)}}}}var O={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var r=t.props,o=t.children,i=t.parent,a=t.data;a.routerView=!0;var l=i.$createElement,s=r.name,c=i.$route,d=i._routerViewCache||(i._routerViewCache={}),u=0,p=!1;while(i&&i._routerRoot!==i){var f=i.$vnode?i.$vnode.data:{};f.routerView&&u++,f.keepAlive&&i._directInactive&&i._inactive&&(p=!0),i=i.$parent}if(a.routerViewDepth=u,p){var h=d[s],b=h&&h.component;return b?(h.configProps&&z(b,a,h.route,h.configProps),l(b,a,o)):l()}var g=c.matched[u],m=g&&g.components[s];if(!g||!m)return d[s]=null,l();d[s]={component:m},a.registerRouteInstance=function(e,t){var r=g.instances[s];(t&&r!==e||!t&&r===e)&&(g.instances[s]=t)},(a.hook||(a.hook={})).prepatch=function(e,t){g.instances[s]=t.componentInstance},a.hook.init=function(e){e.data.keepAlive&&e.componentInstance&&e.componentInstance!==g.instances[s]&&(g.instances[s]=e.componentInstance),A(c)};var _=g.props&&g.props[s];return _&&(n(d[s],{route:c,configProps:_}),z(m,a,c,_)),l(m,a,o)}};function z(e,t,r,o){var i=t.props=S(r,o);if(i){i=t.props=n({},i);var a=t.attrs=t.attrs||{};for(var l in i)e.props&&l in e.props||(a[l]=i[l],delete i[l])}}function S(e,t){switch(typeof t){case"undefined":return;case"object":return t;case"function":return t(e);case"boolean":return t?e.params:void 0;default:0}}function j(e,t,r){var o=e.charAt(0);if("/"===o)return e;if("?"===o||"#"===o)return t+e;var n=t.split("/");r&&n[n.length-1]||n.pop();for(var i=e.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var l=i[a];".."===l?n.pop():"."!==l&&n.push(l)}return""!==n[0]&&n.unshift(""),n.join("/")}function P(e){var t="",r="",o=e.indexOf("#");o>=0&&(t=e.slice(o),e=e.slice(0,o));var n=e.indexOf("?");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{path:e,query:r,hash:t}}function C(e){return e.replace(/\/\//g,"/")}var T=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},E=J,I=L,D=V,R=F,N=K,M=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function L(e,t){var r,o=[],n=0,i=0,a="",l=t&&t.delimiter||"/";while(null!=(r=M.exec(e))){var s=r[0],c=r[1],d=r.index;if(a+=e.slice(i,d),i=d+s.length,c)a+=cLine truncated
/*!
* vuex v3.6.0
* (c) 2020 Evan You
* @license MIT
*/
function r(e){var t=Number(e.version.split(".")[0]);if(t>=2)e.mixin({beforeCreate:o});else{var r=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[o].concat(e.init):o,r.call(this,e)}}function o(){var e=this.$options;e.store?this.$store="function"===typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}var o="undefined"!==typeof window?window:"undefined"!==typeof e?e:{},n=o.__VUE_DEVTOOLS_GLOBAL_HOOK__;function i(e){n&&(e._devtoolHook=n,n.emit("vuex:init",e),n.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){n.emit("vuex:mutation",e,t)}),{prepend:!0}),e.subscribeAction((function(e,t){n.emit("vuex:action",e,t)}),{prepend:!0}))}function a(e,t){return e.filter(t)[0]}function l(e,t){if(void 0===t&&(t=[]),null===e||"object"!==typeof e)return e;var r=a(t,(function(t){return t.original===e}));if(r)return r.copy;var o=Array.isArray(e)?[]:{};return t.push({original:e,copy:o}),Object.keys(e).forEach((function(r){o[r]=l(e[r],t)})),o}function s(e,t){Object.keys(e).forEach((function(r){return t(e[r],r)}))}function c(e){return null!==e&&"object"===typeof e}function d(e){return e&&"function"===typeof e.then}function u(e,t){return function(){return e(t)}}var p=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var r=e.state;this.state=("function"===typeof r?r():r)||{}},f={namespaced:{configurable:!0}};f.namespaced.get=function(){return!!this._rawModule.namespaced},p.prototype.addChild=function(e,t){this._children[e]=t},p.prototype.removeChild=function(e){delete this._children[e]},p.prototype.getChild=function(e){return this._children[e]},p.prototype.hasChild=function(e){return e in this._children},p.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},p.prototype.forEachChild=function(e){s(this._children,e)},p.prototype.forEachGetter=function(e){this._rawModule.getters&&s(this._rawModule.getters,e)},p.prototype.forEachAction=function(e){this._rawModule.actions&&s(this._rawModule.actions,e)},p.prototype.forEachMutation=function(e){this._rawModule.mutations&&s(this._rawModule.mutations,e)},Object.defineProperties(p.prototype,f);var h=function(e){this.register([],e,!1)};function b(e,t,r){if(t.update(r),r.modules)for(var o in r.modules){if(!t.getChild(o))return void 0;b(e.concat(o),t.getChild(o),r.modules[o])}}h.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},h.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,r){return t=t.getChild(r),e+(t.namespaced?r+"/":"")}),"")},h.prototype.update=function(e){b([],this.root,e)},h.prototype.register=function(e,t,r){var o=this;void 0===r&&(r=!0);var n=new p(t,r);if(0===e.length)this.root=n;else{var i=this.get(e.slice(0,-1));i.addChild(e[e.length-1],n)}t.modules&&s(t.modules,(function(t,n){o.register(e.concat(n),t,r)}))},h.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1],o=t.getChild(r);o&&o.runtime&&t.removeChild(r)},h.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1];return!!t&&t.hasChild(r)};var g;var m=function(e){var t=this;void 0===e&&(e={}),!g&&"undefined"!==typeof window&&window.Vue&&T(window.Vue);var r=e.plugins;void 0===r&&(r=[]);var o=e.strict;void 0===o&&(o=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new h(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new g,this._makeLocalGettersCache=Object.create(null);var n=this,a=this,l=a.dispatch,s=a.commit;this.dispatch=function(e,t){return l.call(n,e,t)},this.commit=function(e,t,r){return s.call(n,e,t,r)},this.strict=o;var c=this._modules.root.state;k(this,c,[],this._modules.root),w(this,c),r.forEach((function(e){return e(t)}));var d=void 0!==e.devtools?e.devtools:g.config.devtools;d&&i(this)},_={state:{configurable:!0}};function x(e,t,r){return t.indexOf(e)<0&&(r&&r.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function v(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var r=e.state;k(e,r,[],e._modules.root,!0),w(e,r,t)}function w(e,t,r){var o=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var n=e._wrappedGetters,i={};s(n,(function(t,r){i[r]=u(t,e),Object.defineProperty(e.getters,r,{get:function(){return e._vm[r]},enumerable:!0})}));var a=g.config.silent;g.config.silent=!0,e._vm=new g({data:{$$state:t},computed:i}),g.config.silent=a,e.strict&&j(e),o&&(r&&e._withCommit((function(){o._data.$$state=null})),g.nextTick((function(){return o.$destroy()})))}function k(e,t,r,o,n){var i=!r.length,aLine truncated
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
t.read=function(e,t,r,o,n){var i,a,l=8*n-o-1,s=(1<<l)-1,c=s>>1,d=-7,u=r?n-1:0,p=r?-1:1,f=e[t+u];for(u+=p,i=f&(1<<-d)-1,f>>=-d,d+=l;d>0;i=256*i+e[t+u],u+=p,d-=8);for(a=i&(1<<-d)-1,i>>=-d,d+=o;d>0;a=256*a+e[t+u],u+=p,d-=8);if(0===i)i=1-c;else{if(i===s)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,o),i-=c}return(f?-1:1)*a*Math.pow(2,i-o)},t.write=function(e,t,r,o,n,i){var a,l,s,c=8*i-n-1,d=(1<<c)-1,u=d>>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,f=o?0:i-1,h=o?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,a=d):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),t+=a+u>=1?p/s:p*Math.pow(2,1-u),t*s>=2&&(a++,s/=2),a+u>=d?(l=0,a=d):a+u>=1?(l=(t*s-1)*Math.pow(2,n),a+=u):(l=t*Math.pow(2,u-1)*Math.pow(2,n),a=0));n>=8;e[r+f]=255&l,f+=h,l/=256,n-=8);for(a=a<<n|l,c+=n;c>0;e[r+f]=255&a,f+=h,a/=256,c-=8);e[r+f-h]|=128*b}},e3ee:function(e,t,r){"use strict";function o(e){if(Array.isArray(e))return e}r.d(t,"a",(function(){return l}));r("ec46"),r("4507"),r("1475"),r("bc4a"),r("4460"),r("960e");function n(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var r=[],o=!0,n=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(o=(a=l.next()).done);o=!0)if(r.push(a.value),t&&r.length===t)break}catch(s){n=!0,i=s}finally{try{o||null==l["return"]||l["return"]()}finally{if(n)throw i}}return r}}var i=r("69a9");function a(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e,t){return o(e)||n(e,t)||Object(i["a"])(e,t)||a()}},e438:function(e,t){e.exports={}},e505:function(e,t,r){"use strict";e.exports=function(e,t){return t||(t={}),e=e&&e.__esModule?e.default:e,"string"!==typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},e6f1:function(e,t,r){var o=r("a2e9");e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},e7d6:function(e,t,r){var o=r("b591"),n=r("6dd5"),i=r("a7e2"),a=r("c16d"),l=r("f2e6"),s=r("2b23");o({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(e){var t,r,o=a(e),n=l.f,c=i(o),d={},u=0;while(c.length>u)r=n(o,t=c[u++]),void 0!==r&&s(d,t,r);return d}})},e967:function(e,t,r){"use strict";var o=r("91f2"),n=r("264b"),i=r("a2e9"),a=r("24ec"),l="toString",s=RegExp.prototype,c=s[l],d=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),u=c.name!=l;(d||u)&&o(RegExp.prototype,l,(function(){var e=n(this),t=String(e.source),r=e.flags,o=String(void 0===r&&e instanceof RegExp&&!("flags"in s)?a.call(e):r);return"/"+t+"/"+o}),{unsafe:!0})},e9fd:function(e,t,r){var o=t;o.utils=r("66a0"),o.common=r("298c"),o.sha=r("5798"),o.ripemd=r("7aab"),o.hmac=r("0ab2"),o.sha1=o.sha.sha1,o.sha256=o.sha.sha256,o.sha224=o.sha.sha224,o.sha384=o.sha.sha384,o.sha512=o.sha.sha512,o.ripemd160=o.ripemd.ripemd160},eb28:function(e,t,r){var o=r("264b"),n=r("f117"),i=r("ec84"),a=i("species");e.exports=function(e,t){var r,i=o(e).constructor;return void 0===i||void 0==(r=o(i)[a])?t:n(r)}},ec46:function(e,t,r){"use strict";var o=r("b591"),n=r("9fd9"),i=r("c8a9"),a=r("6e2a"),l=r("6dd5"),s=r("e6f1"),c=r("99d7"),d=r("a2e9"),u=r("5b09"),p=r("fedf"),f=r("abdd"),h=r("264b"),b=r("3642"),g=r("c16d"),m=r("0ba2"),_=r("69ba"),x=r("f628"),v=r("1c7f"),w=r("34a8"),k=r("d23c"),y=r("9b89"),A=r("f2e6"),O=r("d3f4"),z=r("3bdb"),S=r("d0f9"),j=r("91f2"),P=r("133a"),C=r("1b54"),T=r("e438"),E=r("5add"),I=r("ec84"),D=r("db5d"),R=r("6f80"),N=r("3c53"),M=r("7f5c"),L=r("7b23").forEach,V=C("hidden"),B="Symbol",H="prototype",F=I("toPrimitive"),U=M.set,$=M.getterFor(B),G=Object[H],Y=n.Symbol,q=i("JSON","stringify"),W=A.f,X=O.f,K=k.f,J=z.f,Z=P("symbols"),Q=P("op-symbols"),ee=P("string-to-symbol-registry"),te=P("symbol-to-string-registry"),re=P("wks"),oe=n.QObject,ne=!oe||!oe[H]||!oe[H].findChild,ie=l&&d((function(){return 7!=x(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(e,t,r){var o=W(G,t);o&&delete G[t],X(e,t,r),o&&e!==G&&X(G,t,o)}:X,ae=function(e,t){var r=Z[e]=x(Y[H]);return U(r,{type:B,tag:e,description:t}),l||(r.description=t),r},le=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof Y},se=function(e,t,r){e===G&&se(Q,t,r),h(e);var o=m(t,!0);return h(r),u(Z,o)?(r.enumerable?(u(e,V)&&e[V][o]&&(e[V][o]=!1),r=x(r,{enumerable:_(0,!1)})):(u(e,V)||X(e,V,_(1,{})),e[V][o]=!0),ie(e,o,r)):X(e,o,r)},ce=function(e,t){h(e);var r=g(t),o=v(r).concat(he(r));return L(o,(function(t){l&&!ue.call(r,t)||se(e,t,r[t])})),e},de=function(e,t){return void 0===t?x(e):ce(x(e),t)},ue=function(e){var t=m(e,!0),r=J.call(this,t);return!(this===G&&u(Z,t)&&!u(Q,t))&&(!(r||!u(this,t)||!u(Z,t)||u(this,V)&&this[V][t])||r)},pe=function(e,t){var r=g(e),o=m(t,!0);if(r!==G||!u(Z,o)||u(Q,o)){var n=W(r,o);return!n||!u(Z,o)||u(r,V)&&r[V][o]||(n.enumerable=!0),n}},fe=function(e){var t=K(g(e)),r=[];return L(t,(function(e){u(Z,eLine truncated
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var o=r("3560"),n=r("e248"),i=r("571a");function a(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function l(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(l()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=c.prototype):(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,r){if(!c.TYPED_ARRAY_SUPPORT&&!(this instanceof c))return new c(e,t,r);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return d(this,e,t,r)}function d(e,t,r,o){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?g(e,t,r,o):"string"===typeof t?h(e,t,r):m(e,t)}function u(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function p(e,t,r,o){return u(t),t<=0?s(e,t):void 0!==r?"string"===typeof o?s(e,t).fill(r,o):s(e,t).fill(r):s(e,t)}function f(e,t){if(u(t),e=s(e,t<0?0:0|_(t)),!c.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function h(e,t,r){if("string"===typeof r&&""!==r||(r="utf8"),!c.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var o=0|v(t,r);e=s(e,o);var n=e.write(t,r);return n!==o&&(e=e.slice(0,n)),e}function b(e,t){var r=t.length<0?0:0|_(t.length);e=s(e,r);for(var o=0;o<r;o+=1)e[o]=255&t[o];return e}function g(e,t,r,o){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(o||0))throw new RangeError("'length' is out of bounds");return t=void 0===r&&void 0===o?new Uint8Array(t):void 0===o?new Uint8Array(t,r):new Uint8Array(t,r,o),c.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=c.prototype):e=b(e,t),e}function m(e,t){if(c.isBuffer(t)){var r=0|_(t.length);return e=s(e,r),0===e.length?e:(t.copy(e,0,0,r),e)}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||te(t.length)?s(e,0):b(e,t);if("Buffer"===t.type&&i(t.data))return b(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function _(e){if(e>=l())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+l().toString(16)+" bytes");return 0|e}function x(e){return+e!=e&&(e=0),c.alloc(+e)}function v(e,t){if(c.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var o=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(e).length;default:if(o)return K(e).length;t=(""+t).toLowerCase(),o=!0}}function w(e,t,r){var o=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return M(this,t,r);case"utf8":case"utf-8":return E(this,t,r);case"ascii":return R(this,t,r);case"latin1":case"binary":return N(this,t,r);case"base64":return T(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,r);default:if(o)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function k(e,t,r){var o=e[t];e[t]=e[r],e[r]=o}function y(e,t,r,o,n){if(0===e.length)return-1;if("string"===typeof r?(o=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"===typeof t&&(t=c.from(t,o)),c.isBuffer(t))return 0===t.length?-1:A(e,t,r,o,n);if("number"===typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):A(e,[t],r,o,n);throw new TypeError("val must be string, number or Buffer")}function A(e,t,r,o,n){var i,a=1,l=e.length,s=t.length;if(void 0!==o&&(o=String(o).toLowerCase(),"ucs2"===o||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;a=2,l/=2,s/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(n){var d=-1;for(i=r;i<l;i++)if(c(e,i)===c(t,-1===d?0:i-d)){if(-1===d&&(d=i),i-d+1===s)return d*a}else-1!==d&&(i-=i-d),d=-1}else for(r+s>l&&(r=l-s),i=r;i>=0;i--){for(var u=!0,p=0;p<s;p++)if(c(e,i+p)!==c(t,p)){u=!1;break}if(u)return i}return-1}function O(e,t,r,o){r=Number(r)||0;var n=e.length-r;o?(o=Number(o),o>n&&(o=n)):o=n;var i=t.lenLine truncated
+21
View File
@@ -0,0 +1,21 @@
(function(e){function t(t){for(var n,r,i=t[0],a=t[1],l=0,s=[];l<i.length;l++)r=i[l],Object.prototype.hasOwnProperty.call(o,r)&&o[r]&&s.push(o[r][0]),o[r]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);c&&c(t);while(s.length)s.shift()()}var n={},o={m:0};function r(e){return i.p+"js/"+({h5:"h5"}[e]||e)+"."+{h5:"2e45d230"}[e]+".js"}function i(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.e=function(e){var t=[],n=o[e];if(0!==n)if(n)t.push(n[2]);else{var a=new Promise((function(t,r){n=o[e]=[t,r]}));t.push(n[2]=a);var l,s=document.createElement("script");s.charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.src=r(e);var c=new Error;l=function(t){s.onerror=s.onload=null,clearTimeout(d);var n=o[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+r+": "+i+")",c.name="ChunkLoadError",c.type=r,c.request=i,n[1](c)}o[e]=void 0}};var d=setTimeout((function(){l({type:"timeout",target:s})}),12e4);s.onerror=s.onload=l,document.head.appendChild(s)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var a=window["webpackJsonp"]=window["webpackJsonp"]||[],l=a.push.bind(a);a.push=t,a=a.slice();for(var s=0;s<a.length;s++)t(a[s]);var c=l;i(i.s=1)})({"00f5":function(e,t,n){var o=n("6dd5"),r=n("a2e9"),i=n("da52");e.exports=!o&&!r((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"016e":function(e,t,n){"use strict";var o=n("a2e9");e.exports=function(e,t){var n=[][e];return!!n&&o((function(){n.call(null,t||function(){throw 1},1)}))}},"041e":function(e,t,n){var o=n("4f71");"string"===typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);var r=n("85cb").default;r("7124c24d",o,!0,{sourceMap:!1,shadowMode:!1})},"04a7":function(e,t,n){"use strict";var o=n("d844");e.exports=function(e,t,n){return o.forEach(n,(function(n){e=n(e,t)})),e}},"050d":function(e,t,n){"use strict";var o=n("d844");function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var a=[];o.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,(function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),a.push(r(t)+"="+r(e))})))})),i=a.join("&")}if(i){var l=e.indexOf("#");-1!==l&&(e=e.slice(0,l)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},"0545":function(e,t){"function"===typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},"068e":function(e,t,n){"use strict";function o(e){this.message=e}o.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},o.prototype.__CANCEL__=!0,e.exports=o},"0690":function(e,t,n){var o=n("8a3e");"string"===typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);var r=n("85cb").default;r("9a798112",o,!0,{sourceMap:!1,shadowMode:!1})},"0712":function(e,t,n){var o=n("abdd"),r=n("d9a5"),i=n("ec84"),a=i("match");e.exports=function(e){var t;return o(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==r(e))}},"074c":function(e,t,n){e.exports=n.p+"fonts/element-icons.732389de.ttf"},"0844":function(e,t){e.exports={}},"0ab2":function(e,t,n){"use strict";var o=n("66a0"),r=n("9653");function i(e,t,n){if(!(this instanceof i))return new i(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(o.toArray(t,n))}e.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},i.prototype.update=function(e,t){reLine truncated
/*!
* vue-router v3.4.9
* (c) 2020 Evan You
* @license MIT
*/function o(e,t){0}function r(e,t){for(var n in t)e[n]=t[n];return e}var i=/[!'()*]/g,a=function(e){return"%"+e.charCodeAt(0).toString(16)},l=/%2C/g,s=function(e){return encodeURIComponent(e).replace(i,a).replace(l,",")};function c(e){try{return decodeURIComponent(e)}catch(t){0}return e}function d(e,t,n){void 0===t&&(t={});var o,r=n||p;try{o=r(e||"")}catch(l){o={}}for(var i in t){var a=t[i];o[i]=Array.isArray(a)?a.map(u):u(a)}return o}var u=function(e){return null==e||"object"===typeof e?e:String(e)};function p(e){var t={};return e=e.trim().replace(/^(\?|#|&)/,""),e?(e.split("&").forEach((function(e){var n=e.replace(/\+/g," ").split("="),o=c(n.shift()),r=n.length>0?c(n.join("=")):null;void 0===t[o]?t[o]=r:Array.isArray(t[o])?t[o].push(r):t[o]=[t[o],r]})),t):t}function f(e){var t=e?Object.keys(e).map((function(t){var n=e[t];if(void 0===n)return"";if(null===n)return s(t);if(Array.isArray(n)){var o=[];return n.forEach((function(e){void 0!==e&&(null===e?o.push(s(t)):o.push(s(t)+"="+s(e)))})),o.join("&")}return s(t)+"="+s(n)})).filter((function(e){return e.length>0})).join("&"):null;return t?"?"+t:""}var h=/\/?$/;function b(e,t,n,o){var r=o&&o.options.stringifyQuery,i=t.query||{};try{i=g(i)}catch(l){}var a={name:t.name||e&&e.name,meta:e&&e.meta||{},path:t.path||"/",hash:t.hash||"",query:i,params:t.params||{},fullPath:v(t,r),matched:e?_(e):[]};return n&&(a.redirectedFrom=v(n,r)),Object.freeze(a)}function g(e){if(Array.isArray(e))return e.map(g);if(e&&"object"===typeof e){var t={};for(var n in e)t[n]=g(e[n]);return t}return e}var m=b(null,{path:"/"});function _(e){var t=[];while(e)t.unshift(e),e=e.parent;return t}function v(e,t){var n=e.path,o=e.query;void 0===o&&(o={});var r=e.hash;void 0===r&&(r="");var i=t||f;return(n||"/")+i(o)+r}function x(e,t){return t===m?e===t:!!t&&(e.path&&t.path?e.path.replace(h,"")===t.path.replace(h,"")&&e.hash===t.hash&&w(e.query,t.query):!(!e.name||!t.name)&&(e.name===t.name&&e.hash===t.hash&&w(e.query,t.query)&&w(e.params,t.params)))}function w(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e===t;var n=Object.keys(e).sort(),o=Object.keys(t).sort();return n.length===o.length&&n.every((function(n,r){var i=e[n],a=o[r];if(a!==n)return!1;var l=t[n];return null==i||null==l?i===l:"object"===typeof i&&"object"===typeof l?w(i,l):String(i)===String(l)}))}function k(e,t){return 0===e.path.replace(h,"/").indexOf(t.path.replace(h,"/"))&&(!t.hash||e.hash===t.hash)&&y(e.query,t.query)}function y(e,t){for(var n in t)if(!(n in e))return!1;return!0}function A(e){for(var t=0;t<e.matched.length;t++){var n=e.matched[t];for(var o in n.instances){var r=n.instances[o],i=n.enteredCbs[o];if(r&&i){delete n.enteredCbs[o];for(var a=0;a<i.length;a++)r._isBeingDestroyed||i[a](r)}}}}var S={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var n=t.props,o=t.children,i=t.parent,a=t.data;a.routerView=!0;var l=i.$createElement,s=n.name,c=i.$route,d=i._routerViewCache||(i._routerViewCache={}),u=0,p=!1;while(i&&i._routerRoot!==i){var f=i.$vnode?i.$vnode.data:{};f.routerView&&u++,f.keepAlive&&i._directInactive&&i._inactive&&(p=!0),i=i.$parent}if(a.routerViewDepth=u,p){var h=d[s],b=h&&h.component;return b?(h.configProps&&O(b,a,h.route,h.configProps),l(b,a,o)):l()}var g=c.matched[u],m=g&&g.components[s];if(!g||!m)return d[s]=null,l();d[s]={component:m},a.registerRouteInstance=function(e,t){var n=g.instances[s];(t&&n!==e||!t&&n===e)&&(g.instances[s]=t)},(a.hook||(a.hook={})).prepatch=function(e,t){g.instances[s]=t.componentInstance},a.hook.init=function(e){e.data.keepAlive&&e.componentInstance&&e.componentInstance!==g.instances[s]&&(g.instances[s]=e.componentInstance),A(c)};var _=g.props&&g.props[s];return _&&(r(d[s],{route:c,configProps:_}),O(m,a,c,_)),l(m,a,o)}};function O(e,t,n,o){var i=t.props=z(n,o);if(i){i=t.props=r({},i);var a=t.attrs=t.attrs||{};for(var l in i)e.props&&l in e.props||(a[l]=i[l],delete i[l])}}function z(e,t){switch(typeof t){case"undefined":return;case"object":return t;case"function":return t(e);case"boolean":return t?e.params:void 0;default:0}}function C(e,t,n){var o=e.charAt(0);if("/"===o)return e;if("?"===o||"#"===o)return t+e;var r=t.split("/");n&&r[r.length-1]||r.pop();for(var i=e.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var l=i[a];".."===l?r.pop():"."!==l&&r.push(l)}return""!==r[0]&&r.unshift(""),r.join("/")}function P(e){var t="",n="",o=e.indexOf("#");o>=0&&(t=e.slice(o),e=e.slice(0,o));var r=e.indexOf("?");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{path:e,query:n,hash:t}}function T(e){return e.replace(/\/\//g,"/")}var j=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},E=J,I=B,M=F,R=H,D=Z,N=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function B(e,t){var n,o=[],r=0,i=0,a="",l=t&&t.delimiter||"/";while(null!=(n=N.exec(e))){var s=n[0],c=n[1],d=n.index;if(a+=e.slice(i,d),i=d+s.length,c)a+=cLine truncated
/*!
* vuex v3.6.0
* (c) 2020 Evan You
* @license MIT
*/
function n(e){var t=Number(e.version.split(".")[0]);if(t>=2)e.mixin({beforeCreate:o});else{var n=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[o].concat(e.init):o,n.call(this,e)}}function o(){var e=this.$options;e.store?this.$store="function"===typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}var o="undefined"!==typeof window?window:"undefined"!==typeof e?e:{},r=o.__VUE_DEVTOOLS_GLOBAL_HOOK__;function i(e){r&&(e._devtoolHook=r,r.emit("vuex:init",e),r.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){r.emit("vuex:mutation",e,t)}),{prepend:!0}),e.subscribeAction((function(e,t){r.emit("vuex:action",e,t)}),{prepend:!0}))}function a(e,t){return e.filter(t)[0]}function l(e,t){if(void 0===t&&(t=[]),null===e||"object"!==typeof e)return e;var n=a(t,(function(t){return t.original===e}));if(n)return n.copy;var o=Array.isArray(e)?[]:{};return t.push({original:e,copy:o}),Object.keys(e).forEach((function(n){o[n]=l(e[n],t)})),o}function s(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function c(e){return null!==e&&"object"===typeof e}function d(e){return e&&"function"===typeof e.then}function u(e,t){return function(){return e(t)}}var p=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"===typeof n?n():n)||{}},f={namespaced:{configurable:!0}};f.namespaced.get=function(){return!!this._rawModule.namespaced},p.prototype.addChild=function(e,t){this._children[e]=t},p.prototype.removeChild=function(e){delete this._children[e]},p.prototype.getChild=function(e){return this._children[e]},p.prototype.hasChild=function(e){return e in this._children},p.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},p.prototype.forEachChild=function(e){s(this._children,e)},p.prototype.forEachGetter=function(e){this._rawModule.getters&&s(this._rawModule.getters,e)},p.prototype.forEachAction=function(e){this._rawModule.actions&&s(this._rawModule.actions,e)},p.prototype.forEachMutation=function(e){this._rawModule.mutations&&s(this._rawModule.mutations,e)},Object.defineProperties(p.prototype,f);var h=function(e){this.register([],e,!1)};function b(e,t,n){if(t.update(n),n.modules)for(var o in n.modules){if(!t.getChild(o))return void 0;b(e.concat(o),t.getChild(o),n.modules[o])}}h.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},h.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return t=t.getChild(n),e+(t.namespaced?n+"/":"")}),"")},h.prototype.update=function(e){b([],this.root,e)},h.prototype.register=function(e,t,n){var o=this;void 0===n&&(n=!0);var r=new p(t,n);if(0===e.length)this.root=r;else{var i=this.get(e.slice(0,-1));i.addChild(e[e.length-1],r)}t.modules&&s(t.modules,(function(t,r){o.register(e.concat(r),t,n)}))},h.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],o=t.getChild(n);o&&o.runtime&&t.removeChild(n)},h.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};var g;var m=function(e){var t=this;void 0===e&&(e={}),!g&&"undefined"!==typeof window&&window.Vue&&j(window.Vue);var n=e.plugins;void 0===n&&(n=[]);var o=e.strict;void 0===o&&(o=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new h(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new g,this._makeLocalGettersCache=Object.create(null);var r=this,a=this,l=a.dispatch,s=a.commit;this.dispatch=function(e,t){return l.call(r,e,t)},this.commit=function(e,t,n){return s.call(r,e,t,n)},this.strict=o;var c=this._modules.root.state;k(this,c,[],this._modules.root),w(this,c),n.forEach((function(e){return e(t)}));var d=void 0!==e.devtools?e.devtools:g.config.devtools;d&&i(this)},_={state:{configurable:!0}};function v(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function x(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;k(e,n,[],e._modules.root,!0),w(e,n,t)}function w(e,t,n){var o=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,i={};s(r,(function(t,n){i[n]=u(t,e),Object.defineProperty(e.getters,n,{get:function(){return e._vm[n]},enumerable:!0})}));var a=g.config.silent;g.config.silent=!0,e._vm=new g({data:{$$state:t},computed:i}),g.config.silent=a,e.strict&&C(e),o&&(n&&e._withCommit((function(){o._data.$$state=null})),g.nextTick((function(){return o.$destroy()})))}function k(e,t,n,o,r){var i=!n.length,aLine truncated
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
t.read=function(e,t,n,o,r){var i,a,l=8*r-o-1,s=(1<<l)-1,c=s>>1,d=-7,u=n?r-1:0,p=n?-1:1,f=e[t+u];for(u+=p,i=f&(1<<-d)-1,f>>=-d,d+=l;d>0;i=256*i+e[t+u],u+=p,d-=8);for(a=i&(1<<-d)-1,i>>=-d,d+=o;d>0;a=256*a+e[t+u],u+=p,d-=8);if(0===i)i=1-c;else{if(i===s)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,o),i-=c}return(f?-1:1)*a*Math.pow(2,i-o)},t.write=function(e,t,n,o,r,i){var a,l,s,c=8*i-r-1,d=(1<<c)-1,u=d>>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=o?0:i-1,h=o?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,a=d):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),t+=a+u>=1?p/s:p*Math.pow(2,1-u),t*s>=2&&(a++,s/=2),a+u>=d?(l=0,a=d):a+u>=1?(l=(t*s-1)*Math.pow(2,r),a+=u):(l=t*Math.pow(2,u-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&l,f+=h,l/=256,r-=8);for(a=a<<r|l,c+=r;c>0;e[n+f]=255&a,f+=h,a/=256,c-=8);e[n+f-h]|=128*b}},e3ee:function(e,t,n){"use strict";function o(e){if(Array.isArray(e))return e}n.d(t,"a",(function(){return l}));n("ec46"),n("4507"),n("1475"),n("bc4a"),n("4460"),n("960e");function r(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(o=(a=l.next()).done);o=!0)if(n.push(a.value),t&&n.length===t)break}catch(s){r=!0,i=s}finally{try{o||null==l["return"]||l["return"]()}finally{if(r)throw i}}return n}}var i=n("69a9");function a(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e,t){return o(e)||r(e,t)||Object(i["a"])(e,t)||a()}},e438:function(e,t){e.exports={}},e443:function(e,t,n){"use strict";var o=n("c5a7");t.__esModule=!0,t.unifySlots=s,t.createComponent=d,n("835a");var r=n("80e0"),i=n("384c"),a=n("70e4");o(n("8bbf"));function l(e){var t=this.name;e.component(t,this),e.component((0,i.camelize)("-"+t),this)}function s(e){var t=e.scopedSlots||e.data.scopedSlots||{},n=e.slots();return Object.keys(n).forEach((function(e){t[e]||(t[e]=function(){return n[e]})})),t}function c(e){return{functional:!0,props:e.props,model:e.model,render:function(t,n){return e(t,n.props,s(n),n)}}}function d(e){return function(t){return(0,r.isFunction)(t)&&(t=c(t)),t.functional||(t.mixins=t.mixins||[],t.mixins.push(a.SlotsMixin)),t.name=e,t.install=l,t}}},e505:function(e,t,n){"use strict";e.exports=function(e,t){return t||(t={}),e=e&&e.__esModule?e.default:e,"string"!==typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},e517:function(e,t,n){var o=n("a1a8");t=o(!1),t.push([e.i,'.van-loading{color:#c8c9cc;font-size:0}.van-loading,.van-loading__spinner{position:relative;vertical-align:middle}.van-loading__spinner{display:inline-block;width:30px;max-width:100%;height:30px;max-height:100%;-webkit-animation:van-rotate .8s linear infinite;animation:van-rotate .8s linear infinite}.van-loading__spinner--spinner{-webkit-animation-timing-function:steps(12);animation-timing-function:steps(12)}.van-loading__spinner--spinner i{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__spinner--spinner i:before{display:block;width:2px;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:" "}.van-loading__spinner--circular{-webkit-animation-duration:2s;animation-duration:2s}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{-webkit-animation:van-circular 1.5s ease-in-out infinite;animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:8px;color:#969799;font-size:14px;vertical-align:middle}.van-loading--vertical{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.van-loading--vertical .van-loading__text{margin:8px 0 0}@-webkit-keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__spinner--spinner i:first-of-type{-webkit-transform:rotate(30deg);transform:rotate(30deg);opacity:1}.van-loading__spinner--spinner i:nth-of-type(2){-webkit-transform:rotate(60deg);transform:rotate(60deg);opacity:.9375}.van-loading__spinner--spinner i:nth-of-type(3){-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:.875}.van-loading__spinner--spinner i:nth-of-type(4){-webkit-transform:rotate(120deg);transform:rotate(120deg);opacity:.8125}.van-loading__spinner--spinner i:nth-of-type(5){-webkit-transform:rotate(150deg);transform:rotate(150deg);opaLine truncated
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var o=n("3560"),r=n("e248"),i=n("571a");function a(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function l(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(l()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=c.prototype):(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,n){if(!c.TYPED_ARRAY_SUPPORT&&!(this instanceof c))return new c(e,t,n);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return d(this,e,t,n)}function d(e,t,n,o){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?g(e,t,n,o):"string"===typeof t?h(e,t,n):m(e,t)}function u(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function p(e,t,n,o){return u(t),t<=0?s(e,t):void 0!==n?"string"===typeof o?s(e,t).fill(n,o):s(e,t).fill(n):s(e,t)}function f(e,t){if(u(t),e=s(e,t<0?0:0|_(t)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function h(e,t,n){if("string"===typeof n&&""!==n||(n="utf8"),!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var o=0|x(t,n);e=s(e,o);var r=e.write(t,n);return r!==o&&(e=e.slice(0,r)),e}function b(e,t){var n=t.length<0?0:0|_(t.length);e=s(e,n);for(var o=0;o<n;o+=1)e[o]=255&t[o];return e}function g(e,t,n,o){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(o||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===o?new Uint8Array(t):void 0===o?new Uint8Array(t,n):new Uint8Array(t,n,o),c.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=c.prototype):e=b(e,t),e}function m(e,t){if(c.isBuffer(t)){var n=0|_(t.length);return e=s(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||te(t.length)?s(e,0):b(e,t);if("Buffer"===t.type&&i(t.data))return b(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function _(e){if(e>=l())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+l().toString(16)+" bytes");return 0|e}function v(e){return+e!=e&&(e=0),c.alloc(+e)}function x(e,t){if(c.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var o=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(o)return Z(e).length;t=(""+t).toLowerCase(),o=!0}}function w(e,t,n){var o=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return N(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return j(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,n);default:if(o)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function k(e,t,n){var o=e[t];e[t]=e[n],e[n]=o}function y(e,t,n,o,r){if(0===e.length)return-1;if("string"===typeof n?(o=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"===typeof t&&(t=c.from(t,o)),c.isBuffer(t))return 0===t.length?-1:A(e,t,n,o,r);if("number"===typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):A(e,[t],n,o,r);throw new TypeError("val must be string, number or Buffer")}function A(e,t,n,o,r){var i,a=1,l=e.length,s=t.length;if(void 0!==o&&(o=String(o).toLowerCase(),"ucs2"===o||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;a=2,l/=2,s/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var d=-1;for(i=n;i<l;i++)if(c(e,i)===c(t,-1===d?0:i-d)){if(-1===d&&(d=i),i-d+1===s)return d*a}else-1!==d&&(i-=i-d),d=-1}else for(n+s>l&&(n=l-s),i=n;i>=0;i--){for(var u=!0,p=0;p<s;p++)if(c(e,i+p)!==c(t,p)){u=!1;break}if(u)return i}return-1}function S(e,t,n,o){n=Number(n)||0;var r=e.length-n;o?(o=Number(o),o>r&&(o=r)):o=r;var i=t.lenLine truncated
+8
View File
@@ -0,0 +1,8 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pc"],{"0471":function(t,e,a){var n=a("a1a8");e=n(!1),e.push([t.i,".list-title[data-v-22b5500b]{font-size:18px;font-weight:400;margin-bottom:10px}",""]),t.exports=e},"07b6":function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.filterShow.node?a("ParamItem",{attrs:{title:t.$t("message.parameter_VersionParameters"),content:t.nodeInfo}}):t._e(),t.filterShow.node?a("ParamItem",{attrs:{title:t.$t("message.parameter_NodeParameters"),content:t.nodeParameters}}):t._e(),t.filterShow.governance?a("div",[a("p",{staticClass:"area-title"},[t._v(t._s(t.$t("message.parameter_GovernanceParameters")))]),a("el-row",{attrs:{gutter:20}},[a("el-col",{staticClass:"parameter-item",attrs:{xs:24,sm:12,md:12,lg:8,xl:8}},[a("div",{staticClass:"parameter-item-content"},[a("div",{staticClass:"parameter-item-title"},[t._v(t._s(t.$t("message.parameter_Deposit")))]),a("div",{staticClass:"parameter-item-value"},[t._v(t._s(t.min_deposit))]),a("div",{staticClass:"parameter-item-subtitle"},[t._v(" "+t._s(t.$t("message.parameter_MaxDepositPeriod"))+" "),a("span",{staticClass:"parameter-item-subvalue"},[t._v(" "+t._s(t.max_deposit_period)+" ")])])])]),a("el-col",{staticClass:"parameter-item",attrs:{xs:24,sm:12,md:12,lg:8,xl:8}},[a("div",{staticClass:"parameter-item-content"},[a("div",{staticClass:"parameter-item-title"},[t._v(t._s(t.$t("message.parameter_Voting")))]),a("div",{staticClass:"parameter-item-value"},[t._v(t._s(t.voting_period))]),a("div",{staticClass:"parameter-item-subtitle",staticStyle:{"text-align":"center"}},[t._v(t._s(t.$t("message.parameter_VotingPeriod")))])])]),a("el-col",{staticClass:"parameter-item",attrs:{xs:24,sm:12,md:12,lg:8,xl:8}},[a("div",{staticClass:"parameter-item-content"},[a("div",{staticClass:"parameter-item-title",staticStyle:{"margin-bottom":"0px"}},[t._v(t._s(t.$t("message.parameter_Tallying")))]),a("div",{staticClass:"parameter-item-subvalue2"},[t._v(" "+t._s(t.$t("message.parameter_Quorum"))+" "),a("span",[t._v(t._s(t.quorum))])]),a("div",{staticClass:"parameter-item-subvalue2"},[t._v(" "+t._s(t.$t("message.parameter_Threshold"))+" "),a("span",[t._v(t._s(t.threshold))])]),a("div",{staticClass:"parameter-item-subvalue2"},[t._v(" "+t._s(t.$t("message.parameter_Veto"))+" "),a("span",[t._v(t._s(t.veto))])])])])],1)],1):t._e(),t.filterShow.staking?a("ParamItem",{attrs:{title:t.$t("message.parameter_StakingParameters"),content:t.stakingParameters}}):t._e(),a("ParamItem",{attrs:{title:t.$t("message.parameter_SlashingParameters"),nums:4,content:t.slashingParameters}}),t.filterShow.distribution?a("ParamItem",{attrs:{title:t.$t("message.parameter_DistributionParameters"),content:t.distributionParameters}}):t._e(),t.filterShow.mint?a("ParamItem",{attrs:{title:t.$t("message.parameter_MintParameters"),nums:3,content:t.mintParameters}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:t.$t("message.parameter_cdp"),content:t.cdp}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:"Auction",content:t.auction}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:"Bep3",content:t.bep3}}):t._e(),t.filterShow.cdp?a("ParamItem",{attrs:{title:"Incentive",content:t.incentive}}):t._e()],1)},r=[],i=(a("c19d"),a("47f5")),s=a("d211"),o=(a("6a61"),a("2e91")),c={created:function(){this.initData()},computed:{current:function(){return window.chain},earningRate:function(){if(!this.inflation_val||!this.bondedRate.val)return{percent:"--",value:null};var t=this.inflation_val/this.bondedRate.val,e=(100*t).toFixed(2)+"%";return{percent:e,value:t}},inflation_val:function(){return this.data.inflation_val},bondedRate:function(){if(!this.tokenTotal||!this.tokens.bonded_tokens_val)return{percent:"--"};var t=this.tokenTotal,e=this.tokens.bonded_tokens_val;return{percent:(e/t*100).toFixed(2)+"%",val:e/t}}},data:function(){return{tokenTotal:"",tokenTotal_str:"",tokens:{bonded_tokens:"--",bonded_tokens_val:null},blockHeight:"--",data:{}}},methods:{getSupplyTotal:function(){var t=this;return Object(o["a"])(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.$api.fetch("getSupplyTotal");case 2:a=e.sent,t.tokenTotal=a.amount,t.tokenTotal_str=a.amount_str;case 5:case"end":return e.stop()}}),e)})))()},getStakingPool:function(){var t=this;return Object(o["a"])(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.$api.fetch("getStakingPool");case 2:a=e.sent,t.tokens=a;case 4:case"end":return e.stop()}}),e)})))()},initValidator:function(){var t=this;return Object(o["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t.initBlockHeight();case 1:case"end":return e.stop()}}),e)})))()},initBlockHeight:function(){var t=this;return Object(o["a"])(regeneratorRuntime.mark((function e(){var aLine truncated
/*!
localForage -- Offline Storage, Improved
Version 1.9.0
https://localforage.github.io/localForage
(c) 2013-2017 Mozilla, Apache License 2.0
*/
(function(e){t.exports=e()})((function(){return function t(e,n,r){function i(o,c){if(!n[o]){if(!e[o]){var l="function"==typeof a&&a;if(!c&&l)return a(o,!0);if(s)return s(o,!0);var d=new Error("Cannot find module '"+o+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[o]={exports:{}};e[o][0].call(u.exports,(function(t){var a=e[o][1][t];return i(a||t)}),u,u.exports,t,e,n,r)}return n[o].exports}for(var s="function"==typeof a&&a,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(t,a,n){(function(t){"use strict";var e,n,r=t.MutationObserver||t.WebKitMutationObserver;if(r){var i=0,s=new r(d),o=t.document.createTextNode("");s.observe(o,{characterData:!0}),e=function(){o.data=i=++i%2}}else if(t.setImmediate||"undefined"===typeof t.MessageChannel)e="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){d(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(d,0)};else{var c=new t.MessageChannel;c.port1.onmessage=d,e=function(){c.port2.postMessage(0)}}var l=[];function d(){var t,e;n=!0;var a=l.length;while(a){e=l,l=[],t=-1;while(++t<a)e[t]();a=l.length}n=!1}function u(t){1!==l.push(t)||n||e()}a.exports=u}).call(this,"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],2:[function(t,e,a){"use strict";var n=t(1);function r(){}var i={},s=["REJECTED"],o=["FULFILLED"],c=["PENDING"];function l(t){if("function"!==typeof t)throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,t!==r&&m(this,t)}function d(t,e,a){this.promise=t,"function"===typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),"function"===typeof a&&(this.onRejected=a,this.callRejected=this.otherCallRejected)}function u(t,e,a){n((function(){var n;try{n=e(a)}catch(r){return i.reject(t,r)}n===t?i.reject(t,new TypeError("Cannot resolve promise with itself")):i.resolve(t,n)}))}function p(t){var e=t&&t.then;if(t&&("object"===typeof t||"function"===typeof t)&&"function"===typeof e)return function(){e.apply(t,arguments)}}function m(t,e){var a=!1;function n(e){a||(a=!0,i.reject(t,e))}function r(e){a||(a=!0,i.resolve(t,e))}function s(){e(r,n)}var o=f(s);"error"===o.status&&n(o.value)}function f(t,e){var a={};try{a.value=t(e),a.status="success"}catch(n){a.status="error",a.value=n}return a}function v(t){return t instanceof this?t:i.resolve(new this(r),t)}function g(t){var e=new this(r);return i.reject(e,t)}function h(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var a=t.length,n=!1;if(!a)return this.resolve([]);var s=new Array(a),o=0,c=-1,l=new this(r);while(++c<a)d(t[c],c);return l;function d(t,r){function c(t){s[r]=t,++o!==a||n||(n=!0,i.resolve(l,s))}e.resolve(t).then(c,(function(t){n||(n=!0,i.reject(l,t))}))}}function b(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var a=t.length,n=!1;if(!a)return this.resolve([]);var s=-1,o=new this(r);while(++s<a)c(t[s]);return o;function c(t){e.resolve(t).then((function(t){n||(n=!0,i.resolve(o,t))}),(function(t){n||(n=!0,i.reject(o,t))}))}}e.exports=l,l.prototype["catch"]=function(t){return this.then(null,t)},l.prototype.then=function(t,e){if("function"!==typeof t&&this.state===o||"function"!==typeof e&&this.state===s)return this;var a=new this.constructor(r);if(this.state!==c){var n=this.state===o?t:e;u(a,n,this.outcome)}else this.queue.push(new d(a,t,e));return a},d.prototype.callFulfilled=function(t){i.resolve(this.promise,t)},d.prototype.otherCallFulfilled=function(t){u(this.promise,this.onFulfilled,t)},d.prototype.callRejected=function(t){i.reject(this.promise,t)},d.prototype.otherCallRejected=function(t){u(this.promise,this.onRejected,t)},i.resolve=function(t,e){var a=f(p,e);if("error"===a.status)return i.reject(t,a.value);var n=a.value;if(n)m(t,n);else{t.state=o,t.outcome=e;var r=-1,s=t.queue.length;while(++r<s)t.queue[r].callFulfilled(e)}return t},i.reject=function(t,e){t.state=s,t.outcome=e;var a=-1,n=t.queue.length;while(++a<n)t.queue[a].callRejected(e);return t},l.resolve=v,l.reject=g,l.all=h,l.race=b},{1:1}],3:[function(t,a,n){(function(e){"use strict";"function"!==typeof e.Promise&&(e.Promise=t(2))}).call(this,"undefined"!==typeof e?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{2:2}],4:[function(t,e,a){"use strict";var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(){try{if("undefined"!==typeof indexedDB)return indexedDB;if("undefined"!==typeof webkitIndexedDB)return webkitIndexedDB;if("undefined"!==Line truncated
+7
View File
@@ -0,0 +1,7 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=apple-mobile-web-app-status-bar-style content=black><meta name=format-detection content="telephone=no"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=/favicon.ico><link rel=stylesheet href=/static/css/font_1354695_lrb2z8iklqe.css><script src=https://unpkg.com/vue@2.6.11/dist/vue.min.js></script><script src=https://unpkg.com/element-ui@2.13.0/lib/index.js></script><title>LOOK Explorer - A light explorer for Cosmos based blockchains, Powered by ping.pub.</title><link href=/js/h5.2e45d230.js rel=prefetch><link href=/js/m.6108a2ad.js rel=preload as=script></head><body><noscript><strong>We're sorry but look doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script>var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?612cb1567ca1cb640c7e9ee55b748c8c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script><script src=/js/m.6108a2ad.js></script></body></html>
+3
View File
@@ -0,0 +1,3 @@
/* axios v0.19.2 | (c) 2020 by Matt Zabriskie */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(4),a=n(22),u=n(10),c=r(u);c.Axios=s,c.create=function(e){return r(a(c.defaults,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(9),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===j.call(e)}function o(e){return"undefined"==typeof e}function i(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function s(e){return"[object ArrayBuffer]"===j.call(e)}function a(e){return"undefined"!=typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function f(e){return"number"==typeof e}function p(e){return null!==e&&"object"==typeof e}function d(e){return"[object Date]"===j.call(e)}function l(e){return"[object File]"===j.call(e)}function h(e){return"[object Blob]"===j.call(e)}function m(e){return"[object Function]"===j.call(e)}function y(e){return p(e)&&m(e.pipe)}function g(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function v(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function w(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function b(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=b(t[n],e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)w(arguments[n],e);return t}function E(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=E(t[n],e):"object"==typeof e?t[n]=E({},e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)w(arguments[n],e);return t}function S(e,t,n){return w(t,function(t,r){n&&"function"==typeof t?e[r]=C(t,n):e[r]=t}),e}var C=n(3),j=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:s,isBuffer:i,isFormData:a,isArrayBufferView:u,isString:c,isNumber:f,isObject:p,isUndefined:o,isDate:d,isFile:l,isBlob:h,isFunction:m,isStream:y,isURLSearchParams:g,isStandardBrowserEnv:x,forEach:w,merge:b,deepMerge:E,extend:S,trim:v}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(2),i=n(5),s=n(6),a=n(7),u=n(22);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=u(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=u(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},o.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}if(i){var a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}},function(e,t,n){"use strict";function r(){this.haLine truncated
//# sourceMappingURL=axios.min.map
+10
View File
@@ -0,0 +1,10 @@
/**
* core-js 2.6.11
* https://github.com/zloirock/core-js
* License: http://rock.mit-license.org
* © 2019 Denis Pushkarev
*/
!function(e,i,Jt){"use strict";!function(r){var e={};function __webpack_require__(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return r[t].call(n.exports,n,n.exports,__webpack_require__),n.l=!0,n.exports}__webpack_require__.m=r,__webpack_require__.c=e,__webpack_require__.d=function(t,n,r){__webpack_require__.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(t){var n=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(n,"a",n),n},__webpack_require__.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=134)}([function(t,n,r){var v=r(2),g=r(13),y=r(14),d=r(15),b=r(19),_="prototype",S=function(t,n,r){var e,i,o,u,c=t&S.F,f=t&S.G,a=t&S.P,s=t&S.B,l=f?v:t&S.S?v[n]||(v[n]={}):(v[n]||{})[_],h=f?g:g[n]||(g[n]={}),p=h[_]||(h[_]={});for(e in f&&(r=n),r)o=((i=!c&&l&&l[e]!==Jt)?l:r)[e],u=s&&i?b(o,v):a&&"function"==typeof o?b(Function.call,o):o,l&&d(l,e,o,t&S.U),h[e]!=o&&y(h,e,u),a&&p[e]!=o&&(p[e]=o)};v.core=g,S.F=1,S.G=2,S.S=4,S.P=8,S.B=16,S.W=32,S.U=64,S.R=128,t.exports=S},function(t,n,r){var e=r(3);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof i&&(i=r)},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n,r){var e=r(47)("wks"),i=r(37),o=r(2).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){t.exports=!r(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,n,r){var e=r(21),i=Math.min;t.exports=function(t){return 0<t?i(e(t),9007199254740991):0}},function(t,n,r){var i=r(1),o=r(98),u=r(23),c=Object.defineProperty;n.f=r(6)?Object.defineProperty:function defineProperty(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){var e=r(24);t.exports=function(t){return Object(e(t))}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n,r){var e=r(48),i=r(24);t.exports=function(t){return e(i(t))}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n){var r=t.exports={version:"2.6.11"};"number"==typeof e&&(e=r)},function(t,n,r){var e=r(8),i=r(31);t.exports=r(6)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var o=r(2),u=r(14),c=r(12),f=r(37)("src"),e=r(136),i="toString",a=(""+e).split(i);r(13).inspectSource=function(t){return e.call(t)},(t.exports=function(t,n,r,e){var i="function"==typeof r;i&&(c(r,"name")||u(r,"name",n)),t[n]!==r&&(i&&(c(r,f)||u(r,f,t[n]?""+t[n]:a.join(String(n)))),t===o?t[n]=r:e?t[n]?t[n]=r:u(t,n,r):(delete t[n],u(t,n,r)))})(Function.prototype,i,function toString(){return"function"==typeof this&&this[f]||e.call(this)})},function(t,n,r){var e=r(49),i=r(31),o=r(11),u=r(23),c=r(12),f=r(98),a=Object.getOwnPropertyDescriptor;n.f=r(6)?a:function getOwnPropertyDescriptor(t,n){if(t=o(t),n=u(n,!0),f)try{return a(t,n)}catch(r){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(12),i=r(9),o=r(71)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(0),i=r(4),u=r(24),c=/"/g,o=function(t,n,r,e){var i=String(u(t)),o="<"+n;return""!==r&&(o+=" "+r+'="'+String(e).replace(c,"&quot;")+'"'),o+">"+i+"</"+n+">"};t.exports=function(n,t){var r={};r[n]=t(o),e(e.P+e.F*i(function(){var t=""[n]('"');return t!==t.toLowerCase()||3<t.split('"').length}),"String",r)}},function(t,n,r){var o=r(10);t.exports=function(e,i,t){if(o(e),i===Jt)return e;switch(t){case 1:return function(t){return e.call(i,t)};case 2:return function(t,n){return e.call(i,t,n)};case 3:return function(t,n,r){return e.call(i,t,n,r)}}return function(){return e.apply(i,arguments)}}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(0<t?e:r)(t)}},function(t,n,r){var e=r(4);t.exports=function(t,n){return!!t&&e(function(){n?t.call(null,function(){},1):t.call(null)})}},function(t,n,r){var i=r(3);t.exports=function(t,n){if(!i(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!i(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!i(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&Line truncated
return get(this,1,t)[0]},getInt16:function getInt16(t){var n=get(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function getUint16(t){var n=get(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});d(m,b),d(w,_),c(w[S],u.VIEW,!0),n[b]=m,n[_]=w},function(t,n){t.exports=function(n,r){var e=r===Object(r)?function(t){return r[t]}:r;return function(t){return String(t).replace(n,e)}}},function(t,n,r){t.exports=!r(6)&&!r(4)(function(){return 7!=Object.defineProperty(r(69)("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){n.f=r(5)},function(t,n,r){var u=r(12),c=r(11),f=r(53)(!1),a=r(71)("IE_PROTO");t.exports=function(t,n){var r,e=c(t),i=0,o=[];for(r in e)r!=a&&u(e,r)&&o.push(r);for(;i<n.length;)u(e,r=n[i++])&&(~f(o,r)||o.push(r));return o}},function(t,n,r){var u=r(8),c=r(1),f=r(27);t.exports=r(6)?Object.defineProperties:function defineProperties(t,n){c(t);for(var r,e=f(n),i=e.length,o=0;o<i;)u.f(t,r=e[o++],n[r]);return t}},function(t,n,r){var e=r(11),i=r(39).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function getOwnPropertyNames(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(n){return u.slice()}}(t):i(e(t))}},function(t,n){t.exports=Object.is||function is(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){var o=r(10),u=r(3),c=r(76),f=[].slice,a={};t.exports=Function.bind||function bind(n){var r=o(this),e=f.call(arguments,1),i=function(){var t=e.concat(f.call(arguments));return this instanceof i?function(t,n,r){if(!(n in a)){for(var e=[],i=0;i<n;i++)e[i]="a["+i+"]";a[n]=Function("F,a","return new F("+e.join(",")+")")}return a[n](t,r)}(r,t.length,t):c(r,t,n)};return u(r.prototype)&&(i.prototype=r.prototype),i}},function(t,n,r){var e=r(20);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(3),i=Math.floor;t.exports=function isInteger(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n,r){var e=r(2).parseFloat,i=r(46).trim;t.exports=1/e(r(78)+"-0")!=-Infinity?function parseFloat(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(2).parseInt,i=r(46).trim,o=r(78),u=/^[-+]?0[xX]/;t.exports=8!==e(o+"08")||22!==e(o+"0x16")?function parseInt(t,n){var r=i(String(t),3);return e(r,n>>>0||(u.test(r)?16:10))}:e},function(t,n){t.exports=Math.log1p||function log1p(t){return-1e-8<(t=+t)&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){var o=r(80),e=Math.pow,u=e(2,-52),c=e(2,-23),f=e(2,127)*(2-c),a=e(2,-126);t.exports=Math.fround||function fround(t){var n,r,e=Math.abs(t),i=o(t);return e<a?i*(e/a/c+1/u-1/u)*a*c:f<(r=(n=(1+c/u)*e)-(n-e))||r!=r?i*Infinity:i*r}},function(t,n,r){var u=r(1);t.exports=function(t,n,r,e){try{return e?n(u(r)[0],r[1]):n(r)}catch(o){var i=t["return"];throw i!==Jt&&u(i.call(t)),o}}},function(t,n,r){var s=r(10),l=r(9),h=r(48),p=r(7);t.exports=function(t,n,r,e,i){s(n);var o=l(t),u=h(o),c=p(o.length),f=i?c-1:0,a=i?-1:1;if(r<2)for(;;){if(f in u){e=u[f],f+=a;break}if(f+=a,i?f<0:c<=f)throw TypeError("Reduce of empty array with no initial value")}for(;i?0<=f:f<c;f+=a)f in u&&(e=n(e,u[f],f,o));return e}},function(t,n,r){var a=r(9),s=r(38),l=r(7);t.exports=[].copyWithin||function copyWithin(t,n){var r=a(this),e=l(r.length),i=s(t,e),o=s(n,e),u=2<arguments.length?arguments[2]:Jt,c=Math.min((u===Jt?e:s(u,e))-o,e-i),f=1;for(o<i&&i<o+c&&(f=-1,o+=c-1,i+=c-1);0<c--;)o in r?r[i]=r[o]:delete r[i],i+=f,o+=f;return r}},function(t,n,r){var e=r(90);r(0)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(6)&&"g"!=/./g.flags&&r(8).f(RegExp.prototype,"flags",{configurable:!0,get:r(51)})},function(t,n){t.exports=function(t){try{return{e:!1,v:t()}}catch(n){return{e:!0,v:n}}}},function(t,n,r){var e=r(1),i=r(3),o=r(94);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){var e=r(119),i=r(44);t.exports=r(64)("Map",function(t){return function Map(){return t(this,0<arguments.length?arguments[0]:Jt)}},{get:function get(t){var n=e.getEntLine truncated
),h=r(7),p=r(91),v=r(61);r(62)("match",1,function(e,i,a,s){return[function match(t){var n=e(this),r=t==Jt?Jt:t[i];return r!==Jt?r.call(t,n):new RegExp(t)[i](String(n))},function(t){var n=s(a,t,this);if(n.done)return n.value;var r=l(t),e=String(this);if(!r.global)return v(r,e);for(var i,o=r.unicode,u=[],c=r.lastIndex=0;null!==(i=v(r,e));){var f=String(i[0]);""===(u[c]=f)&&(r.lastIndex=p(e,h(r.lastIndex),o)),c++}return 0===c?null:u}]})},function(t,n,r){var w=r(1),e=r(9),E=r(7),O=r(21),M=r(91),P=r(61),I=Math.max,F=Math.min,h=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(62)("replace",2,function(i,o,x,m){return[function replace(t,n){var r=i(this),e=t==Jt?Jt:t[o];return e!==Jt?e.call(t,r,n):x.call(String(r),t,n)},function(t,n){var r=m(x,t,this,n);if(r.done)return r.value;var e=w(t),i=String(this),o="function"==typeof n;o||(n=String(n));var u=e.global;if(u){var c=e.unicode;e.lastIndex=0}for(var f=[];;){var a=P(e,i);if(null===a)break;if(f.push(a),!u)break;""===String(a[0])&&(e.lastIndex=M(i,E(e.lastIndex),c))}for(var s,l="",h=0,p=0;p<f.length;p++){a=f[p];for(var v=String(a[0]),g=I(F(O(a.index),i.length),0),y=[],d=1;d<a.length;d++)y.push((s=a[d])===Jt?s:String(s));var b=a.groups;if(o){var _=[v].concat(y,g,i);b!==Jt&&_.push(b);var S=String(n.apply(Jt,_))}else S=getSubstitution(v,i,g,y,b,n);h<=g&&(l+=i.slice(h,g)+S,h=g+v.length)}return l+i.slice(h)}];function getSubstitution(o,u,c,f,a,t){var s=c+o.length,l=f.length,n=v;return a!==Jt&&(a=e(a),n=p),x.call(t,n,function(t,n){var r;switch(n.charAt(0)){case"$":return"$";case"&":return o;case"`":return u.slice(0,c);case"'":return u.slice(s);case"<":r=a[n.slice(1,-1)];break;default:var e=+n;if(0===e)return t;if(l<e){var i=h(e/10);return 0===i?t:i<=l?f[i-1]===Jt?n.charAt(1):f[i-1]+n.charAt(1):t}r=f[e-1]}return r===Jt?"":r})}})},function(t,n,r){var f=r(1),a=r(103),s=r(61);r(62)("search",1,function(e,i,u,c){return[function search(t){var n=e(this),r=t==Jt?Jt:t[i];return r!==Jt?r.call(t,n):new RegExp(t)[i](String(n))},function(t){var n=c(u,t,this);if(n.done)return n.value;var r=f(t),e=String(this),i=r.lastIndex;a(i,0)||(r.lastIndex=0);var o=s(r,e);return a(r.lastIndex,i)||(r.lastIndex=i),null===o?-1:o.index}]})},function(t,n,r){var s=r(57),b=r(1),_=r(52),S=r(91),x=r(7),m=r(61),l=r(90),e=r(4),w=Math.min,h=[].push,u="split",p="length",v="lastIndex",E=4294967295,O=!e(function(){RegExp(E,"y")});r(62)("split",2,function(i,o,g,y){var d;return d="c"=="abbc"[u](/(b)*/)[1]||4!="test"[u](/(?:)/,-1)[p]||2!="ab"[u](/(?:ab)*/)[p]||4!="."[u](/(.?)(.?)/)[p]||1<"."[u](/()()/)[p]||""[u](/.?/)[p]?function(t,n){var r=String(this);if(t===Jt&&0===n)return[];if(!s(t))return g.call(r,t,n);for(var e,i,o,u=[],c=0,f=n===Jt?E:n>>>0,a=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(e=l.call(a,r))&&!(c<(i=a[v])&&(u.push(r.slice(c,e.index)),1<e[p]&&e.index<r[p]&&h.apply(u,e.slice(1)),o=e[0][p],c=i,f<=u[p]));)a[v]===e.index&&a[v]++;return c===r[p]?!o&&a.test("")||u.push(""):u.push(r.slice(c)),f<u[p]?u.slice(0,f):u}:"0"[u](Jt,0)[p]?function(t,n){return t===Jt&&0===n?[]:g.call(this,t,n)}:g,[function split(t,n){var r=i(this),e=t==Jt?Jt:t[o];return e!==Jt?e.call(t,r,n):d.call(String(r),t,n)},function(t,n){var r=y(d,t,this,n,d!==g);if(r.done)return r.value;var e=b(t),i=String(this),o=_(e,RegExp),u=e.unicode,c=new o(O?e:"^(?:"+e.source+")",(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(O?"y":"g")),f=n===Jt?E:n>>>0;if(0===f)return[];if(0===i.length)return null===m(c,i)?[i]:[];for(var a=0,s=0,l=[];s<i.length;){c.lastIndex=O?s:0;var h,p=m(c,O?i:i.slice(s));if(null===p||(h=w(x(c.lastIndex+(O?0:s)),i.length))===a)s=S(i,s,u);else{if(l.push(i.slice(a,s)),l.length===f)return l;for(var v=1;v<=p.length-1;v++)if(l.push(p[v]),l.length===f)return l;s=a=h}}return l.push(i.slice(a)),l}]})},function(t,n,e){var r,i,o,u,c=e(32),f=e(2),a=e(19),s=e(34),l=e(0),h=e(3),p=e(10),v=e(42),g=e(36),y=e(52),d=e(92).set,b=e(93)(),_=e(94),S=e(116),x=e(63),m=e(117),w="Promise",E=f.TypeError,O=f.process,M=O&&O.versions,P=M&&M.v8||"",I=f[w],F="process"==s(O),A=function(){},k=i=_.f,j=!!function(){try{var t=I.resolve(1),n=(t.constructor={})[e(5)("species")]=function(t){t(A,A)};return(F||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof n&&0!==P.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(r){}}(),N=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},R=function(l,r){if(!l._n){l._n=!0;var e=l._c;b(function(){for(var a=l._v,s=1==l._s,t=0,n=function(t){var n,r,e,i=s?t.ok:t.fail,o=t.resolve,u=t.reject,c=t.domain;try{i?(s||(2==l._h&&L(l),l._h=1),!0===i?n=a:(c&&c.enter(),n=i(a),c&&(c.exit(),e=!0)),n===t.promise?u(E("Promise-chain cycle")):(r=N(n))?r.call(n,o,u):o(n)):u(a)}catch(f){c&&!e&&c.exit(),u(f)}};t<e.length;)n(e[t++]);l._c=[],l._n=!1,r&&!l._h&&T(l)})}},T=function(o){d.call(f,function(){var t,n,r,e=o._v,i=D(o);if(i&&(t=S(function(){F?O.emit("unhandledRejection",e,o):(n=f.onunhandledrejection)?n({promise:o,reason:e}):(r=f.consoleLine truncated
//# sourceMappingURL=core.min.js.map
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("ELEMENT",["vue"],t):"object"==typeof exports?exports.ELEMENT=t(require("vue")):e.ELEMENT=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=49)}([function(t,i){t.exports=e},function(e,t,i){var n=i(4);e.exports=function(e,t,i){return void 0===i?n(e,t,!1):n(e,i,!1!==t)}},function(e,t,i){var n;!function(r){"use strict";var s={},a=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,o="[^\\s]+",l=/\[([^]*?)\]/gm,u=function(){};function c(e,t){for(var i=[],n=0,r=e.length;n<r;n++)i.push(e[n].substr(0,t));return i}function h(e){return function(t,i,n){var r=n[e].indexOf(i.charAt(0).toUpperCase()+i.substr(1).toLowerCase());~r&&(t.month=r)}}function d(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e}var p=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"],m=c(f,3),v=c(p,3);s.i18n={dayNamesShort:v,dayNames:p,monthNamesShort:m,monthNames:f,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!=10)*e%10]}};var g={D:function(e){return e.getDay()},DD:function(e){return d(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return d(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return d(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return d(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return d(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return d(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+d(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},b={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+o,function(e,t){e.day=parseInt(t,10)}],M:["\\d\\d?",function(e,t){e.month=t-1}],yy:["\\d\\d?",function(e,t){var i=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?i-1:i)+t}],h:["\\d\\d?",function(e,t){e.hour=t}],m:["\\d\\d?",function(e,t){e.minute=t}],s:["\\d\\d?",function(e,t){e.second=t}],yyyy:["\\d{4}",function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:["\\d{3}",function(e,t){e.millisecond=t}],D:["\\d\\d?",u],ddd:[o,u],MMM:[o,h("monthNamesShort")],MMMM:[o,h("monthNames")],a:[o,function(e,t,i){var n=t.toLowerCase();n===i.amPm[0]?e.isPm=!1:n===i.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var i,n=(t+"").match(/([+-]|\d\d)/gi);n&&(i=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?i:-i)}]};b.dd=b.d,b.dddd=b.ddd,b.DD=b.D,b.mm=b.m,b.hh=b.H=b.HH=b.h,b.MM=b.M,b.ss=b.s,b.A=b.a,s.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},s.format=function(e,t,i){var n=i||s.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=s.masks[t]||t||s.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})Line truncated
+6
View File
@@ -0,0 +1,6 @@
/*!
* vue-router v3.1.6
* (c) 2020 Evan You
* @license MIT
*/
var t,e;t=this,e=function(){"use strict";function t(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function e(t,e){return e instanceof t||e&&(e.name===t.name||e._name===t._name)}function r(t,e){for(var r in e)t[r]=e[r];return t}var n={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,i=e.children,a=e.parent,c=e.data;c.routerView=!0;for(var u=a.$createElement,s=n.name,p=a.$route,f=a._routerViewCache||(a._routerViewCache={}),h=0,l=!1;a&&a._routerRoot!==a;){var d=a.$vnode?a.$vnode.data:{};d.routerView&&h++,d.keepAlive&&a._directInactive&&a._inactive&&(l=!0),a=a.$parent}if(c.routerViewDepth=h,l){var v=f[s],y=v&&v.component;return y?(v.configProps&&o(y,c,v.route,v.configProps),u(y,c,i)):u()}var m=p.matched[h],g=m&&m.components[s];if(!m||!g)return f[s]=null,u();f[s]={component:g},c.registerRouteInstance=function(t,e){var r=m.instances[s];(e&&r!==t||!e&&r===t)&&(m.instances[s]=e)},(c.hook||(c.hook={})).prepatch=function(t,e){m.instances[s]=e.componentInstance},c.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==m.instances[s]&&(m.instances[s]=t.componentInstance)};var b=m.props&&m.props[s];return b&&(r(f[s],{route:p,configProps:b}),o(g,c,p,b)),u(g,c,i)}};function o(t,e,n,o){var i=e.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}(n,o);if(i){i=e.props=r({},i);var a=e.attrs=e.attrs||{};for(var c in i)t.props&&c in t.props||(a[c]=i[c],delete i[c])}}var i=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},c=/%2C/g,u=function(t){return encodeURIComponent(t).replace(i,a).replace(c,",")},s=decodeURIComponent;function p(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var r=t.replace(/\+/g," ").split("="),n=s(r.shift()),o=r.length>0?s(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]}),e):e}function f(t){var e=t?Object.keys(t).map(function(e){var r=t[e];if(void 0===r)return"";if(null===r)return u(e);if(Array.isArray(r)){var n=[];return r.forEach(function(t){void 0!==t&&(null===t?n.push(u(e)):n.push(u(e)+"="+u(t)))}),n.join("&")}return u(e)+"="+u(r)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}var h=/\/?$/;function l(t,e,r,n){var o=n&&n.options.stringifyQuery,i=e.query||{};try{i=d(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:m(e,o),matched:t?y(t):[]};return r&&(a.redirectedFrom=m(r,o)),Object.freeze(a)}function d(t){if(Array.isArray(t))return t.map(d);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=d(t[r]);return e}return t}var v=l(null,{path:"/"});function y(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function m(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||f)(n)+o}function g(t,e){return e===v?t===e:!!e&&(t.path&&e.path?t.path.replace(h,"")===e.path.replace(h,"")&&t.hash===e.hash&&b(t.query,e.query):!(!t.name||!e.name)&&t.name===e.name&&t.hash===e.hash&&b(t.query,e.query)&&b(t.params,e.params))}function b(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t),n=Object.keys(e);return r.length===n.length&&r.every(function(r){var n=t[r],o=e[r];return"object"==typeof n&&"object"==typeof o?b(n,o):String(n)===String(o)})}function w(t,e,r){var n=t.charAt(0);if("/"===n)return t;if("?"===n||"#"===n)return e+t;var o=e.split("/");r&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var c=i[a];".."===c?o.pop():"."!==c&&o.push(c)}return""!==o[0]&&o.unshift(""),o.join("/")}function x(t){return t.replace(/\/\//g,"/")}var k=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},R=I,E=C,O=function(t,e){return $(C(t,e))},_=$,A=U,j=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function C(t,e){for(var r,n=[],o=0,i=0,a="",c=e&&e.delimiter||"/";null!=(r=j.exec(t));){var u=r[0],s=r[1],p=r.index;if(a+=t.slice(i,p),i=p+u.length,s)a+=s[1];else{var f=t[i],h=r[2],l=r[3],d=r[4],v=r[5],y=r[6],m=r[7];a&&(n.push(a),a="");var g=null!=h&&null!=f&&f!==h,b="+"===y||"*"===y,w="?"===y||"*"===y,x=r[2]||c,k=d||v;n.push({name:l||o++,prefix:h||"",delimiter:x,optional:w,repeat:b,partial:g,asterisk:!!m,pattern:k?P(k):m?".*":"[^"+T(x)+"]+?"})}}return i<t.length&&(a+=t.substr(i)),a&&n.push(a),n}function S(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function $(t){for(var e=new Array(t.length),r=0;r<t.length;r++)"object"==typeof t[r]&&(e[r]=new RegExp("^(?:"+t[r].pattern+")$"));return function(r,n){for(var o="",i=r||{},a=(n||{}).pretty?S:encodeURIComponent,c=0;c<t.length;c++){var u=t[c];if("string"!=typeof u){var s,p=i[u.name];if(null==pLine truncated
+6
View File
@@ -0,0 +1,6 @@
/*!
* Vue.js v2.6.11
* (c) 2014-2019 Evan You
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Vue=t()}(this,function(){"use strict";var e=Object.freeze({});function t(e){return null==e}function n(e){return null!=e}function r(e){return!0===e}function i(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function o(e){return null!==e&&"object"==typeof e}var a=Object.prototype.toString;function s(e){return"[object Object]"===a.call(e)}function c(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function u(e){return n(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function l(e){return null==e?"":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d=p("slot,component",!0),v=p("key,ref,slot,slot-scope,is");function h(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var _=/-(\w)/g,b=g(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():""})}),$=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w=/\B([A-Z])/g,C=g(function(e){return e.replace(w,"-$1").toLowerCase()});var x=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function k(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n<e.length;n++)e[n]&&A(t,e[n]);return t}function S(e,t,n){}var T=function(e,t,n){return!1},E=function(e){return e};function N(e,t){if(e===t)return!0;var n=o(e),r=o(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),a=Array.isArray(t);if(i&&a)return e.length===t.length&&e.every(function(e,n){return N(e,t[n])});if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||a)return!1;var s=Object.keys(e),c=Object.keys(t);return s.length===c.length&&s.every(function(n){return N(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n=0;n<e.length;n++)if(N(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var L="data-server-rendered",M=["component","directive","filter"],I=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],F={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:E,mustUseProp:T,async:!0,_lifecycleHooks:I},P=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H=new RegExp("[^"+P.source+".$_\\d]");var B,U="__proto__"in{},z="undefined"!=typeof window,V="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,K=V&&WXEnvironment.platform.toLowerCase(),J=z&&window.navigator.userAgent.toLowerCase(),q=J&&/msie|trident/.test(J),W=J&&J.indexOf("msie 9.0")>0,Z=J&&J.indexOf("edge/")>0,G=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===K),X=(J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\/(\d+)/)),Y={}.watch,Q=!1;if(z)try{var ee={};Object.defineProperty(ee,"passive",{get:function(){Q=!0}}),window.addEventListener("test-passive",null,ee)}catch(e){}var te=function(){return void 0===B&&(B=!z&&!V&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),B},ne=z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return"function"==typeof e&&/native code/.test(e.toString())}var ie,oe="undefined"!=typeof Symbol&&re(Symbol)&&"undefined"!=typeof Reflect&&re(Reflect.ownKeys);ie="undefined"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ae=S,se=0,ce=function(){this.id=se++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){h(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},ce.target=Line truncated
+6
View File
@@ -0,0 +1,6 @@
/**
* vuex v3.1.3
* (c) 2020 Evan You
* @license MIT
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Vuex=e()}(this,function(){"use strict";var t=("undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function e(t,e){Object.keys(t).forEach(function(n){return e(t[n],n)})}function n(t){return null!==t&&"object"==typeof t}var o=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},i={namespaced:{configurable:!0}};i.namespaced.get=function(){return!!this._rawModule.namespaced},o.prototype.addChild=function(t,e){this._children[t]=e},o.prototype.removeChild=function(t){delete this._children[t]},o.prototype.getChild=function(t){return this._children[t]},o.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},o.prototype.forEachChild=function(t){e(this._children,t)},o.prototype.forEachGetter=function(t){this._rawModule.getters&&e(this._rawModule.getters,t)},o.prototype.forEachAction=function(t){this._rawModule.actions&&e(this._rawModule.actions,t)},o.prototype.forEachMutation=function(t){this._rawModule.mutations&&e(this._rawModule.mutations,t)},Object.defineProperties(o.prototype,i);var r,s=function(t){this.register([],t,!1)};s.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},s.prototype.getNamespace=function(t){var e=this.root;return t.reduce(function(t,n){return t+((e=e.getChild(n)).namespaced?n+"/":"")},"")},s.prototype.update=function(t){!function t(e,n,o){n.update(o);if(o.modules)for(var i in o.modules){if(!n.getChild(i))return;t(e.concat(i),n.getChild(i),o.modules[i])}}([],this.root,t)},s.prototype.register=function(t,n,i){var r=this;void 0===i&&(i=!0);var s=new o(n,i);0===t.length?this.root=s:this.get(t.slice(0,-1)).addChild(t[t.length-1],s);n.modules&&e(n.modules,function(e,n){r.register(t.concat(n),e,i)})},s.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var a=function(e){var n=this;void 0===e&&(e={}),!r&&"undefined"!=typeof window&&window.Vue&&m(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new s(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new r,this._makeLocalGettersCache=Object.create(null);var a=this,c=this.dispatch,u=this.commit;this.dispatch=function(t,e){return c.call(a,t,e)},this.commit=function(t,e,n){return u.call(a,t,e,n)},this.strict=i;var f=this._modules.root.state;p(this,f,[],this._modules.root),h(this,f),o.forEach(function(t){return t(n)}),(void 0!==e.devtools?e.devtools:r.config.devtools)&&function(e){t&&(e._devtoolHook=t,t.emit("vuex:init",e),t.on("vuex:travel-to-state",function(t){e.replaceState(t)}),e.subscribe(function(e,n){t.emit("vuex:mutation",e,n)}))}(this)},c={state:{configurable:!0}};function u(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function f(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;p(t,n,[],t._modules.root,!0),h(t,n,e)}function h(t,n,o){var i=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var s=t._wrappedGetters,a={};e(s,function(e,n){a[n]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})});var c=r.config.silent;r.config.silent=!0,t._vm=new r({data:{$$state:n},computed:a}),r.config.silent=c,t.strict&&function(t){t._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}(t),i&&(o&&t._withCommit(function(){i._data.$$state=null}),r.nextTick(function(){return i.$destroy()}))}function p(t,e,n,o,i){var s=!n.length,a=t._modules.getNamespace(n);if(o.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=o),!s&&!i){var c=l(e,n.slice(0,-1)),u=n[n.length-1];t._withCommit(function(){r.set(c,u,o.state)})}var f=o.context=function(t,e,n){var o=""===e,i={dispatch:o?t.dispatch:function(n,o,i){var r=d(n,o,i),s=r.payload,a=r.options,c=r.type;return a&&a.root||(c=e+c),t.dispatch(c,s)},commit:o?t.commit:function(n,o,i){var r=d(n,o,i),s=r.payload,a=r.options,c=r.type;a&&a.root||(c=e+c),t.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:o?function(){return t.getters}:function(){return function(t,e){if(!t._makeLocalGettersCache[e]){var n={},o=e.length;Object.keys(t.getters).forEach(function(i){if(i.slice(0,o)===e){var r=i.slice(o);Object.defineProperty(n,r,{get:function(){return t.getters[i]Line truncated
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

+109
View File
@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 559.74 559.74">
<defs>
<style>.cls-1{fill:#fff;}.cls-2,.cls-6{fill:#1b1e36;}.cls-2{stroke:#4a4f6e;stroke-dasharray:8.99;}.cls-10,.cls-11,.cls-12,.cls-2,.cls-7,.cls-8,.cls-9{stroke-width:17.98px;}.cls-3{mask:url(#mask);}.cls-4{}.cls-10,.cls-11,.cls-12,.cls-5,.cls-7,.cls-8,.cls-9{fill:none;}.cls-5{stroke:#707491;stroke-width:11.99px;}.cls-7{stroke:#f9a239;}.cls-8{stroke:#c7ad54;}.cls-9{stroke:#5183c3;}.cls-10{stroke:#af60a6;}.cls-11{stroke:#577aa2;}.cls-12{stroke:#8ba8c5;}</style>
<mask id="mask" x="8.99" y="8.99" width="541.76" height="541.76" maskUnits="userSpaceOnUse">
<g id="mask-4">
<circle id="path-3" class="cls-1" cx="279.87" cy="279.87" r="237.02"/>
</g>
</mask>
</defs>
<title>Asset 2</title>
<g id="Layer_2">
<g id="Layer_1-2">
<g id="outset-circle">
<path id="path-1" class="cls-2" d="M279.87,550.75c149.6,0,270.88-121.28,270.88-270.88S429.47,9,279.87,9,9,130.27,9,279.87,130.27,550.75,279.87,550.75Z"/>
</g>
<g id="logo">
<g class="cls-3">
<image id="Logo-2" class="cls-4" width="1024" height="1024" transform="translate(8.99 8.99) scale(0.53)" xlink:href="data:image/png;base64,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 truncated
</g>
</g>
<circle id="inset-circle" class="cls-5" cx="279.87" cy="279.87" r="249.72"/>
<g id="zones-1">
<g id="mini_btc">
<g id="Oval-Copy">
<circle id="path-5" class="cls-6" cx="279.85" cy="30.13" r="21.13"/>
<circle class="cls-7" cx="279.85" cy="30.13" r="14.79"/>
</g>
</g>
<g id="mini_zec">
<g id="Oval-Copy-2">
<circle id="path-6" class="cls-6" cx="279.85" cy="529.56" r="21.13"/>
<circle class="cls-8" cx="279.85" cy="529.56" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy">
<g id="mini_btc-2">
<g id="Oval-Copy-3">
<circle id="path-7" class="cls-6" cx="404.72" cy="63.58" r="21.13"/>
<circle class="cls-7" cx="404.72" cy="63.58" r="14.79"/>
</g>
</g>
<g id="mini_zec-2">
<g id="Oval-Copy-4">
<circle id="path-8" class="cls-6" cx="155" cy="496.1" r="21.13"/>
<circle class="cls-8" cx="155" cy="496.1" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-2">
<g id="mini_omg">
<g id="Oval-Copy-5">
<circle id="path-9" class="cls-6" cx="496.14" cy="154.98" r="21.13"/>
<circle class="cls-9" cx="496.14" cy="154.98" r="14.79"/>
</g>
</g>
<g id="mini_cryptokitties">
<g id="Oval-Copy-6">
<circle id="path-10" class="cls-6" cx="63.62" cy="404.7" r="21.13"/>
<circle class="cls-10" cx="63.62" cy="404.7" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-3">
<g id="mini_omg-2">
<g id="Oval-Copy-7">
<circle id="path-11" class="cls-6" cx="529.61" cy="279.85" r="21.13"/>
<circle class="cls-9" cx="529.61" cy="279.85" r="14.79"/>
</g>
</g>
<g id="mini_cryptokitties-2">
<g id="Oval-Copy-8">
<circle id="path-12" class="cls-6" cx="30.18" cy="279.85" r="21.13"/>
<circle class="cls-10" cx="30.18" cy="279.85" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-4">
<g id="mini_shapeshift">
<g id="Oval-Copy-9">
<circle id="path-13" class="cls-6" cx="496.16" cy="404.72" r="21.13"/>
<circle class="cls-11" cx="496.16" cy="404.72" r="14.79"/>
</g>
</g>
<g id="mini_ethermint">
<g id="Oval-Copy-10">
<circle id="path-14" class="cls-6" cx="63.64" cy="155" r="21.13"/>
<circle class="cls-12" cx="63.64" cy="155" r="14.79"/>
</g>
</g>
</g>
<g id="zones-1-copy-5">
<g id="mini_shapeshift-2">
<g id="Oval-Copy-11">
<circle id="path-15" class="cls-6" cx="404.76" cy="496.14" r="21.13"/>
<circle class="cls-11" cx="404.76" cy="496.14" r="14.79"/>
</g>
</g>
<g id="mini_ethermint-2">
<g id="Oval-Copy-12">
<circle id="path-16" class="cls-6" cx="155.04" cy="63.62" r="21.13"/>
<circle class="cls-12" cx="155.04" cy="63.62" r="14.79"/>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 319.97 320">
<defs>
<style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}.cls-3{fill:url(#linear-gradient-3);}.cls-4{fill:url(#linear-gradient-4);}.cls-5{fill:url(#linear-gradient-5);}.cls-6{fill:url(#linear-gradient-6);}.cls-7{fill:url(#linear-gradient-7);}</style>
<linearGradient id="linear-gradient" x1="36.16" y1="24.77" x2="285.75" y2="274.37" gradientTransform="matrix(1, 0, 0, -1, -5.41, 313.57)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#189dd8"/>
<stop offset="0.5" stop-color="#694ea0"/>
<stop offset="1" stop-color="#ed3855"/>
</linearGradient>
<linearGradient id="linear-gradient-2" x1="63.4" y1="-2.47" x2="312.99" y2="247.13" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-3" x1="134.61" y1="-73.68" x2="384.2" y2="175.91" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-4" x1="109.22" y1="-48.29" x2="358.82" y2="201.3" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-5" x1="-36.5" y1="97.43" x2="213.1" y2="347.02" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-6" x1="-61.81" y1="122.74" x2="187.78" y2="372.33" xlink:href="#linear-gradient"/>
<linearGradient id="linear-gradient-7" x1="9.4" y1="51.53" x2="258.99" y2="301.12" xlink:href="#linear-gradient"/>
</defs>
<title>Asset 1</title>
<g id="Layer_2">
<g id="Layer_1-2">
<path class="cls-1" d="M97.11,231.9l-73.39,8.26,43.09-99.45L22.68,80.5,130,68.3l29.16-67L223,88.1l73.41-8.26-42.9,99,43.81,59.74L190.59,250.72l-29.6,68Zm30.48-6.6a51.53,51.53,0,0,1-8.91,3.38l-2.8.78,41.39,56.26L172,251.94l-2.65-.34a52.91,52.91,0,0,1-36.1-21.36l-4.12-5.68Zm-14.39-51,33.39,46.2a36.31,36.31,0,0,0,29.33,15,35.61,35.61,0,0,0,4-.22L267,225.36l-34.69-47.31a35.77,35.77,0,0,0-5.91-6.32l-2-1.7-24.82,56-43.19-57.2Zm1.46-56.25A36.28,36.28,0,0,0,85.29,139.7l-35,80.74,58.12-6.53a35.22,35.22,0,0,0,8.4-2l2.48-.92L83.37,161.34l70.92-9,16.85-40.28Zm54.86,40.74,26.29,34.81,16-36.2,7.09-15.9a36.52,36.52,0,0,0-4-36.37L162.83,34.28,139.41,88.11a36,36,0,0,0-2.49,8.31L136.47,99l60.76-6.43Zm63.84-55.14,1,2.47a53.49,53.49,0,0,1-.39,42.1l-2.83,6.42,1.39.94a51,51,0,0,1,7.37,6.07l2.08,2,27.8-64.15ZM53,93.8,75.11,124l1.62-2.1a53,53,0,0,1,36.2-20.39l7-.73.12-1.69a52,52,0,0,1,1.75-10.37l.79-2.87Z"/>
<path class="cls-2" d="M144.51,320A158.79,158.79,0,0,1,29.93,253.61l18.54-2.11c3.08,3.77,6.34,7.39,9.71,10.77a142.87,142.87,0,0,0,72.93,39.48Z"/>
<path class="cls-3" d="M183.17,302.82a142.36,142.36,0,0,0,78.65-40.52c1.93-1.94,3.89-4,5.82-6.2l22.51-2.6A158.89,158.89,0,0,1,175.7,320Z"/>
<path class="cls-4" d="M294.72,211.3a146.54,146.54,0,0,0,2-96.94l9-20.8a161.83,161.83,0,0,1,0,132.8Z"/>
<path class="cls-5" d="M14.33,226.58a161.85,161.85,0,0,1,.16-133.51l11,15a146.46,146.46,0,0,0-2.17,97.7Z"/>
<path class="cls-6" d="M30.59,65.5A159,159,0,0,1,144.42,0L137,17.16A142.34,142.34,0,0,0,58.18,57.7c-1.63,1.63-3.28,3.38-4.92,5.19Z"/>
<path class="cls-7" d="M271.59,68.5c-3.08-3.78-6.34-7.4-9.72-10.79a142.81,142.81,0,0,0-72.8-39.45L175.59,0A158.89,158.89,0,0,1,290.08,66.4Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 193.63 213">
<defs>
<style>.cls-1{opacity:0.2;}.cls-2{fill:#ff564f;}</style>
</defs>
<title>Kava Logo</title>
<g id="Layer_2">
<g id="Layer_1-2">
<g class="cls-1">
<polygon class="cls-2" points="30 213 111.63 106.85 30 0 20.25 38.34 72.81 106.85 22.66 171.3 30 213"/>
</g>
<polygon class="cls-2" points="154.34 213 72.21 106.85 154.13 0 193 0 111.03 106.85 193.63 213 154.34 213"/>
<rect class="cls-2" width="30" height="213"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 537 B

+84
View File
@@ -0,0 +1,84 @@
@font-face {font-family: "iconfont";
src: url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.eot?t=1586054362501'); /* IE9 */
src: url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.eot?t=1586054362501#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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 truncated
url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.woff?t=1586054362501') format('woff'),
url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.ttf?t=1586054362501') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('//at.alicdn.com/t/font_1354695_s8x4f0y8kce.svg?t=1586054362501#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-yuyanqiehuan:before {
content: "\e70e";
}
.icon-lvzhou_yuyanqiehuan:before {
content: "\e982";
}
.icon-shishi:before {
content: "\e63e";
}
.icon-data-1:before {
content: "\e602";
}
.icon-nodata:before {
content: "\e648";
}
.icon-gas:before {
content: "\e60f";
}
.icon-ledger:before {
content: "\e601";
}
.icon-BlockTime:before {
content: "\e600";
}
.icon-BondedTokens:before {
content: "\e625";
}
.icon-validators:before {
content: "\e609";
}
.icon-transactions:before {
content: "\e6bf";
}
.icon-governance:before {
content: "\e68f";
}
.icon-block:before {
content: "\e60b";
}
.icon-bangzhu:before {
content: "\e603";
}
.icon-dingdan:before {
content: "\e69d";
}
.icon-zanwushuju:before {
content: "\e716";
}
.icon-guanliyuan:before {
content: "\e7b0";
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 KiB

+28
View File
@@ -0,0 +1,28 @@
{
"name": "look",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "pm2 start pm2.json",
"dev": "nodemon src/main.js",
"test": "node app.js"
},
"keywords": [],
"author": "dingyiming",
"license": "ISC",
"dependencies": {
"compression": "^1.7.4",
"dayjs": "^1.8.23",
"dotenv": "^8.2.0",
"express": "^4.16.3",
"express-useragent": "^1.0.13",
"express-validator": "^6.4.0",
"http-proxy-middleware": "^0.19.0",
"mongoose": "^5.9.7",
"nunjucks": "^3.1.3"
},
"devDependencies": {
"nodemon": "^2.0.3"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"apps": [{
"name": "look",
"script": "./src/main.js",
"out_fil": "~/look.log",
"watch": true,
"instances" : "1",
"exec_mode" : "cluster"
}]
}
+12
View File
@@ -0,0 +1,12 @@
const mongoose = require("mongoose");
mongoose.set("useCreateIndex", true);
mongoose.connect(`mongodb://${process.env.Mongodb_url}?authSource=admin`, {
useNewUrlParser: true,
useUnifiedTopology: true,
user: process.env.Mongodb_user,
pass: process.env.Mongodb_pwd,
});
const db = mongoose.connection;
db.once("open", () => {
console.log("[dingyi]小芒果连上了~~");
});
+15
View File
@@ -0,0 +1,15 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-04-10 12:40:50
* @LastEditors: dingyi
* @LastEditTime: 2020-04-13 11:39:02
* @FilePath: /look-web/server/src/base/router.js
*/
const api = require('../routes/index.js')
module.exports = (app) => {
app.use('/look', api)
app.use('/look', (req, res) => { res.send('look.ping.pub') })
}
+57
View File
@@ -0,0 +1,57 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-04-13 11:21:32
* @LastEditors: dingyi
* @LastEditTime: 2020-04-13 14:50:25
* @FilePath: /look-web/server/src/base/utils.js
*/
const { validationResult } = require("express-validator");
exports.ok = ok
function ok(res, data, other) {
let obj = {
code: 1,
msg: "ok",
data,
};
if (other) {
obj = {
...obj,
...other,
};
}
res.json(obj);
}
function routerGet(router, uri, valid, logic) {
router.get(uri, valid(), (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty())
return ok(res, null, {
code: 2,
msg: errors.array()[0].msg,
data: errors.array(),
});
logic(req, res);
});
}
function routerPost(router, uri, valid, logic) {
router.post(uri, valid(), (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty())
return ok(res, null, {
code: 2,
msg: errors.array()[0].msg,
data: errors.array(),
});
logic(req, res);
});
}
exports.routerRun = {
get: routerGet,
post: routerPost
}
+123
View File
@@ -0,0 +1,123 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-04-13 23:03:22
* @LastEditors: dingyi
* @LastEditTime: 2020-04-13 23:53:51
* @FilePath: \look-web\server\src\initChains.js
*/
module.exports = {
Mainnet: [
{
"chainId": "cosmoshub-3",
"lcd": "https://lcd.nylira.net",
"logo": "/static/chains/cosmoshub.svg",
"name": "Cosmos Hub",
"rpc": "https://rpc.nylira.net",
"version": "0.32.7",
"api": 'V1',
"unit": 'ATOM',
"prefix": 'cosmos',
"host": 'cosmos.ping.pub',
},
{
"chainId": "kava-2",
"lcd": "https://kava-relay.01node.com",
"logo": "/static/chains/kava.svg",
"name": "Kava",
"rpc": "http://13.125.71.131:26657",
"version": "0.32.7",
"api": 'V1',
"unit": 'KAVA',
"prefix": 'kava',
"host": 'kava.ping.pub'
},
{
"chainId": "irishub",
"lcd": "https://rpc.irisnet.org",
"logo": "/static/chains/irishub.svg",
"name": "IRISnet",
"rpc": "http://seed-1.mainnet.irisnet.org:26657",
"version": "0.32.1",
"api": 'V2',
"unit": 'IRIS',
"prefix": 'iaa',
"host": 'iris.ping.pub'
},
{
"chainId": "e-money",
"lcd": "http://emoney.validator.network/light",
"logo": "/static/chains/cosmoshub.svg",
"name": "e-money",
"rpc": "https://emoney.validator.network",
"version": "0.32.7",
"api": 'V1',
"unit": '',
"prefix": '', // 地址前缀
"host": 'e-money.ping.pub'
}
],
Testnet: [
{
"chainId": "sentinelhub-test",
"lcd": "https://lcd.turing.sentinel.co",
"logo": "/static/chains/cosmoshub.svg",
"name": "Sentinel Network",
"rpc": "https://rpc.turing.sentinel.co",
"version": "0.32.7",
"api": 'V1',
"prefix": '',
"unit": '',
"host": 'sentinel-test.ping.pub'
},
{
"chainId": "cell-test-01",
"lcd": "http://sz1.icell.one:1317",
"logo": "/static/chains/cosmoshub.svg",
"name": "Cell Network",
"rpc": "http://sz1.icell.one:26657",
"version": "0.32.7",
"prefix": 'cosmos',
"api": 'V1',
"unit": '',
"host": 'cell-test.ping.pub'
},
{
"chainId": "cyber-test",
"lcd": "https://titan.cybernode.ai/lcd",
"logo": "/static/chains/cosmoshub.svg",
"name": "cyber",
"rpc": "https://titan.cybernode.ai/api",
"version": "0.32.7",
"api": 'V1',
"prefix": '',
"unit": '',
"host": 'cyber-test.ping.pub'
},
{
"chainId": "e-money-test",
"lcd": "https://lilmermaid.validator.network/light",
"logo": "/static/chains/cosmoshub.svg",
"name": "e-money",
"rpc": "https://lilmermaid.validator.network",
"version": "0.32.7",
"api": 'V1',
"unit": '',
"prefix": '', // 地址前缀
"host": 'e-money-test.ping.pub'
},
// {
// "chainId": "new-test",
// "lcd": "https://lcd.nylira.net",
// "logo": "/static/chains/cosmoshub.svg",
// "name": "Genesis Test",
// "rpc": "https://rpc.nylira.net",
// "version": "0.32.7",
// "api": 'V1',
// "unit": 'ATOM',
// "prefix": 'cosmos',
// "host": '',
// "genesis_time": '2020-05-01'
// },
]
}
+92
View File
@@ -0,0 +1,92 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-03-27 11:41:45
* @LastEditors: Please set LastEditors
* @LastEditTime: 2020-04-16 00:20:19
* @FilePath: \look-web\server\src\main.js
*/
// 环境配置
require('dotenv').config()
// 数据库
require('./base/mongodb.js')
var express = require('express');
var app = express();
app.use(express.json());
var router = express.Router();
// gzip
const compression = require('compression')
app.use(compression())
// ua
var useragent = require('express-useragent');
app.use(useragent.express());
// proxy
var proxy = require('http-proxy-middleware');
// 根据请求转发
app.use('/api*', proxy({
target: 'https://lcd.nylira.net',
changeOrigin: true,
pathRewrite: {
['^/api']: ''
},
router: function (req) {
return req.headers.server || 'https://lcd.nylira.net';
}
}))
router.get('/', function (req, res, next) {
var isMobile = req.useragent.isMobile
console.log('移动端', isMobile)
let render = isMobile ? 'm.html' : 'index.html'
res.render(render);
});
router.get('/validator', function (req, res, next) {
res.redirect('/#/validator');
});
router.get('/uptime', function (req, res, next) {
res.redirect('/#/uptime');
});
router.get('/block', function (req, res, next) {
res.redirect('/#/block');
});
router.get('/proposal', function (req, res, next) {
res.redirect('/#/governance');
});
router.get('/parameter', function (req, res, next) {
res.redirect('/#/parameter');
});
app.use('/', router);
// 路由
require('./base/router.js')(app)
var nunjucks = require('nunjucks')
nunjucks.configure('dist', {
autoescape: true,
express: app
});
// static cache
var path = require('path');
app.use(express.static(path.join(__dirname, '../dist'), {
maxAge: '1y',
expires: '1y',
Etag: false,
lastModified: false
}));
var server = app.listen(process.env.PORT, function () {
var host = server.address().address;
var port = server.address().port;
console.log('app listening at http://%s:%s', host, port);
});
+60
View File
@@ -0,0 +1,60 @@
/*
* @Description:
{
"chainId": "cosmoshub-3",
"lcd": "https://lcd.nylira.net",
"logo": "/static/chains/cosmoshub.svg",
"name": "Cosmos Hub",
"rpc": "https://rpc.nylira.net",
"version": "0.32.7",
"api": 'V1',
"unit": 'ATOM',
"prefix": 'cosmos',
"host": isDev ? '' : 'cosmos.ping.pub'
},
* @Autor: dingyi
* @Date: 2020-04-13 11:13:34
* @LastEditors: dingyi
* @LastEditTime: 2020-04-13 23:16:37
* @FilePath: \look-web\server\src\models\chain.js
*/
var mongoose = require('mongoose');
const dayjs = require('dayjs')
var Schema = mongoose.Schema;
const tableSchema = new Schema({
// 分类 Mainnet Testnet GOZ
type: {
type: String, index: true
},
// 显示名称
name: String,
logo: String,
chainId: String,
desc: String,
lcd: String,
rpc: String,
version: String,
// 接口版本 V1 类 cosmoshub V2 类 irishub
api: String,
unit: String,
prefix: String,
host: String,
genesis_time: Date,
// 创建时间
created: { type: Date, default: Date.now },
// 更新时间
updated: { type: Date, default: Date.now }
})
tableSchema.methods.toJSONObject = function () {
return {
name: this.name,
logo: this.logo,
code: this.code,
created: dayjs(this.created).format('YYY MM DD HH:MM:ss'),
updated: dayjs(this.updated).format('YYY MM DD HH:MM:ss')
}
}
module.exports = mongoose.model("look_chain", tableSchema);
+36
View File
@@ -0,0 +1,36 @@
/*
* @Description: 创建链
* @Autor: dingyi
* @Date: 2020-04-13 11:20:07
* @LastEditors: dingyi
* @LastEditTime: 2020-04-25 21:59:43
* @FilePath: \look-web\server\src\routes\chain_create.js
*/
const { ok, routerRun } = require("../base/utils.js");
const { body } = require("express-validator");
const Chain = require("../models/chain");
module.exports = (router) => {
// 路由
const uri = "/chain/create";
// 验证
const valid = () => {
return [
body("name").notEmpty(),
body("lcd").notEmpty(),
body("rpc").notEmpty(),
body("api").notEmpty(),
body("type").notEmpty()
];
};
// 逻辑
const logic = async (req, res) => {
const row = new Chain({ ...req.body });
await row.save();
ok(res);
};
// 封装
routerRun.post(router, uri, valid, logic)
};
+42
View File
@@ -0,0 +1,42 @@
/*
* @Description: 创建链
* @Autor: dingyi
* @Date: 2020-04-13 11:20:07
* @LastEditors: dingyi
* @LastEditTime: 2020-04-15 22:26:50
* @FilePath: /look-web/server/src/routes/chain_delete.js
*/
const { ok, routerRun } = require("../base/utils.js");
const { body } = require("express-validator");
const mongoose = require('mongoose');
const Chain = require("../models/chain");
module.exports = (router) => {
// 路由
const uri = "/chain/delete";
// 验证
const valid = () => {
return [
body("lookpwd").notEmpty(),
body("ids").notEmpty(),
body("lookpwd").custom(async (value, { req }) => {
if (value !== "@ping@dddd")
throw new Error("密码错误");
return true;
}),
];
};
// 逻辑
const logic = async (req, res) => {
const ids = req.body.ids
for (let id of ids) {
id = mongoose.Types.ObjectId(id);
}
const row = await Chain.deleteMany({ _id: { $in: ids } });
ok(res, row);
};
// 封装
routerRun.post(router, uri, valid, logic)
};
+38
View File
@@ -0,0 +1,38 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-04-13 22:38:46
* @LastEditors: dingyi
* @LastEditTime: 2020-04-13 23:10:45
* @FilePath: \look-web\server\src\routes\chain_init.js
*/
const { ok, routerRun } = require("../base/utils.js");
const Chain = require("../models/chain");
const initChains = require('../initChains')
module.exports = (router) => {
// 路由
const uri = "/chain/init";
// 验证
const valid = () => {
return [];
};
// 逻辑
const logic = async (req, res) => {
const Mainnet = initChains.Mainnet
for (const item of Mainnet) {
const row = new Chain({ ...item, type: 'Mainnet' });
await row.save();
}
const Testnet = initChains.Testnet
for (const item of Testnet) {
const row = new Chain({ ...item, type: 'Testnet' });
await row.save();
}
ok(res);
};
// 封装
routerRun.post(router, uri, valid, logic)
};
+29
View File
@@ -0,0 +1,29 @@
/*
* @Description: 查询链
* @Autor: dingyi
* @Date: 2020-04-13 11:20:07
* @LastEditors: dingyi
* @LastEditTime: 2020-04-15 22:34:02
* @FilePath: /look-web/server/src/routes/chain.js
*/
const { ok, routerRun } = require("../base/utils.js");
const Chain = require("../models/chain");
module.exports = (router) => {
// 路由
const uri = "/chain/list";
// 验证
const valid = () => {
return [
];
};
// 逻辑
const logic = async (req, res) => {
const rows = await Chain.find().exec()
ok(res, rows);
};
// 封装
routerRun.post(router, uri, valid, logic)
};
+68
View File
@@ -0,0 +1,68 @@
/*
* @Description: 查询链
* @Autor: dingyi
* @Date: 2020-04-13 11:20:07
* @LastEditors: dingyi
* @LastEditTime: 2020-04-25 21:55:10
* @FilePath: \look-web\server\src\routes\chain_type.js
*/
const { ok, routerRun } = require("../base/utils.js");
const { query } = require("express-validator");
const Chain = require("../models/chain");
module.exports = (router) => {
// 路由
const uri = "/chain/type";
// 验证
const valid = () => {
return [
];
};
// 逻辑
const logic = async (req, res) => {
const rows = await Chain.aggregate([
{
$group: {
_id: "$type",
chains: {
$push: {
hash: '$_id',
api: '$api',
chainId: '$chainId',
name: '$name',
lcd: '$lcd',
rpc: '$rpc',
logo: '$logo',
prefix: '$prefix',
unit: '$unit',
genesis_time: '$genesis_time',
host: '$host',
// version: '$version',
// type: '$type',
// created: '$created',
// updated: '$updated'
},
}
}
},
{
$sort: {
created: 1
}
}
]).exec()
const obj = {}
for (const item of rows) {
obj[item._id] = item.chains
}
ok(res, {
Mainnet: obj['Mainnet'],
Testnet: obj['Testnet'],
GoZ: obj['GoZ'],
});
};
// 封装
routerRun.get(router, uri, valid, logic)
};
+25
View File
@@ -0,0 +1,25 @@
/*
* @Description: routes list
* @Autor: dingyi
* @Date: 2020-04-08 16:30:15
* @LastEditors: dingyi
* @LastEditTime: 2020-04-15 22:27:07
* @FilePath: /look-web/server/src/routes/index.js
*/
const routes = [
'chain_create',
'chain_type',
'chain_init',
'chain_delete',
'chain_list'
]
const express = require('express')
const router = express.Router()
for (const item of routes) {
require(`./${item}`)(router)
}
module.exports = router
+128
View File
@@ -0,0 +1,128 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2020-12-11 15:29:37
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: /look-web/src/api/V1/request.js
*/
const get = (url) => ({ method: 'get', url, headers: { server: window.chain.lcd } })
const getRpc = (url) => ({ method: 'get', url, headers: { server: window.chain.rpc } })
export const getKavaCdpParameters = () => (get('/cdp/parameters'))
export const getKavaPricefeed = () => (get('/pricefeed/parameters'))
export const getKavaIncentive = () => (get('/incentive/parameters'))
export const getKavaBep3 = () => (get('/bep3/parameters'))
export const getKavaAuction = () => (get('/auction/parameters'))
// RPC ===
export const getRpcCommitHeight = ({ height }) => (getRpc(`/commit?height=${height}`))
export const getRpcBlockchain = ({ minHeight, maxHeight }) => (getRpc(`/blockchain?minHeight=${minHeight}&maxHeight=${maxHeight}`))
export const getRpcValidators = ({ height }) => (getRpc(`/validators?height=${height}`))
export const getRpcGenesis = () => (getRpc('/genesis'))
export const getRpcConsensus_state = () => (getRpc('/consensus_state'))
// 获取最新高度
export const getRpcAbciInfo = () => (getRpc('/abci_info'))
// LCD ===
// node info
// Auth
export const getAuthAccounts = ({ address }) => (get(`/auth/accounts/${address}`))
// Blocks
export const getBlocksLatest = () => (get('/blocks/latest'))
export const getBlocksHeight = ({ height }) => (get(`/blocks/${height}`))
// Distribution
export const getDistributionParameters = () => (get('/distribution/parameters'))
export const getDistributionDelegatorsRewards = ({ delegatorAddress }) => (get(`/distribution/delegators/${delegatorAddress}/rewards`))
// Gov
export const getGovParametersDeposit = () => (get('/gov/parameters/deposit'))
export const getGovParametersVoting = () => (get('/gov/parameters/voting'))
export const getGovParametersTallying = () => (get('/gov/parameters/tallying'))
// goverance
export const getGovProposals = () => (get('/gov/proposals'))
export const getGovProposalsId = ({ id }) => (get(`/gov/proposals/${id}`))
export const getGovProposalsDeposits = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/deposits`))
export const getGovProposalsVotes = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/votes`))
// committee
export const getCommitteeCommittees = () => {}
export const getCommitteeCommitteesId = ({ id }) => (get(`/committee/committees/${id}`))
// Slashing
export const getSlashingParameters = () => (get('/slashing/parameters'))
export const getSlashingValidatorsSigningInfo = ({ validatorAddress }) => (get(`/slashing/validators/${validatorAddress}/signing_info`))
export const getSupplyTotal = () => (get('/supply/total'))
export const getStakingPool = () => (get('/staking/pool'))
export const getStakingParameters = () => (get('/staking/parameters'))
export const getStakingValidators = ({ status }) => (get(`/staking/validators?status=${status || 'bonded'}`))
export const getStakingValidatorsObj = ({ status }) => (get(`/staking/validators?status=${status || 'bonded'}`))
export const getStakingValidatorsValidatorAddress = ({ validatorAddress }) => (get(`/staking/validators/${validatorAddress}`))
export const getStakingDelegatorsDelegations = ({ delegatorAddress }) => (get(`/staking/delegators/${delegatorAddress}/delegations`))
export const getStakingValidatorsDelegations = ({ validatorAddress }) => (get(`/staking/validators/${validatorAddress}/delegations`))
// Minting
export const getMintingParameters = () => (get('/minting/parameters'))
export const getMintingInflation = () => (get('/minting/inflation'))
export const getMintingAnnualProvisionsn = () => (get('/minting/annual-provisions'))
// Node
export const getNodeInfo = () => (get('/node_info'))
export const getNodeInfoRes = () => (get('/node_info'))
// Tx
export const getTxs = ({ height }) => {
const config = get('/txs')
config.params = {
'tx.height': height
}
return config
}
export const getTxsHistory = ({ address, page, }) => {
const config = get('/txs')
config.params = {
page,
limit: 10,
'message.sender': address
}
return config
}
export const getTxsHash = ({ hash }) => (get(`/txs/${hash}`))
// Validators
export const getValidatorsetsHeight = ({ height }) => (get(`/validatorsets/${height}`))
// POST ===
// post Send coins from one account to another
export function postBankAccountsTransfers({ address, chain_id, account_number, sequence, amount, denom, memo, simulate }) {
return {
method: 'post',
url: `/bank/accounts/${address}/transfers`,
data: {
base_req: {
"from": address,
"memo": memo || "Sent via look.ping.pub",
chain_id,
account_number,
sequence,
"gas": "200000",
"gas_adjustment": "2.3",
"fees": [
Coin({ amount, denom })
],
simulate
},
"amount": [
Coin({ amount, denom })
]
}
}
}
// post Broadcast a signed tx
export function postTxs({ txBroadcast }) {
const config = get('/txs')
config.method = 'post'
config.data = { ...txBroadcast }
return config
}
function Coin({ amount, denom }) {
return {
amount: String(amount),
denom
};
}
+466
View File
@@ -0,0 +1,466 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2020-12-11 15:09:36
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: \look-web\src\api\V1\response.js
*/
import { timeToDay, toDenom, toTimestamp, formatTime } from '../../utils/format'
import { createDisplayCoin, percent, twoDecimals, uatoms, atoms } from '../../utils/num'
import { addressToHex, validatorAddressToAccount } from '../../utils/b32'
import dayjs from 'dayjs'
import store from '../../store'
const commonResult = (res) => res.result
export function getNodeInfo(res) {
const { network, version } = res.node_info || {}
return {
network,
version
}
}
export function getNodeInfoRes(res) {
return res
}
export function getKavaCdpParameters(res) {
let result = commonResult(res);
result.debt_auction_lot = timeToDay(result.debt_auction_lot)
result.surplus_auction_lot = timeToDay(result.surplus_auction_lot)
result.debt_auction_threshold = timeToDay(result.debt_auction_threshold)
result.surplus_auction_threshold = timeToDay(result.surplus_auction_threshold)
result.savings_distribution_frequency = timeToDay(result.savings_distribution_frequency)
result.debt_param.savings_rate = percent(result.debt_param.savings_rate)
return result
}
export function getKavaPricefeed(res) { let result = commonResult(res); return result }
export function getKavaIncentive(res) {
let result = commonResult(res);
for (const item of result.rewards) {
item.duration = timeToDay(item.duration)
item.claim_duration = timeToDay(item.claim_duration)
item.time_lock = timeToDay(item.time_lock)
}
return result }
export function getKavaBep3(res) { let result = commonResult(res); return result }
export function getKavaAuction(res) {
let result = commonResult(res);
result.max_auction_duration = timeToDay(result.max_auction_duration)
result.bid_duration = timeToDay(result.bid_duration)
result.increment_collateral = percent(result.increment_collateral)
result.increment_surplus = percent(result.increment_surplus)
result.increment_debt = percent(result.increment_debt)
return result;
}
export function getAuthAccounts(res) {
const result = commonResult(res)
const { type, value } = result
let coins = value.coins[0]
coins = createDisplayCoin(coins)
return {
type,
available: coins.amount,
...value
}
}
export const postBankAccountsTransfers = (res) => Math.round(res.gas_estimate * 2.3)
export const getStakingParameters = (res) => {
const data = commonResult(res)
const { max_entries, max_validators, unbonding_time, bond_denom } = data
return {
max_entries,
max_validators,
unbonding_time: timeToDay(unbonding_time),
bond_denom: toDenom(bond_denom)
}
}
export const postTxs = (res) => (res)
function formatValidator(item) {
item.dailyChange = '--'
item.rewards = '--'
const { identity, moniker, website, details } = item.description
item.moniker = moniker
item.identity = identity
item.website = website
item.details = details
item.voting_power = atoms(Number(item.tokens)).toFixed(2) + ' ' + window.chain.unit // TODO: 单位问题
item.userAddress = validatorAddressToAccount(item.operator_address)
item.hexAddress = addressToHex(item.consensus_pubkey)
item.commission_rate = Number(item.commission.commission_rates.rate)
item.commission_rate_percent = percent(item.commission_rate)
item.commission_rate_max = Number(item.commission.commission_rates.max_rate)
item.commission_rate_max_percent = percent(item.commission_rate_max)
item.commission_rate_max_change = Number(item.commission.commission_rates.max_change_rate)
item.commission_rate_max_change_percent = percent(item.commission_rate_max_change)
if (item.unbonding_time) {
item.unbonding_time = formatTime(item.unbonding_time)
}
}
export const getStakingValidators = (res) => {
const data = commonResult(res)
data.sort((current, next) => {
formatValidator(current)
formatValidator(next)
return Number(next.tokens) - Number(current.tokens);
})
if (data.length === 1) formatValidator(data[0])
return res
}
export const getStakingValidatorsObj = (res) => {
const data = commonResult(res)
const hexObj = {}
const addressObj = {}
const validatorObj = {}
for (const item of data) {
formatValidator(item)
hexObj[item.hexAddress] = item
addressObj[item.userAddress] = item
validatorObj[item.operator_address] = item
}
return {
hexObj,
addressObj,
validatorObj
}
}
export const getGovParametersDeposit = (res) => {
const data = commonResult(res)
const coin = createDisplayCoin(data.min_deposit[0])
return {
min_deposit: coin.amount + coin.denom,
max_deposit_period: timeToDay(data.max_deposit_period)
}
}
export const getGovParametersVoting = (res) => {
const data = commonResult(res)
return {
voting_period: timeToDay(data.voting_period)
}
}
export const getGovParametersTallying = (res) => {
const data = commonResult(res)
const { quorum, threshold, veto } = data
return {
quorum: percent(quorum),
threshold: percent(threshold),
veto: percent(veto)
}
}
export const getSlashingParameters = (res) => {
const data = commonResult(res)
const { max_evidence_age, slash_fraction_downtime, downtime_jail_duration, signed_blocks_window, min_signed_per_window, slash_fraction_double_sign } = data
return {
max_evidence_age: timeToDay(max_evidence_age),
downtime_jail_duration: timeToDay(downtime_jail_duration),
signed_blocks_window: Number(signed_blocks_window),
min_signed_per_window: percent(min_signed_per_window),
slash_fraction_double_sign: percent(slash_fraction_double_sign),
slash_fraction_downtime: percent(slash_fraction_downtime)
}
}
export const getDistributionParameters = (res) => {
const data = commonResult(res)
const { community_tax, base_proposer_reward, bonus_proposer_reward, withdraw_addr_enabled } = data
return {
community_tax: percent(community_tax),
base_proposer_reward: percent(base_proposer_reward),
bonus_proposer_reward: percent(bonus_proposer_reward),
withdraw_addr_enabled: withdraw_addr_enabled ? "Enabled" : "Disabled"
}
}
export const getStakingValidatorsDelegations = (res) => {
const data = commonResult(res)
let total = 0
for (const item of data) {
total += Number(item.shares)
item.shares_str = atoms(Number(item.shares)) + ' ' + window.chain.unit
}
data.sort((now, next) => {
now.shares_percent = percent(Number(now.shares) / total)
next.shares_percent = percent(Number(next.shares) / total)
return Number(next.shares) - Number(now.shares)
})
if (data.length === 1) {
data[0].shares_percent = percent(Number(data[0].shares) / total)
}
return data
}
export const getSlashingValidatorsSigningInfo = (res) => {
const data = commonResult(res)
return {
missed_blocks_counter: data.missed_blocks_counter
}
}
export const getMintingParameters = (result) => {
const data = commonResult(result)
const { blocks_per_year, inflation_rate_change } = data
return {
blocks_per_year,
mint_denom: toDenom(data.mint_denom),
inflation_rate_change: percent(inflation_rate_change),
inflation_max: percent(data.inflation_max),
inflation_min: percent(data.inflation_min),
goal_bonded: percent(data.goal_bonded),
}
}
export const getMintingInflation = (res) => {
const data = commonResult(res)
return {
inflation: percent(data),
inflation_val: Number(data)
}
}
export const getMintingAnnualProvisionsn = (res) => {
const data = commonResult(res)
return {
annual_provisions: (Number(data) / 1000000).toFixed(0)
}
}
// /gov/proposals 方法
function dataFormat(item) {
const content = item.proposal_content || item.content
item.title = content.value.title;
item.description = content.value.description
item.description_sub = item.description.length > 200 ? (item.description).substr(0, 200) : item.description
const { voting_start_time, voting_end_time, deposit_end_time, submit_time, total_deposit } = item
item.total_deposit_str = total_deposit && total_deposit[0] && createDisplayCoin(total_deposit[0]) || '--'
item.submit_time = formatTime(submit_time)
item.voting_start_time = formatTime(voting_start_time)
item.voting_end_time = formatTime(voting_end_time)
item.deposit_end_time = formatTime(deposit_end_time)
// item.final_tally_result
const { yes, abstain, no, no_with_veto } = item.final_tally_result
// 参与总数
const total = yes && (Number(yes) + Number(abstain) + Number(no) + Number(no_with_veto)) || 1
item.yes = yes && twoDecimals(yes / total) || '--'
item.yes_percent = yes && percent(yes / total) || '--'
item.abstain = abstain && twoDecimals(abstain / total) || '--'
item.abstain_percent = abstain && percent(abstain / total) || '--'
item.no = no && twoDecimals(no / total) || '--'
item.no_percent = no && percent(no / total) || '--'
item.no_with_veto = no_with_veto && twoDecimals(no_with_veto / total) || '--'
item.no_with_veto_percent = no_with_veto && percent(no_with_veto / total) || '--'
item.type = content.type
// 质押总数
const bondedTokens = store.state.bondedTokens
if (bondedTokens) {
item.join = twoDecimals(total / bondedTokens)
item.join_percent = percent(total / bondedTokens)
}
}
// kava 投票接口
function formateCommitee(data) {
for (const item of data) {
item.vote_threshold_str = Number(item.vote_threshold).toFixed(2)
item.proposal_duration_str = item.proposal_duration
}
}
export function getCommitteeCommittees(res) {
const data = commonResult(res)
formateCommitee(data)
return data
}
export const getCommitteeCommitteesId = (res) => {
const data = commonResult(res)
formateCommitee(data)
return data
}
export const getGovProposals = (res) => {
const data = commonResult(res)
data.sort((now, next) => {
dataFormat(now)
dataFormat(next)
return (
toTimestamp(next.submit_time) - toTimestamp(now.submit_time)
);
});
if (data.length === 1) dataFormat(data[0])
return data
}
export const getGovProposalsId = (res) => {
const data = commonResult(res)
dataFormat(data)
return data
}
export const getBlocksLatest = (res) => {
const { block } = res
return {
height: Number(block.header.height)
}
}
export const getSupplyTotal = (res) => {
const data = commonResult(res)
const amount = Number(data[0].amount)
const amount_str = amount > 1000000
? (amount / 1000000 / 1000000).toFixed(2) + "M"
: (amount / 1000).toFixed(2) + "K"
return {
amount,
amount_str
}
}
export const getStakingPool = (res) => {
const data = commonResult(res)
let { bonded_tokens } = data
const bonded_tokens_val = Number(bonded_tokens)
bonded_tokens = bonded_tokens_val > 1000000
? (bonded_tokens_val / 1000000 / 1000000).toFixed(2) + "M"
: (bonded_tokens_val / 1000).toFixed(2) + "K"
return {
bonded_tokens_val,
bonded_tokens
}
}
export const getValidatorsetsHeight = (res) => {
const data = commonResult(res)
return data.validators
}
export const getTxs = (res) => (res)
export const getTxsHistory = (res) => {
res.txs.sort((current, next) => {
const dayCurrent = dayjs(current.timestap).valueOf()
const dayNext = dayjs(next.timestap).valueOf()
return dayCurrent - dayNext
})
return res
}
export const getGovProposalsDeposits = (res) => {
const data = commonResult(res) || []
for (const item of data) {
item.amountCoin = createDisplayCoin(item.amount[0])
item.amountCoin_str = item.amountCoin.amount + ' ' + item.amountCoin.denom
}
return data
}
// getGovProposalsVotes
export const getGovProposalsVotes = (res) => {
const data = commonResult(res) || []
return data
}
export const getBlocksHeight = (res) => {
return res
}
export const getTxsHash = (res) => (res)
export const getStakingValidatorsValidatorAddress = (res) => {
const data = (commonResult(res))
formatValidator(data)
return data
}
export const getStakingDelegatorsDelegations = (res) => {
const data = commonResult(res)
let delegated = 0
for (const item of data) {
item.shares = atoms(Number(item.shares))
delegated += Number(item.shares)
}
delegated += ''
return {
delegated,
delegations: data
}
}
export const getDistributionDelegatorsRewards = (res) => {
const data = commonResult(res)
const rewards = data.rewards || []
const obj = {}
for (const item of rewards) {
const coin = createDisplayCoin(item.reward[0])
item.amount = coin.amount
obj[item.validator_address] = {
amount: item.amount
}
}
const total = data.total[0] ? createDisplayCoin(data.total[0]) : { amount: '0' }
return {
rewardObj: obj,
reward: total.amount,
rewards
}
}
// RPC ===
export const getRpcAbciInfo = (res) => {
return {
last_block_height: res.response.last_block_height
}
}
export const getRpcCommitHeight = (res) => {
const data = commonResult(res)
const precommits = (data.signed_header && data.signed_header.commit && data.signed_header.commit.precommits) || (data.signed_header && data.signed_header.commit && data.signed_header.commit.signatures)
const obj = {}
for (const item of precommits) {
if (item) {
const { validator_address } = item
obj[validator_address] = true
}
}
return obj
}
export const getRpcValidators = (res) => {
const data = commonResult(res)
return data
}
// 创世节点
export const getRpcGenesis = (res) => {
const data = commonResult(res)
data.genesis_time = data.genesis.genesis_time
return data
}
export const getRpcConsensus_state = (res) => {
const data = commonResult(res)
const height_vote_set = data.round_state.height_vote_set
return {
height_vote_set
}
}
export const getRpcBlockchain = (res) => {
const data = commonResult(res)
const last_height = Number(data.last_height)
const block_metas = []
for (const item of data.block_metas) {
const { header, block_id } = item
const { num_txs, height, last_block_id, time } = header
header.block_hash = block_id.hash
header.num_txs = num_txs && Number(num_txs) || (item.num_txs && Number(item.num_txs))
header.last_block_hash = last_block_id.hash
header.time = formatTime(time)
block_metas.push(header)
}
return {
last_height,
block_metas
}
}
+130
View File
@@ -0,0 +1,130 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2021-03-10 16:46:43
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: \look-web\src\api\V2\request.js
*/
const get = (url) => ({ method: 'get', url, headers: { server: window.chain.lcd } })
const getRpc = (url) => ({ method: 'get', url, headers: { server: window.chain.rpc } })
// RPC ===
export const getRpcCommitHeight = ({ height }) => (getRpc(`/commit?height=${height}`))
export const getRpcBlockchain = ({ minHeight, maxHeight }) => (getRpc(`/blockchain?minHeight=${minHeight}&maxHeight=${maxHeight}`))
export const getRpcValidators = ({ height }) => (getRpc(`/validators?height=${height}`))
// 获取最新高度
export const getRpcAbciInfo = () => (getRpc('/abci_info'))
// LCD ===
// node info
// Auth
export const getAuthAccounts = ({ address }) => (get(`/auth/accounts/${address}`))
export const getValidatorsetsLatest = () => (get('/validatorsets/latest'))
// Blocks
export const getBlocksLatest = () => (get('/blocks/latest'))
export const getBlocksHeight = ({ height }) => (get(`/blocks/${height}`))
// Distribution
export const getDistributionParameters = () => (get('/params?module=distr'))
// Gov
export const getGovParametersDeposit = () => (false) //(get('/gov/parameters/deposit'))
export const getGovParametersVoting = () => (false)// (get('/gov/parameters/voting'))
export const getGovParametersTallying = () => (false) //(get('/gov/parameters/tallying'))
export const getGovProposals = () => (get('/gov/proposals'))
export const getGovProposalsId = ({ id }) => (get(`/gov/proposals/${id}`))
export const getGovProposalsDeposits = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/deposits`))
export const getGovProposalsVotes = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/votes`))
// Slashing
export const getSlashingParameters = () => (get('/params?module=slashing'))
export const getSlashingValidatorsSigningInfo = ({ validatorAddress }) => (get(`/slashing/validators/${validatorAddress}/signing-info`))
export const getSupplyTotal = () => (get('/supply/total'))
export const getStakingPool = () => (get('/stake/pool'))
export const getStakingParameters = () => (get('/stake/parameters'))
export const getStakingValidators = ({ status }) => {
const requests = [
get(`/stake/validators?page=1&size=100`),
get(`/stake/validators?page=2&size=100`),
get(`/validatorsets/latest`)
]
if (!status) {
status = 'bonded'
}
return {
type: 'array',
params: {
status
},
requests
}
}
export const getStakingValidatorsObj = ({ status }) => {
return {
type: 'array',
requests: [
get(`/stake/validators?page=1&size=100`),
get(`/stake/validators?page=2&size=100`),
]
}
}
export const getStakingValidatorsValidatorAddress = ({ validatorAddress }) => (get(`/stake/validators/${validatorAddress}`))
export const getStakingValidatorsDelegations = ({ validatorAddress }) => (get(`/stake/validators/${validatorAddress}/delegations`))
// Minting
export const getMintingParameters = () => (get('/params?module=mint'))
export const getMintingInflation = () => (get('/params?module=mint'))
export const getMintingAnnualProvisionsn = () => (false)// (get('/minting/annual-provisions'))
// Node
export const getNodeInfo = () => (get('/node_info'))
export const getNodeInfoRes = () => (get('/node-info'))
// Tx
export const getTxs = ({ height }) => {
const config = get('/txs')
config.params = {
'tx.height': height
}
return config
}
export const getTxsHash = ({ hash }) => (get(`/txs/${hash}`))
// Validators
export const getValidatorsetsHeight = ({ height }) => (get(`/validatorsets/${height}`))
// POST ===
// post Send coins from one account to another
export function postBankAccountsTransfers({ address, chain_id, account_number, sequence, amount, denom, memo, simulate }) {
return {
method: 'post',
url: `/bank/accounts/${address}/transfers`,
data: {
base_req: {
"from": address,
"memo": memo || "Sent via look.ping.pub",
chain_id,
account_number,
sequence,
"gas": "200000",
"gas_adjustment": "2.3",
"fees": [
Coin({ amount, denom })
],
simulate
},
"amount": [
Coin({ amount, denom })
]
}
}
}
// post Broadcast a signed tx
export function postTxs({ txBroadcast }) {
const config = get('/txs')
config.method = 'post'
config.data = { ...txBroadcast }
return config
}
function Coin({ amount, denom }) {
return {
amount: String(amount),
denom
};
}
+370
View File
@@ -0,0 +1,370 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2021-03-10 17:00:40
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: /look-web/src/api/V2/response.js
*/
import { timeToDay, toDenom, toTimestamp, formatTime } from '../../utils/format'
import { createDisplayCoin, percent, twoDecimals, uatoms, toIris, atoms } from '../../utils/num'
import { addressToHex, validatorAddressToAccount } from '../../utils/b32'
import store from '../../store'
const commonResult = (res) => res
export function getNodeInfo(res) {
const { network, version } = res.node_info || {}
return {
network,
version
}
}
export function getNodeInfoRes(res) {
return res
}
export function getAuthAccounts(res) {
const result = commonResult(res)
const { type, value } = result
return {
type,
...value
}
}
export const postBankAccountsTransfers = (res) => Math.round(res.gas_estimate * 2.3)
export const getStakingParameters = (res) => {
const data = commonResult(res)
const { max_validators, unbonding_time } = data.value
return {
max_validators,
unbonding_time: timeToDay(unbonding_time)
}
}
export const postTxs = (res) => (res)
function formatValidator(item) {
item.dailyChange = '--'
item.rewards = '--'
const { identity, moniker, website, details } = item.description
item.moniker = moniker
item.identity = identity
item.website = website
item.details = details
item.tokens = Number(item.tokens).toFixed(2)
item.voting_power = Number(item.tokens).toFixed(2) // TODO: 单位问题
item.userAddress = validatorAddressToAccount(item.operator_address)
item.hexAddress = addressToHex(item.consensus_pubkey)
item.commission_rate = Number(item.commission.rate)
item.commission_rate_percent = percent(item.commission_rate)
item.commission_rate_max = Number(item.commission.max_rate)
item.commission_rate_max_percent = percent(item.commission_rate_max)
item.commission_rate_max_change = Number(item.commission.max_change_rate)
item.commission_rate_max_change_percent = percent(item.commission_rate_max_change)
if (item.unbonding_time) {
item.unbonding_time = formatTime(item.unbonding_time)
}
}
export const getStakingValidators = (res) => {
let [arr1, arr2, validatorsBonded, params] = res
const validatorsAll = [...arr1, ...arr2]
const height = Number(validatorsBonded.block_height)
const validators = []
const status = params.status === 'bonded' ? 2 : 0
for (const item of validatorsAll) {
if (item.status === status) {
formatValidator(item)
validators.push(item)
}
}
validators.sort((current, next) => {
return Number(next.tokens) - Number(current.tokens);
})
return {
height,
result: validators
}
}
export const getStakingValidatorsObj = (res) => {
const [arr1, arr2] = res
const data = [...arr1, ...arr2]
const hexObj = {}
const addressObj = {}
const validatorObj = {}
for (const item of data) {
formatValidator(item)
hexObj[item.hexAddress] = item
addressObj[item.userAddress] = item
validatorObj[item.operator_address] = item
}
return {
hexObj,
addressObj,
validatorObj
}
}
export const getGovParametersDeposit = (res) => {
const data = commonResult(res)
const coin = createDisplayCoin(data.min_deposit[0])
return {
min_deposit: coin.amount + coin.denom,
max_deposit_period: timeToDay(data.max_deposit_period)
}
}
export const getGovParametersVoting = (res) => {
const data = commonResult(res)
return {
voting_period: timeToDay(data.voting_period)
}
}
export const getGovParametersTallying = (res) => {
const data = commonResult(res)
const { quorum, threshold, veto } = data
return {
quorum: percent(quorum),
threshold: percent(threshold),
veto: percent(veto)
}
}
export const getSlashingParameters = (res) => {
const data = commonResult(res)
const { max_evidence_age, slash_fraction_downtime, downtime_jail_duration, signed_blocks_window, min_signed_per_window, slash_fraction_double_sign } = data.value
return {
max_evidence_age: timeToDay(max_evidence_age, true),
downtime_jail_duration: timeToDay(downtime_jail_duration),
signed_blocks_window: Number(signed_blocks_window),
min_signed_per_window: percent(min_signed_per_window),
slash_fraction_double_sign: percent(slash_fraction_double_sign),
slash_fraction_downtime: percent(slash_fraction_downtime)
}
}
export const getDistributionParameters = (res) => {
const data = commonResult(res)
const { community_tax, base_proposer_reward, bonus_proposer_reward, withdraw_addr_enabled } = data.value
return {
community_tax: percent(community_tax),
base_proposer_reward: percent(base_proposer_reward),
bonus_proposer_reward: percent(bonus_proposer_reward),
// withdraw_addr_enabled: withdraw_addr_enabled ? "Enabled" : "Disabled"
}
}
export const getStakingValidatorsDelegations = (res) => {
const data = commonResult(res)
let total = 0
for (const item of data) {
total += Number(item.shares)
item.delegator_address = item.delegator_addr
item.shares_str = atoms(Number(item.shares)) + ' ' + window.chain.unit
}
data.sort((now, next) => {
now.shares_percent = percent(Number(now.shares) / total)
next.shares_percent = percent(Number(next.shares) / total)
return Number(next.shares) - Number(now.shares)
})
if (data.length === 1) {
data[0].shares_percent = percent(Number(data[0].shares) / total)
}
return data
}
export const getSlashingValidatorsSigningInfo = (res) => {
const data = commonResult(res)
return {
missed_blocks_counter: data.missed_blocks_counter
}
}
export const getMintingParameters = (result) => {
const data = commonResult(result)
const { blocks_per_year, inflation_rate_change } = data
return {
blocks_per_year,
mint_denom: '', // toDenom(data.mint_denom),
inflation_rate_change: percent(inflation_rate_change),
inflation_max: percent(data.inflation_max),
inflation_min: percent(data.inflation_min),
goal_bonded: percent(data.goal_bonded),
}
}
export const getMintingInflation = (res) => {
let data = commonResult(res)
data = data.value.inflation
return {
inflation: percent(data),
inflation_val: Number(data)
}
}
export const getMintingAnnualProvisionsn = (res) => {
const data = commonResult(res)
return {
annual_provisions: (Number(data) / 1000000).toFixed(0)
}
}
// /gov/proposals 方法
function dataFormat(item) {
item = item.value.BasicProposal
item.id = item.proposal_id
item.description_sub = item.description.length > 200 ? (item.description).substr(0, 200) : item.description
const { voting_start_time, voting_end_time, deposit_end_time, submit_time, total_deposit } = item
item.total_deposit_str = createDisplayCoin(total_deposit[0])
item.submit_time = formatTime(submit_time)
item.voting_start_time = formatTime(voting_start_time)
item.voting_end_time = formatTime(voting_end_time)
item.deposit_end_time = formatTime(deposit_end_time)
const { yes, abstain, no, no_with_veto } = item.tally_result
const total = Number(yes) + Number(abstain) + Number(no) + Number(no_with_veto)
item.yes = twoDecimals(yes / total)
item.yes_percent = percent(yes / total)
item.abstain = twoDecimals(abstain / total)
item.abstain_percent = percent(abstain / total)
item.no = twoDecimals(no / total)
item.no_percent = percent(no / total)
item.no_with_veto = twoDecimals(no_with_veto / total)
item.no_with_veto_percent = percent(no_with_veto / total)
item.type = item.proposal_type
// 质押总数
const bondedTokens = store.state.bondedTokens
if (bondedTokens) {
item.join = twoDecimals(total / bondedTokens)
item.join_percent = percent(total / bondedTokens)
}
return item
}
export const getGovProposals = (res) => {
const data = commonResult(res)
const arr = []
for (let item of data) {
arr.push(dataFormat(item))
}
arr.sort((now, next) => {
return (
toTimestamp(next.submit_time) - toTimestamp(now.submit_time)
);
});
return arr
}
export const getGovProposalsId = (res) => {
const data = commonResult(res)
return dataFormat(data)
}
export const getBlocksLatest = (res) => {
const { block } = res
return {
height: Number(block.header.height)
}
}
export const getSupplyTotal = (res) => {
const data = commonResult(res)
const amount = Number(data)
const amount_str = amount > 1000000
? (amount / 1000000).toFixed(2) + "M"
: (amount / 1000).toFixed(2) + "K"
return {
amount,
amount_str
}
}
export const getStakingPool = (res) => {
const data = commonResult(res)
let { bonded_tokens } = data
const bonded_tokens_val = Number(bonded_tokens)
bonded_tokens = bonded_tokens_val > 1000000
? (bonded_tokens_val / 1000000).toFixed(2) + "M"
: (bonded_tokens_val / 1000).toFixed(2) + "K"
return {
bonded_tokens_val,
bonded_tokens
}
}
export const getValidatorsetsHeight = (res) => {
const data = commonResult(res)
return data.validators
}
export const getTxs = (res) => (res)
export const getGovProposalsDeposits = (res) => {
const data = commonResult(res) || []
for (const item of data) {
item.amountCoin = createDisplayCoin(item.amount[0])
item.amountCoin_str = item.amountCoin.amount + ' ' + item.amountCoin.denom
}
return data
}
// getGovProposalsVotes
export const getGovProposalsVotes = (res) => {
const data = commonResult(res) || []
return data
}
export const getBlocksHeight = (res) => {
return res
}
export const getTxsHash = (res) => (res)
export const getStakingValidatorsValidatorAddress = (res) => {
const data = (commonResult(res))
formatValidator(data)
return data
}
// RPC ===
export const getRpcAbciInfo = (res) => {
return {
last_block_height: res.response.last_block_height
}
}
export const getRpcCommitHeight = (res) => {
const data = res.result
const precommits = data.signed_header.commit.precommits
const obj = {}
for (const item of precommits) {
if (item) {
const { validator_address } = item
obj[validator_address] = true
}
}
return obj
}
export const getRpcValidators = (res) => {
const data = commonResult(res)
return data.result
}
export const getValidatorsetsLatest = (res) => {
return res
}
export const getRpcBlockchain = (res) => {
const data = commonResult(res).result
const last_height = Number(data.last_height)
const block_metas = []
for (const item of data.block_metas) {
const { header, block_id } = item
const { num_txs, height, last_block_id, time } = header
header.block_hash = block_id.hash
header.num_txs = Number(num_txs)
header.last_block_hash = last_block_id.hash
header.time = formatTime(time)
block_metas.push(header)
}
return {
last_height,
block_metas
}
}
+145
View File
@@ -0,0 +1,145 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2020-12-11 15:59:21
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: /look-web/src/api/V1/request.js
*/
const prefixTx = '/cosmos/tx/v1beta1'
const prefixDistribution = '/cosmos/distribution/v1beta1/v1beta1'
const prefixGov = '/cosmos/gov/v1beta1'
const prefixMinting = '/cosmos/minting/v1beta1'
const prefixSlashing = '/cosmos/slashing/v1beta1'
const prefixStaking = '/cosmos/staking/v1beta1'
const prefiexBank = '/bank'
const get = (url) => ({ method: 'get', url, headers: { server: window.chain.lcd } })
const getRpc = (url) => ({ method: 'get', url, headers: { server: window.chain.rpc } })
export const getKavaCdpParameters = () => (get('/cdp/parameters'))
export const getKavaPricefeed = () => (get('/pricefeed/parameters'))
export const getKavaIncentive = () => (get('/incentive/parameters'))
export const getKavaBep3 = () => (get('/bep3/parameters'))
export const getKavaAuction = () => (get('/auction/parameters'))
// RPC ===
export const getRpcCommitHeight = ({ height }) => (getRpc(`/commit?height=${height}`))
export const getRpcBlockchain = ({ minHeight, maxHeight }) => (getRpc(`/blockchain?minHeight=${minHeight}&maxHeight=${maxHeight}`))
export const getRpcValidators = ({ height }) => (getRpc(`/validators?height=${height}`))
export const getRpcGenesis = () => (getRpc('/genesis'))
export const getRpcConsensus_state = () => (getRpc('/consensus_state'))
// 获取最新高度
export const getRpcAbciInfo = () => (getRpc('/abci_info'))
// LCD ===
// node info
// Auth
export const getAuthAccounts = ({ address }) => (get(`/auth/accounts/${address}`))
// Blocks
export const getBlocksLatest = () => (get('/blocks/latest'))
export const getBlocksHeight = ({ height }) => (get(`/blocks/${height}`))
// Distribution
// 未实现
export const getDistributionParameters = () => (get('/distribution/parameters'))
export const getDistributionDelegatorsRewards = ({ delegatorAddress }) => (get(prefixDistribution + `/delegators/${delegatorAddress}/rewards`))
// Gov
// 未实现
export const getGovParametersDeposit = () => (get('/gov/parameters/deposit'))
// 未实现
export const getGovParametersVoting = () => (get('/gov/parameters/voting'))
// 未实现
export const getGovParametersTallying = () => (get('/gov/parameters/tallying'))
// goverance
export const getGovProposals = () => (get(prefixGov + '/proposals'))
export const getGovProposalsId = ({ id }) => (get(prefixGov + `/proposals/${id}`))
// 未实现
export const getGovProposalsDeposits = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/deposits`))
export const getGovProposalsVotes = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/votes`))
// committee
export const getCommitteeCommittees = () => {}
export const getCommitteeCommitteesId = ({ id }) => (get(`/committee/committees/${id}`))
// Slashing
export const getSlashingParameters = () => (get('/slashing/parameters'))
export const getSlashingValidatorsSigningInfo = ({ validatorAddress }) => {} // (get(`/slashing/validators/${validatorAddress}/signing_info`))
export const getSupplyTotal = () => (get(prefiexBank + '/total'))
export const getStakingPool = () => (get(prefixStaking + '/pool'))
// 未实现
export const getStakingParameters = () => (get('/staking/parameters'))
export const getStakingValidators = ({ status }) => (get(prefixStaking + `/validators?status=${status ? 'BOND_STATUS_' + status.toUpperCase() : 'BOND_STATUS_BONDED'}`))
export const getStakingValidatorsObj = ({ status }) => (get(prefixStaking + `/validators?status=${status ? 'BOND_STATUS_' + status.toUpperCase() : 'BOND_STATUS_BONDED'}`))
export const getStakingValidatorsValidatorAddress = ({ validatorAddress }) => (get(prefixStaking + `/validators/${validatorAddress}`))
export const getStakingDelegatorsDelegations = ({ delegatorAddress }) => (get(prefixStaking + `/delegators/${delegatorAddress}/delegations`))
export const getStakingValidatorsDelegations = ({ validatorAddress }) => (get(prefixStaking + `/validators/${validatorAddress}/delegations`))
// Minting
// 未实现
export const getMintingParameters = () => (get('/minting/parameters'))
// 未实现
export const getMintingInflation = () => (get('/minting/inflation'))
export const getMintingAnnualProvisionsn = () => (get('/minting/annual-provisions'))
// Node
export const getNodeInfo = () => (get('/node_info'))
export const getNodeInfoRes = () => (get('/node_info'))
// Tx
export const getTxs = ({ height }) => {
const config = get(prefixTx + '/txs')
config.params = {
'tx.height': height
}
return config
}
export const getTxsHistory = ({ address, page, }) => {
const config = get(prefixTx + '/txs')
config.params = {
page,
limit: 10,
'message.sender': address
}
return config
}
export const getTxsHash = ({ hash }) => (get(prefixTx + `/txs/${hash}`))
// Validators
export const getValidatorsetsHeight = ({ height }) => (get(`/validatorsets/${height}`))
// POST ===
// post Send coins from one account to another
export function postBankAccountsTransfers({ address, chain_id, account_number, sequence, amount, denom, memo, simulate }) {
return {
method: 'post',
url: `/bank/accounts/${address}/transfers`,
data: {
base_req: {
"from": address,
"memo": memo || "Sent via look.ping.pub",
chain_id,
account_number,
sequence,
"gas": "200000",
"gas_adjustment": "2.3",
"fees": [
Coin({ amount, denom })
],
simulate
},
"amount": [
Coin({ amount, denom })
]
}
}
}
// post Broadcast a signed tx
export function postTxs({ txBroadcast }) {
const config = get(prefixTx + '/txs')
config.method = 'post'
config.data = { ...txBroadcast }
return config
}
function Coin({ amount, denom }) {
return {
amount: String(amount),
denom
};
}
+475
View File
@@ -0,0 +1,475 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2020-12-11 16:13:18
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: \look-web\src\api\V1\response.js
*/
import { timeToDay, toDenom, toTimestamp, formatTime } from '../../utils/format'
import { createDisplayCoin, percent, twoDecimals, uatoms, atoms } from '../../utils/num'
import { addressToHex, validatorAddressToAccount, base64ToPubkey } from '../../utils/b32'
import dayjs from 'dayjs'
import store from '../../store'
const commonResult = (res) => res.result
export function getNodeInfo(res) {
const { network, version } = res.node_info || {}
return {
network,
version
}
}
export function getNodeInfoRes(res) {
return res
}
export function getKavaCdpParameters(res) {
let result = commonResult(res);
result.debt_auction_lot = timeToDay(result.debt_auction_lot)
result.surplus_auction_lot = timeToDay(result.surplus_auction_lot)
result.debt_auction_threshold = timeToDay(result.debt_auction_threshold)
result.surplus_auction_threshold = timeToDay(result.surplus_auction_threshold)
result.savings_distribution_frequency = timeToDay(result.savings_distribution_frequency)
result.debt_param.savings_rate = percent(result.debt_param.savings_rate)
return result
}
export function getKavaPricefeed(res) { let result = commonResult(res); return result }
export function getKavaIncentive(res) {
let result = commonResult(res);
for (const item of result.rewards) {
item.duration = timeToDay(item.duration)
item.claim_duration = timeToDay(item.claim_duration)
item.time_lock = timeToDay(item.time_lock)
}
return result
}
export function getKavaBep3(res) { let result = commonResult(res); return result }
export function getKavaAuction(res) {
let result = commonResult(res);
result.max_auction_duration = timeToDay(result.max_auction_duration)
result.bid_duration = timeToDay(result.bid_duration)
result.increment_collateral = percent(result.increment_collateral)
result.increment_surplus = percent(result.increment_surplus)
result.increment_debt = percent(result.increment_debt)
return result;
}
export function getAuthAccounts(res) {
const result = commonResult(res)
const { type, value } = result
let coins = value.coins[0]
coins = createDisplayCoin(coins)
return {
type,
available: coins.amount,
...value
}
}
export const postBankAccountsTransfers = (res) => Math.round(res.gas_estimate * 2.3)
export const getStakingParameters = (res) => {
const data = commonResult(res)
const { max_entries, max_validators, unbonding_time, bond_denom } = data
return {
max_entries,
max_validators,
unbonding_time: timeToDay(unbonding_time),
bond_denom: toDenom(bond_denom)
}
}
export const postTxs = (res) => (res)
function formatValidator(item) {
item.dailyChange = '--'
item.rewards = '--'
const { identity, moniker, website, details } = item.description
item.moniker = moniker
item.identity = identity
item.website = website
item.details = details
item.voting_power = atoms(Number(item.tokens)).toFixed(2) + ' ' + window.chain.unit // TODO: 单位问题
item.userAddress = validatorAddressToAccount(item.operator_address)
if (item.consensus_pubkey && item.consensus_pubkey.key) {
item.consensus_pubkey = base64ToPubkey(item.consensus_pubkey.key)
item.hexAddress = addressToHex(item.consensus_pubkey)
}
item.commission_rate = Number(item.commission.commission_rates.rate)
item.commission_rate_percent = percent(item.commission_rate)
item.commission_rate_max = Number(item.commission.commission_rates.max_rate)
item.commission_rate_max_percent = percent(item.commission_rate_max)
item.commission_rate_max_change = Number(item.commission.commission_rates.max_change_rate)
item.commission_rate_max_change_percent = percent(item.commission_rate_max_change)
if (item.unbonding_time) {
item.unbonding_time = formatTime(item.unbonding_time)
}
}
export const getStakingValidators = (res) => {
const data = res.validators
data.sort((current, next) => {
formatValidator(current)
formatValidator(next)
return Number(next.tokens) - Number(current.tokens);
})
if (data.length === 1) formatValidator(data[0])
res.result = data
return res
}
export const getStakingValidatorsObj = (res) => {
const data = res.validators
const hexObj = {}
const addressObj = {}
const validatorObj = {}
for (const item of data) {
formatValidator(item)
hexObj[item.hexAddress] = item
addressObj[item.userAddress] = item
validatorObj[item.operator_address] = item
}
return {
hexObj,
addressObj,
validatorObj
}
}
export const getGovParametersDeposit = (res) => {
const data = commonResult(res)
const coin = createDisplayCoin(data.min_deposit[0])
return {
min_deposit: coin.amount + coin.denom,
max_deposit_period: timeToDay(data.max_deposit_period)
}
}
export const getGovParametersVoting = (res) => {
const data = commonResult(res)
return {
voting_period: timeToDay(data.voting_period)
}
}
export const getGovParametersTallying = (res) => {
const data = commonResult(res)
const { quorum, threshold, veto } = data
return {
quorum: percent(quorum),
threshold: percent(threshold),
veto: percent(veto)
}
}
export const getSlashingParameters = (res) => {
const data = commonResult(res)
const { max_evidence_age, slash_fraction_downtime, downtime_jail_duration, signed_blocks_window, min_signed_per_window, slash_fraction_double_sign } = data
return {
max_evidence_age: timeToDay(max_evidence_age),
downtime_jail_duration: timeToDay(downtime_jail_duration),
signed_blocks_window: Number(signed_blocks_window),
min_signed_per_window: percent(min_signed_per_window),
slash_fraction_double_sign: percent(slash_fraction_double_sign),
slash_fraction_downtime: percent(slash_fraction_downtime)
}
}
export const getDistributionParameters = (res) => {
const data = commonResult(res)
const { community_tax, base_proposer_reward, bonus_proposer_reward, withdraw_addr_enabled } = data
return {
community_tax: percent(community_tax),
base_proposer_reward: percent(base_proposer_reward),
bonus_proposer_reward: percent(bonus_proposer_reward),
withdraw_addr_enabled: withdraw_addr_enabled ? "Enabled" : "Disabled"
}
}
export const getStakingValidatorsDelegations = (res) => {
const data = res.delegation_responses
let total = 0
for (const item of data) {
item.shares = item.delegation.shares
item.delegator_address = item.delegation.delegator_address
total += Number(item.shares)
item.shares_str = atoms(Number(item.shares)) + ' ' + window.chain.unit
}
data.sort((now, next) => {
now.shares_percent = percent(Number(now.shares) / total)
next.shares_percent = percent(Number(next.shares) / total)
return Number(next.shares) - Number(now.shares)
})
if (data.length === 1) {
data[0].shares_percent = percent(Number(data[0].shares) / total)
}
return data
}
export const getSlashingValidatorsSigningInfo = (res) => {
const data = commonResult(res)
return {
missed_blocks_counter: data.missed_blocks_counter
}
}
export const getMintingParameters = (result) => {
const data = commonResult(result)
const { blocks_per_year, inflation_rate_change } = data
return {
blocks_per_year,
mint_denom: toDenom(data.mint_denom),
inflation_rate_change: percent(inflation_rate_change),
inflation_max: percent(data.inflation_max),
inflation_min: percent(data.inflation_min),
goal_bonded: percent(data.goal_bonded),
}
}
export const getMintingInflation = (res) => {
const data = commonResult(res)
return {
inflation: percent(data),
inflation_val: Number(data)
}
}
export const getMintingAnnualProvisionsn = (res) => {
const data = commonResult(res)
return {
annual_provisions: (Number(data) / 1000000).toFixed(0)
}
}
// /gov/proposals 方法
function dataFormat(item) {
const content = item.proposal_content || item.content
item.id = item.proposal_id
item.proposal_status = item.status
item.title = content.title || content.value.title
item.description = content.description || content.value.description
item.description_sub = item.description.length > 200 ? (item.description).substr(0, 200) : item.description
const { voting_start_time, voting_end_time, deposit_end_time, submit_time, total_deposit } = item
item.total_deposit_str = total_deposit && total_deposit[0] && createDisplayCoin(total_deposit[0]) || '--'
item.submit_time = formatTime(submit_time)
item.voting_start_time = formatTime(voting_start_time)
item.voting_end_time = formatTime(voting_end_time)
item.deposit_end_time = formatTime(deposit_end_time)
// item.final_tally_result
const { yes, abstain, no, no_with_veto } = item.final_tally_result
// 参与总数
const total = yes && (Number(yes) + Number(abstain) + Number(no) + Number(no_with_veto)) || 1
item.yes = yes && twoDecimals(yes / total) || '--'
item.yes_percent = yes && percent(yes / total) || '--'
item.abstain = abstain && twoDecimals(abstain / total) || '--'
item.abstain_percent = abstain && percent(abstain / total) || '--'
item.no = no && twoDecimals(no / total) || '--'
item.no_percent = no && percent(no / total) || '--'
item.no_with_veto = no_with_veto && twoDecimals(no_with_veto / total) || '--'
item.no_with_veto_percent = no_with_veto && percent(no_with_veto / total) || '--'
item.type = content.type
// 质押总数
const bondedTokens = store.state.bondedTokens
if (bondedTokens) {
item.join = twoDecimals(total / bondedTokens)
item.join_percent = percent(total / bondedTokens)
}
}
// kava 投票接口
function formateCommitee(data) {
for (const item of data) {
item.vote_threshold_str = Number(item.vote_threshold).toFixed(2)
item.proposal_duration_str = item.proposal_duration
}
}
export function getCommitteeCommittees(res) {
const data = commonResult(res)
formateCommitee(data)
return data
}
export const getCommitteeCommitteesId = (res) => {
const data = commonResult(res)
formateCommitee(data)
return data
}
export const getGovProposals = (res) => {
const data = res.proposals
data.sort((now, next) => {
dataFormat(now)
dataFormat(next)
return (
toTimestamp(next.submit_time) - toTimestamp(now.submit_time)
);
});
if (data.length === 1) dataFormat(data[0])
return data
}
export const getGovProposalsId = (res) => {
const data = res.proposal
dataFormat(data)
return data
}
export const getBlocksLatest = (res) => {
const { block } = res
return {
height: Number(block.header.height)
}
}
export const getSupplyTotal = (res) => {
const data = commonResult(res)
const amount = Number(data[0].amount)
const amount_str = amount > 1000000
? (amount / 1000000 / 1000000).toFixed(2) + "M"
: (amount / 1000).toFixed(2) + "K"
return {
amount,
amount_str
}
}
export const getStakingPool = (res) => {
const data = res.pool
let { bonded_tokens } = data
const bonded_tokens_val = Number(bonded_tokens)
bonded_tokens = bonded_tokens_val > 1000000
? (bonded_tokens_val / 1000000 / 1000000).toFixed(2) + "M"
: (bonded_tokens_val / 1000).toFixed(2) + "K"
return {
bonded_tokens_val,
bonded_tokens
}
}
export const getValidatorsetsHeight = (res) => {
const data = commonResult(res)
return data.validators
}
export const getTxs = (res) => (res)
export const getTxsHistory = (res) => {
res.txs.sort((current, next) => {
const dayCurrent = dayjs(current.timestap).valueOf()
const dayNext = dayjs(next.timestap).valueOf()
return dayCurrent - dayNext
})
return res
}
export const getGovProposalsDeposits = (res) => {
const data = commonResult(res) || []
for (const item of data) {
item.amountCoin = createDisplayCoin(item.amount[0])
item.amountCoin_str = item.amountCoin.amount + ' ' + item.amountCoin.denom
}
return data
}
// getGovProposalsVotes
export const getGovProposalsVotes = (res) => {
const data = commonResult(res) || []
return data
}
export const getBlocksHeight = (res) => {
return res
}
export const getTxsHash = (res) => (res)
export const getStakingValidatorsValidatorAddress = (res) => {
const data = res.validator
formatValidator(data)
return data
}
export const getStakingDelegatorsDelegations = (res) => {
const data = commonResult(res)
let delegated = 0
for (const item of data) {
item.shares = atoms(Number(item.shares))
delegated += Number(item.shares)
}
delegated += ''
return {
delegated,
delegations: data
}
}
export const getDistributionDelegatorsRewards = (res) => {
const data = commonResult(res)
const rewards = data.rewards || []
const obj = {}
for (const item of rewards) {
const coin = createDisplayCoin(item.reward[0])
item.amount = coin.amount
obj[item.validator_address] = {
amount: item.amount
}
}
const total = data.total[0] ? createDisplayCoin(data.total[0]) : { amount: '0' }
return {
rewardObj: obj,
reward: total.amount,
rewards
}
}
// RPC ===
export const getRpcAbciInfo = (res) => {
return {
last_block_height: res.response.last_block_height
}
}
export const getRpcCommitHeight = (res) => {
const data = commonResult(res)
const precommits = (data.signed_header && data.signed_header.commit && data.signed_header.commit.precommits) || (data.signed_header && data.signed_header.commit && data.signed_header.commit.signatures)
const obj = {}
for (const item of precommits) {
if (item) {
const { validator_address } = item
obj[validator_address] = true
}
}
return obj
}
export const getRpcValidators = (res) => {
const data = commonResult(res)
return data
}
// 创世节点
export const getRpcGenesis = (res) => {
const data = commonResult(res)
data.genesis_time = data.genesis.genesis_time
return data
}
export const getRpcConsensus_state = (res) => {
const data = commonResult(res)
const height_vote_set = data.round_state.height_vote_set
return {
height_vote_set
}
}
export const getRpcBlockchain = (res) => {
const data = commonResult(res)
const last_height = Number(data.last_height)
const block_metas = []
for (const item of data.block_metas) {
const { header, block_id } = item
const { num_txs, height, last_block_id, time } = header
header.block_hash = block_id.hash
header.num_txs = num_txs && Number(num_txs) || (item.num_txs && Number(item.num_txs))
header.last_block_hash = last_block_id.hash
header.time = formatTime(time)
block_metas.push(header)
}
return {
last_height,
block_metas
}
}
+128
View File
@@ -0,0 +1,128 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2021-02-19 15:43:35
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: /look-web/src/api/V1/request.js
*/
const get = (url) => ({ method: 'get', url, headers: { server: window.chain.lcd } })
const getRpc = (url) => ({ method: 'get', url, headers: { server: window.chain.rpc } })
export const getKavaCdpParameters = () => (get('/cdp/parameters'))
export const getKavaPricefeed = () => (get('/pricefeed/parameters'))
export const getKavaIncentive = () => (get('/incentive/parameters'))
export const getKavaBep3 = () => (get('/bep3/parameters'))
export const getKavaAuction = () => (get('/auction/parameters'))
// RPC ===
export const getRpcCommitHeight = ({ height }) => (getRpc(`/commit?height=${height}`))
export const getRpcBlockchain = ({ minHeight, maxHeight }) => (getRpc(`/blockchain?minHeight=${minHeight}&maxHeight=${maxHeight}`))
export const getRpcValidators = ({ height }) => (getRpc(`/validators?height=${height}`))
export const getRpcGenesis = () => (getRpc('/genesis'))
export const getRpcConsensus_state = () => (getRpc('/consensus_state'))
// 获取最新高度
export const getRpcAbciInfo = () => (getRpc('/abci_info'))
// LCD ===
// node info
// Auth
export const getAuthAccounts = ({ address }) => (get(`/auth/accounts/${address}`))
// Blocks
export const getBlocksLatest = () => (get('/blocks/latest'))
export const getBlocksHeight = ({ height }) => (get(`/blocks/${height}`))
// Distribution
export const getDistributionParameters = () => (get('/distribution/parameters'))
export const getDistributionDelegatorsRewards = ({ delegatorAddress }) => (get(`/distribution/delegators/${delegatorAddress}/rewards`))
// Gov
export const getGovParametersDeposit = () => (get('/gov/parameters/deposit'))
export const getGovParametersVoting = () => (get('/gov/parameters/voting'))
export const getGovParametersTallying = () => (get('/gov/parameters/tallying'))
// goverance
export const getGovProposals = () => (get('/gov/proposals'))
export const getGovProposalsId = ({ id }) => (get(`/gov/proposals/${id}`))
export const getGovProposalsDeposits = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/deposits`))
export const getGovProposalsVotes = ({ proposalId }) => (get(`/gov/proposals/${proposalId}/votes`))
// committee
export const getCommitteeCommittees = () => {}
export const getCommitteeCommitteesId = ({ id }) => (get(`/committee/committees/${id}`))
// Slashing
export const getSlashingParameters = () => (get('/slashing/parameters'))
export const getSlashingValidatorsSigningInfo = ({ validatorAddress }) => (get(`/slashing/validators/${validatorAddress}/signing_info`))
export const getSupplyTotal = () => (get('/bank/total'))
export const getStakingPool = () => (get('/staking/pool'))
export const getStakingParameters = () => (get('/staking/parameters'))
export const getStakingValidators = ({ status }) => (get(`/staking/validators?status=${status || 'BOND_STATUS_BONDED'}`))
export const getStakingValidatorsObj = ({ status }) => (get(`/staking/validators?status=${status || 'BOND_STATUS_BONDED'}`))
export const getStakingValidatorsValidatorAddress = ({ validatorAddress }) => (get(`/staking/validators/${validatorAddress}`))
export const getStakingDelegatorsDelegations = ({ delegatorAddress }) => (get(`/staking/delegators/${delegatorAddress}/delegations`))
export const getStakingValidatorsDelegations = ({ validatorAddress }) => (get(`/staking/validators/${validatorAddress}/delegations`))
// Minting
export const getMintingParameters = () => (get('/minting/parameters'))
export const getMintingInflation = () => (get('/minting/inflation'))
export const getMintingAnnualProvisionsn = () => (get('/minting/annual-provisions'))
// Node
export const getNodeInfo = () => (get('/node_info'))
export const getNodeInfoRes = () => (get('/node_info'))
// Tx
export const getTxs = ({ height }) => {
const config = get('/txs')
config.params = {
'tx.height': height
}
return config
}
export const getTxsHistory = ({ address, page, }) => {
const config = get('/txs')
config.params = {
page,
limit: 10,
'message.sender': address
}
return config
}
export const getTxsHash = ({ hash }) => (get(`/txs/${hash}`))
// Validators
export const getValidatorsetsHeight = ({ height }) => (get(`/validatorsets/${height}`))
// POST ===
// post Send coins from one account to another
export function postBankAccountsTransfers({ address, chain_id, account_number, sequence, amount, denom, memo, simulate }) {
return {
method: 'post',
url: `/bank/accounts/${address}/transfers`,
data: {
base_req: {
"from": address,
"memo": memo || "Sent via look.ping.pub",
chain_id,
account_number,
sequence,
"gas": "200000",
"gas_adjustment": "2.3",
"fees": [
Coin({ amount, denom })
],
simulate
},
"amount": [
Coin({ amount, denom })
]
}
}
}
// post Broadcast a signed tx
export function postTxs({ txBroadcast }) {
const config = get('/txs')
config.method = 'post'
config.data = { ...txBroadcast }
return config
}
function Coin({ amount, denom }) {
return {
amount: String(amount),
denom
};
}
+468
View File
@@ -0,0 +1,468 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2021-02-19 15:38:37
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: \look-web\src\api\V1\response.js
*/
import { timeToDay, toDenom, toTimestamp, formatTime } from '../../utils/format'
import { createDisplayCoin, percent, twoDecimals, uatoms, atoms } from '../../utils/num'
import { addressToHex, validatorAddressToAccount, base64ToPubkey } from '../../utils/b32'
import dayjs from 'dayjs'
import store from '../../store'
const commonResult = (res) => res.result
export function getNodeInfo(res) {
const { network, version } = res.node_info || {}
return {
network,
version
}
}
export function getNodeInfoRes(res) {
return res
}
export function getKavaCdpParameters(res) {
let result = commonResult(res);
result.debt_auction_lot = timeToDay(result.debt_auction_lot)
result.surplus_auction_lot = timeToDay(result.surplus_auction_lot)
result.debt_auction_threshold = timeToDay(result.debt_auction_threshold)
result.surplus_auction_threshold = timeToDay(result.surplus_auction_threshold)
result.savings_distribution_frequency = timeToDay(result.savings_distribution_frequency)
result.debt_param.savings_rate = percent(result.debt_param.savings_rate)
return result
}
export function getKavaPricefeed(res) { let result = commonResult(res); return result }
export function getKavaIncentive(res) {
let result = commonResult(res);
for (const item of result.rewards) {
item.duration = timeToDay(item.duration)
item.claim_duration = timeToDay(item.claim_duration)
item.time_lock = timeToDay(item.time_lock)
}
return result }
export function getKavaBep3(res) { let result = commonResult(res); return result }
export function getKavaAuction(res) {
let result = commonResult(res);
result.max_auction_duration = timeToDay(result.max_auction_duration)
result.bid_duration = timeToDay(result.bid_duration)
result.increment_collateral = percent(result.increment_collateral)
result.increment_surplus = percent(result.increment_surplus)
result.increment_debt = percent(result.increment_debt)
return result;
}
export function getAuthAccounts(res) {
const result = commonResult(res)
const { type, value } = result
let coins = value.coins[0]
coins = createDisplayCoin(coins)
return {
type,
available: coins.amount,
...value
}
}
export const postBankAccountsTransfers = (res) => Math.round(res.gas_estimate * 2.3)
export const getStakingParameters = (res) => {
const data = commonResult(res)
const { max_entries, max_validators, unbonding_time, bond_denom } = data
return {
max_entries,
max_validators,
unbonding_time: timeToDay(unbonding_time),
bond_denom: toDenom(bond_denom)
}
}
export const postTxs = (res) => (res)
function formatValidator(item) {
item.dailyChange = '--'
item.rewards = '--'
const { identity, moniker, website, details } = item.description
item.moniker = moniker
item.identity = identity
item.website = website
item.details = details
item.voting_power = atoms(Number(item.tokens)).toFixed(2) + ' ' + window.chain.unit // TODO: 单位问题
item.userAddress = validatorAddressToAccount(item.operator_address)
item.hexAddress = addressToHex(base64ToPubkey(item.consensus_pubkey.value))
item.commission_rate = Number(item.commission.commission_rates.rate)
item.commission_rate_percent = percent(item.commission_rate)
item.commission_rate_max = Number(item.commission.commission_rates.max_rate)
item.commission_rate_max_percent = percent(item.commission_rate_max)
item.commission_rate_max_change = Number(item.commission.commission_rates.max_change_rate)
item.commission_rate_max_change_percent = percent(item.commission_rate_max_change)
if (item.unbonding_time) {
item.unbonding_time = formatTime(item.unbonding_time)
}
}
export const getStakingValidators = (res) => {
const data = commonResult(res)
data.sort((current, next) => {
formatValidator(current)
formatValidator(next)
return Number(next.tokens) - Number(current.tokens);
})
if (data.length === 1) formatValidator(data[0])
return {
result: data
}
}
export const getStakingValidatorsObj = (res) => {
const data = commonResult(res)
const hexObj = {}
const addressObj = {}
const validatorObj = {}
for (const item of data) {
formatValidator(item)
hexObj[item.hexAddress] = item
addressObj[item.userAddress] = item
validatorObj[item.operator_address] = item
}
return {
hexObj,
addressObj,
validatorObj
}
}
export const getGovParametersDeposit = (res) => {
const data = commonResult(res)
const coin = createDisplayCoin(data.min_deposit[0])
return {
min_deposit: coin.amount + coin.denom,
max_deposit_period: timeToDay(data.max_deposit_period)
}
}
export const getGovParametersVoting = (res) => {
const data = commonResult(res)
return {
voting_period: timeToDay(data.voting_period)
}
}
export const getGovParametersTallying = (res) => {
const data = commonResult(res)
const { quorum, threshold, veto } = data
return {
quorum: percent(quorum),
threshold: percent(threshold),
veto: percent(veto)
}
}
export const getSlashingParameters = (res) => {
const data = commonResult(res)
const { max_evidence_age, slash_fraction_downtime, downtime_jail_duration, signed_blocks_window, min_signed_per_window, slash_fraction_double_sign } = data
return {
max_evidence_age: timeToDay(max_evidence_age),
downtime_jail_duration: timeToDay(downtime_jail_duration),
signed_blocks_window: Number(signed_blocks_window),
min_signed_per_window: percent(min_signed_per_window),
slash_fraction_double_sign: percent(slash_fraction_double_sign),
slash_fraction_downtime: percent(slash_fraction_downtime)
}
}
export const getDistributionParameters = (res) => {
const data = commonResult(res)
const { community_tax, base_proposer_reward, bonus_proposer_reward, withdraw_addr_enabled } = data
return {
community_tax: percent(community_tax),
base_proposer_reward: percent(base_proposer_reward),
bonus_proposer_reward: percent(bonus_proposer_reward),
withdraw_addr_enabled: withdraw_addr_enabled ? "Enabled" : "Disabled"
}
}
export const getStakingValidatorsDelegations = (res) => {
const data = commonResult(res)
let total = 0
for (const item of data) {
total += Number(item.shares)
item.shares_str = atoms(Number(item.shares)) + ' ' + window.chain.unit
}
data.sort((now, next) => {
now.shares_percent = percent(Number(now.shares) / total)
next.shares_percent = percent(Number(next.shares) / total)
return Number(next.shares) - Number(now.shares)
})
if (data.length === 1) {
data[0].shares_percent = percent(Number(data[0].shares) / total)
}
return data
}
export const getSlashingValidatorsSigningInfo = (res) => {
const data = commonResult(res)
return {
missed_blocks_counter: data.missed_blocks_counter
}
}
export const getMintingParameters = (result) => {
const data = commonResult(result)
const { blocks_per_year, inflation_rate_change } = data
return {
blocks_per_year,
mint_denom: toDenom(data.mint_denom),
inflation_rate_change: percent(inflation_rate_change),
inflation_max: percent(data.inflation_max),
inflation_min: percent(data.inflation_min),
goal_bonded: percent(data.goal_bonded),
}
}
export const getMintingInflation = (res) => {
const data = commonResult(res)
return {
inflation: percent(data),
inflation_val: Number(data)
}
}
export const getMintingAnnualProvisionsn = (res) => {
const data = commonResult(res)
return {
annual_provisions: (Number(data) / 1000000).toFixed(0)
}
}
// /gov/proposals 方法
function dataFormat(item) {
const content = item.proposal_content || item.content
item.title = content.value.title;
item.description = content.value.description
item.description_sub = item.description.length > 200 ? (item.description).substr(0, 200) : item.description
const { voting_start_time, voting_end_time, deposit_end_time, submit_time, total_deposit } = item
item.total_deposit_str = total_deposit && total_deposit[0] && createDisplayCoin(total_deposit[0]) || '--'
item.submit_time = formatTime(submit_time)
item.voting_start_time = formatTime(voting_start_time)
item.voting_end_time = formatTime(voting_end_time)
item.deposit_end_time = formatTime(deposit_end_time)
// item.final_tally_result
const { yes, abstain, no, no_with_veto } = item.final_tally_result
// 参与总数
const total = yes && (Number(yes) + Number(abstain) + Number(no) + Number(no_with_veto)) || 1
item.yes = yes && twoDecimals(yes / total) || '--'
item.yes_percent = yes && percent(yes / total) || '--'
item.abstain = abstain && twoDecimals(abstain / total) || '--'
item.abstain_percent = abstain && percent(abstain / total) || '--'
item.no = no && twoDecimals(no / total) || '--'
item.no_percent = no && percent(no / total) || '--'
item.no_with_veto = no_with_veto && twoDecimals(no_with_veto / total) || '--'
item.no_with_veto_percent = no_with_veto && percent(no_with_veto / total) || '--'
item.type = content.type
// 质押总数
const bondedTokens = store.state.bondedTokens
if (bondedTokens) {
item.join = twoDecimals(total / bondedTokens)
item.join_percent = percent(total / bondedTokens)
}
}
// kava 投票接口
function formateCommitee(data) {
for (const item of data) {
item.vote_threshold_str = Number(item.vote_threshold).toFixed(2)
item.proposal_duration_str = item.proposal_duration
}
}
export function getCommitteeCommittees(res) {
const data = commonResult(res)
formateCommitee(data)
return data
}
export const getCommitteeCommitteesId = (res) => {
const data = commonResult(res)
formateCommitee(data)
return data
}
export const getGovProposals = (res) => {
const data = commonResult(res)
data.sort((now, next) => {
dataFormat(now)
dataFormat(next)
return (
toTimestamp(next.submit_time) - toTimestamp(now.submit_time)
);
});
if (data.length === 1) dataFormat(data[0])
return data
}
export const getGovProposalsId = (res) => {
const data = commonResult(res)
dataFormat(data)
return data
}
export const getBlocksLatest = (res) => {
const { block } = res
return {
height: Number(block.header.height)
}
}
export const getSupplyTotal = (res) => {
const data = commonResult(res)
const amount = Number(data[0].amount)
const amount_str = amount > 1000000
? (amount / 1000000 / 1000000).toFixed(2) + "M"
: (amount / 1000).toFixed(2) + "K"
return {
amount,
amount_str
}
}
export const getStakingPool = (res) => {
const data = commonResult(res)
let { bonded_tokens } = data
const bonded_tokens_val = Number(bonded_tokens)
bonded_tokens = bonded_tokens_val > 1000000
? (bonded_tokens_val / 1000000 / 1000000).toFixed(2) + "M"
: (bonded_tokens_val / 1000).toFixed(2) + "K"
return {
bonded_tokens_val,
bonded_tokens
}
}
export const getValidatorsetsHeight = (res) => {
const data = commonResult(res)
return data.validators
}
export const getTxs = (res) => (res)
export const getTxsHistory = (res) => {
res.txs.sort((current, next) => {
const dayCurrent = dayjs(current.timestap).valueOf()
const dayNext = dayjs(next.timestap).valueOf()
return dayCurrent - dayNext
})
return res
}
export const getGovProposalsDeposits = (res) => {
const data = commonResult(res) || []
for (const item of data) {
item.amountCoin = createDisplayCoin(item.amount[0])
item.amountCoin_str = item.amountCoin.amount + ' ' + item.amountCoin.denom
}
return data
}
// getGovProposalsVotes
export const getGovProposalsVotes = (res) => {
const data = commonResult(res) || []
return data
}
export const getBlocksHeight = (res) => {
return res
}
export const getTxsHash = (res) => (res)
export const getStakingValidatorsValidatorAddress = (res) => {
const data = (commonResult(res))
formatValidator(data)
return data
}
export const getStakingDelegatorsDelegations = (res) => {
const data = commonResult(res)
let delegated = 0
for (const item of data) {
item.shares = atoms(Number(item.shares))
delegated += Number(item.shares)
}
delegated += ''
return {
delegated,
delegations: data
}
}
export const getDistributionDelegatorsRewards = (res) => {
const data = commonResult(res)
const rewards = data.rewards || []
const obj = {}
for (const item of rewards) {
const coin = createDisplayCoin(item.reward[0])
item.amount = coin.amount
obj[item.validator_address] = {
amount: item.amount
}
}
const total = data.total[0] ? createDisplayCoin(data.total[0]) : { amount: '0' }
return {
rewardObj: obj,
reward: total.amount,
rewards
}
}
// RPC ===
export const getRpcAbciInfo = (res) => {
return {
last_block_height: res.response.last_block_height
}
}
export const getRpcCommitHeight = (res) => {
const data = commonResult(res)
const precommits = (data.signed_header && data.signed_header.commit && data.signed_header.commit.precommits) || (data.signed_header && data.signed_header.commit && data.signed_header.commit.signatures)
const obj = {}
for (const item of precommits) {
if (item) {
const { validator_address } = item
obj[validator_address] = true
}
}
return obj
}
export const getRpcValidators = (res) => {
const data = commonResult(res)
return data
}
// 创世节点
export const getRpcGenesis = (res) => {
const data = commonResult(res)
data.genesis_time = data.genesis.genesis_time
return data
}
export const getRpcConsensus_state = (res) => {
const data = commonResult(res)
const height_vote_set = data.round_state.height_vote_set
return {
height_vote_set
}
}
export const getRpcBlockchain = (res) => {
const data = commonResult(res)
const last_height = Number(data.last_height)
const block_metas = []
for (const item of data.block_metas) {
const { header, block_id } = item
const { num_txs, height, last_block_id, time } = header
header.block_hash = block_id.hash
header.num_txs = num_txs && Number(num_txs) || (item.num_txs && Number(item.num_txs))
header.last_block_hash = last_block_id.hash
header.time = formatTime(time)
block_metas.push(header)
}
return {
last_height,
block_metas
}
}
+27
View File
@@ -0,0 +1,27 @@
import axios from 'axios'
const instance = axios.create({
baseURL: '/api'
});
// const CancelToken = axios.CancelToken;
instance.interceptors.request.use((config) => {
// const source = CancelToken.source();
// config.cancelToken = source.token
// if (!config.headers.serverCustom) {
// const { lcd } = store.state.wallet.currentChain
// config.headers.server = lcd
// }
return config;
}, function (error) {
return Promise.reject(error);
});
// 请求后,统一处理
instance.interceptors.response.use(function (response) {
return response.data;
}, function (error) {
return Promise.reject(error);
});
export default instance
+14
View File
@@ -0,0 +1,14 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-03-27 11:41:45
* @LastEditors: dingyi
* @LastEditTime: 2020-04-15 23:06:49
* @FilePath: /look-web/src/api/common/addChain.js
*/
import axios from 'axios'
export async function addChain(data) {
const res = await axios.post('/look/chain/create', data)
return res.data
}
+25
View File
@@ -0,0 +1,25 @@
// https://min-api.cryptocompare.com/documentation
// https://min-api.cryptocompare.com/data/price?fsym=ATOM&tsyms=USD,CNY&api_key=3993b9faad427d8df68c267d3e8664cd8923e6c590a4888023a14bd581ff1859
import http from '../axios'
// 币价
const request = async (unit) => {
const coin = await http.get(`/data/price`, {
params: {
fsym: unit || 'ATOM',
tsyms: 'USD,CNY',
api_key: '3993b9faad427d8df68c267d3e8664cd8923e6c590a4888023a14bd581ff1859'
},
headers: {
server: 'https://min-api.cryptocompare.com',
serverCustom: true
}
})
const { USD, CNY } = coin.data
return {
USD,
CNY,
}
}
export default request
+14
View File
@@ -0,0 +1,14 @@
/*
* @Description:
* @Autor: dingyi
* @Date: 2020-03-27 11:41:45
* @LastEditors: dingyi
* @LastEditTime: 2020-04-15 23:12:05
* @FilePath: /look-web/src/api/common/getChain.js
*/
import axios from 'axios'
export async function getChain() {
const res = await axios.get('/look/chain/type')
return res.data
}
+20
View File
@@ -0,0 +1,20 @@
import http from '../axios'
// 头像
const request = async ({identity}) => {
const res = await http.get(`/_/api/1.0/user/lookup.json`, {
params: { key_suffix: identity, fields: 'pictures' },
headers: {
server: 'https://keybase.io'
}
})
let avatar = ''
if (res.them && res.them.length > 0) {
avatar = res.them[0].pictures.primary.url
}
return {
avatar
}
}
export default request
+19
View File
@@ -0,0 +1,19 @@
// import http from '../interface'
// 内核版本自动获取
const request = async (baseUrl) => {
let res= await Promise.all([
http.get(`/node_info`, {}, { baseUrl }).catch(() => {}),
http.get(`/node-info`, {}, { baseUrl }).catch(() => {})
])
let version = ''
for (const item of res) {
if (item) {
version = item.data.version || item.data.node_info.version
}
}
return version
}
export default request
+83
View File
@@ -0,0 +1,83 @@
/*
* @Author: your name
* @Date: 2020-03-06 23:47:28
* @lastTime: 2021-02-19 15:51:03
* @LastEditors: dingyi
* @Description: In User Settings Edit
* @FilePath: /look-web/src/api/index.js
*/
import axios from './axios'
import * as requestV1 from './V1/request'
import * as responseV1 from './V1/response'
import * as requestV2 from './V2/request'
import * as responseV2 from './V2/response'
import * as requestV3 from './V3/request'
import * as responseV3 from './V3/response'
import * as requestV4 from './V4/request'
import * as responseV4 from './V4/response'
const version = window.chain.api
let config, resHandler
switch (version) {
case 'V1':
config = requestV1;
resHandler = responseV1;
break;
case 'V2':
config = requestV2;
resHandler = responseV2;
break;
case 'V3':
config = requestV3;
resHandler = responseV3;
break;
case 'V4':
config = requestV4;
resHandler = responseV4;
break;
default:
config = requestV1;
resHandler = responseV1;
break
}
export async function req(funcName, params) {
try {
const con = config[funcName]
let axiosConfig
params ? axiosConfig = con(params) : axiosConfig = con()
// 无需发起好像
if (!axiosConfig) return {}
// 返回查询数组
let res
if (axiosConfig.type === 'array') {
const requests = axiosConfig.requests
const arr = []
for (const item of requests) {
arr.push(
axios(item)
)
}
res = await Promise.all(arr)
if (axiosConfig.params) {
res.push(axiosConfig.params)
}
}
// 单个查询
if (!axiosConfig.type) {
res = await axios(axiosConfig)
}
const handle = resHandler[funcName]
return handle(res)
} catch (e) {
console.log(e)
}
}
export async function fetch(funcName, params) {
return await req(funcName, params)
}
+146
View File
@@ -0,0 +1,146 @@
const isDev = location.hostname === "localhost";
/**
LCD: curl https://cosmoshub.stakesystems.io/node_info
RPC: curl https://cosmoshub.stakesystems.io:2053/status
*/
export default {
"Mainnet": [{
"hash": "5e95f8d18ee6e64f7685a4db",
"api": "V4",
"chainId": "cosmoshub-3",
"name": "Cosmos Hub",
"lcd": "https://cosmoshub.stakesystems.io",
"rpc": "https://cosmoshub.stakesystems.io:2053",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "cosmos",
"unit": "ATOM",
"host": "cosmos.ping.pub"
}, {
"hash": "5e95f8d18ee6e64f7685a4dd",
"api": "V2",
"chainId": "irishub",
"name": "IRISnet",
"lcd": "https://rpc.irisnet.org",
"rpc": "http://seed-1.mainnet.irisnet.org:26657",
"logo": "/static/chains/irishub.svg",
"prefix": "iaa",
"unit": "IRIS",
"host": "iris.ping.pub"
}, {
"hash": "5e95f8d18ee6e64f7685a4de",
"api": "V1",
"chainId": "e-money",
"name": "e-money",
"lcd": "http://emoney.validator.network/light",
"rpc": "https://emoney.validator.network",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "",
"unit": "",
"host": "e-money.ping.pub"
}, {
"hash": "5f46381683d9d569a6ecc5dd",
"api": "V1",
"chainId": "iov-mainnet-2",
"name": "IOV Name Service",
"lcd": "http://lcd-private-iov-mainnet-2.iov.one",
"rpc": "https://rpc-private-iov-mainnet-2.iov.one",
"logo": "https://iov.one/static/media/logoIOV2.d25f8426.png",
"prefix": "star",
"unit": "IOV"
}, {
"hash": "5f8c078b90b5fb7856ae3a06",
"api": "V1",
"chainId": "kava-2",
"name": "Kava",
"lcd": "https://kava4.data.kava.io",
"rpc": "http://13.125.71.131:26657",
"logo": "/static/chains/kava.svg",
"prefix": "kava",
"unit": "KAVA",
"host": "kava.ping.pub"
}, {
"hash": "5f8c0ef91effe87834314467",
"api": "V4",
"chainId": "akashnet-1",
"name": "Akash DeCloud",
"lcd": "http://lcd.akash.forbole.com",
"rpc": "http://rpc.akash.forbole.com",
"logo": "https://gblobscdn.gitbook.com/spaces%2F-LrNFlfuifzmQ_NMKu9C%2Favatar.png?alt=media",
"prefix": "akash",
"unit": "AKT",
"host": "akash.ping.pub"
}, {
"hash": "5fa15123f559583ed7465024",
"api": "V1",
"chainId": "gauss",
"name": "GAUSS",
"lcd": "https://txs-api-dev.app.gausslab.de:1317",
"rpc": "https://txs-api-dev.app.gausslab.de",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "gauss",
"unit": "gauss"
}],
"Testnet": [{
"hash": "5e95f8d18ee6e64f7685a4df",
"api": "V1",
"chainId": "sentinelhub-test",
"name": "Sentinel Network",
"lcd": "https://lcd.turing.sentinel.co",
"rpc": "https://rpc.turing.sentinel.co",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "",
"unit": "",
"host": "sentinel-test.ping.pub"
}, {
"hash": "5e95f8d18ee6e64f7685a4e1",
"api": "V1",
"chainId": "cyber-test",
"name": "cyber",
"lcd": "https://titan.cybernode.ai/lcd",
"rpc": "https://titan.cybernode.ai/api",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "",
"unit": "",
"host": "cyber-test.ping.pub"
}, {
"hash": "5eabf1d1b8eb6314e2d99264",
"api": "V1",
"chainId": "iovns-galaxynet",
"name": "iovns",
"lcd": "http://iovnscli-rest-api.cluster-galaxynet.iov.one",
"rpc": "https://rpc.cluster-galaxynet.iov.one/",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "cosmos",
"unit": "ATOM"
}, {
"hash": "5f92b494ea5b4a772bfebd01",
"api": "V1",
"chainId": "stargate-4",
"name": "stargate-4",
"lcd": "https://rest.gaiasg4.hub.hackatom.dev",
"rpc": "https://rpc.gaiasg4.hub.hackatom.dev",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "cosmos",
"unit": "Muon"
}, {
"hash": "5f92bb80ea5b4a772bfebd02",
"api": "V1",
"chainId": "bigbang-1",
"name": "BigBand-1",
"lcd": "http://47.101.10.160:1317",
"rpc": "http://47.101.10.160:26657",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "akash",
"unit": "STAR"
}, {
"hash": "5f92bb80ea5b4a772bfebd03",
"api": "V3",
"chainId": "stargate-final",
"name": "stargate-final",
"lcd": "http://47.101.10.160:1317/",
"rpc": "http://47.101.10.160:26657/",
"logo": "/static/chains/cosmoshub.svg",
"prefix": "cosmos",
"unit": "ATOM"
}]
};
+100
View File
@@ -0,0 +1,100 @@
<!--
* @Description:
* @Autor: dingyi
* @Date: 2020-03-22 19:19:39
* @LastEditors: dingyi
* @LastEditTime: 2020-07-18 16:30:27
* @FilePath: \look-web\src\components\DataTable.vue
-->
<script>
import DataTableColumn from "./DataTableColumn";
export default {
props: {
defaultSort: {
default() {
return {};
}
},
tableRowClassName: {
default() {
return null;
}
},
rowKey: {
default: null
},
columns: {
default() {
return [];
}
},
datas: {
default: null
},
tableSize: {
default: "small"
},
loading: {
default: false
}
},
components: {
DataTableColumn
}
};
</script>
<template>
<div style="overflow: auto;-webkit-overflow-scrolling: touch;">
<el-table
style="min-width: 600px;"
border
:size="tableSize"
:data="datas"
:default-sort="defaultSort"
v-show="columns.length > 0"
:row-class-name="tableRowClassName"
:header-cell-style="{ background: '#f1f5f7' }"
>
<el-table-column label="#" type="index" width="60"></el-table-column>
<el-table-column
v-for="(item, index) in columns"
:label="item.label"
:align="item.align"
:key="item[rowKey] || index"
:width="item.width"
:sortable="item.sortable"
:sort-method="item['sort-method']"
>
<template slot-scope="scope">
<data-table-column v-if="item.render" :column="item" :scope="scope" :render="item.render"></data-table-column>
<span v-else v-text="scope.row[item.prop]"></span>
</template>
</el-table-column>
<div
slot="empty"
class="datatable-empty"
v-loading="loading"
element-loading-text="Loading..."
>
<el-image style="width: 100px; height: 100px" src="/static/icon/empty3.png" fit="contain"></el-image>
<div style="line-height: 1;">No Data</div>
</div>
</el-table>
</div>
</template>
<style scoped>
.datatable-empty {
text-align: center;
padding: 80px 0;
}
.datatable-empty-icon {
font-size: 64px;
}
.datatable-paging-wrap {
margin-top: 20px;
}
</style>
+18
View File
@@ -0,0 +1,18 @@
<script>
export default {
functional: true,
render: (h, context) => {
return context.props.render(h, context, context.props.scope);
},
props: {
scope: {
default() {
return {};
}
},
render: {
type: Function
}
}
};
</script>
+26
View File
@@ -0,0 +1,26 @@
<template>
<div class="datatable-empty" v-loading="loading" element-loading-text="Loading...">
<el-image style="width: 100px; height: 100px" src="/static/icon/empty3.png" fit="contain"></el-image>
<div style="line-height: 1;">No Data</div>
</div>
</template>
<script>
export default {
props: {
loading: {
default: false
}
}
};
</script>
<style scoped>
.datatable-empty {
text-align: center;
margin: 30px 20px;
}
.datatable-empty-icon {
font-size: 64px;
}
</style>
+100
View File
@@ -0,0 +1,100 @@
<!--
* @Description:
* @Autor: dingyi
* @Date: 2020-04-10 20:40:39
* @LastEditors: dingyi
* @LastEditTime: 2020-04-12 14:24:14
* @FilePath: \look-web\src\components\FlipClock\FlipClock.vue
-->
/*
* 翻牌时钟
* @author: 兔子先生
* @createDate: 2019-11-24
*/
<template>
<div class="FlipClock">
<Flipper ref="flipperDay1" frontText="9" />
<Flipper ref="flipperDay2" />
<Flipper ref="flipperDay3" />
<em>-</em>
<Flipper ref="flipperHour1" />
<Flipper ref="flipperHour2" />
<em>:</em>
<Flipper ref="flipperMinute1" />
<Flipper ref="flipperMinute2" />
<em>:</em>
<Flipper ref="flipperSecond1" />
<Flipper ref="flipperSecond2" />
</div>
</template>
<script>
import dayjs from "dayjs";
import Flipper from "./Flipper";
export default {
name: "FlipClock",
data() {
return {
target: "2020-05-01 10:30:30", // 目标时间
timer: null,
flipObjs: []
};
},
components: {
Flipper
},
methods: {
// 日期时间补零
padLeftZero(str) {
return ("00" + str).substr(str.length);
},
// 计算差值
calRange() {
const now = dayjs();
const diff = dayjs(this.target).diff(now, "s");
console.log(diff);
const daySencond = 24 * 60 * 60;
const diff_day = parseInt(diff / daySencond);
const diff_senconds = diff - diff_day * daySencond;
const diff_hours = parseInt(diff_senconds / 60 / 60);
const diff_mints = diff_senconds - diff_hours * 60 * 60;
const diff_min = parseInt(diff_mints / 60);
const diff_s = diff_mints - diff_min * 60;
console.log(diff_day, diff_hours, diff_min, diff_s);
},
testTimer() {
let target = 9;
const timer = setInterval(() => {
this.$refs.flipperDay1.flipDown(target, target - 1);
target -= 1;
if (target === 0) {
clearInterval(timer);
}
}, 1000);
}
},
mounted() {
this.calRange();
this.$nextTick(() => {
// this.testTimer()
});
}
};
</script>
<style>
.FlipClock {
text-align: center;
}
.FlipClock .M-Flipper {
margin: 0 3px;
}
.FlipClock em {
display: inline-block;
line-height: 102px;
font-size: 66px;
font-style: normal;
vertical-align: top;
}
</style>
Loaded 100 of 208 files, more files were not shown because too many files have changed in this diff. Show more