diff --git a/CHANGELOG.md b/CHANGELOG.md index ae2deff..b1a4943 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [1.6.0](https://github.com/BlockABC/abcwallet.js/compare/v1.5.0...v1.6.0) (2021-04-09) + + +### Features + +* add new API for btc ([c5592e9](https://github.com/BlockABC/abcwallet.js/commit/c5592e99e441707e3be6a0256692750ba7bf84bf)) + # [1.5.0](https://github.com/BlockABC/abcwallet.js/compare/v1.4.2...v1.5.0) (2021-04-09) diff --git a/dist/abcwallet.umd.js b/dist/abcwallet.umd.js index 301a5f4..82a9908 100644 --- a/dist/abcwallet.umd.js +++ b/dist/abcwallet.umd.js @@ -3116,6 +3116,18 @@ var BTCAPI = /** @class */ (function (_super) { params: params }); }; + BTCAPI.prototype.signMessage = function (params) { + return this._request({ + method: 'signMessage', + params: params + }); + }; + BTCAPI.prototype.verifyMessage = function (params) { + return this._request({ + method: 'verifyMessage', + params: params + }); + }; return BTCAPI; }(ChainBaseAPI_1.default)); exports.BTCAPI = BTCAPI; @@ -6088,7 +6100,7 @@ exports.default = NativeChannel; /* 70 */ /***/ (function(module) { -module.exports = JSON.parse("{\"name\":\"abcwallet\",\"version\":\"1.5.0\",\"description\":\"The only and best SDK for ABCWallet application development.\",\"repository\":\"https://github.com/BlockABC/abcwallet.js\",\"license\":\"MIT\",\"scripts\":{\"build\":\"npm run build:esm && npm run build:cjs && npm run build:umd\",\"build:umd\":\"webpack --mode=production --config webpack.conf.js\",\"build:esm\":\"tsc -p tsconfig.esm.json\",\"build:cjs\":\"tsc -p tsconfig.cjs.json\",\"build:analysis\":\"webpack --mode=production --env.analysis --config webpack.conf.js\",\"dev\":\"webpack-dev-server --mode=development --config webpack.conf.js\",\"lint\":\"eslint --ext .ts --fix src/\",\"lint:nofix\":\"eslint --ext .ts src/\",\"test\":\"jest\",\"test:coverage\":\"jest --collect-coverage\",\"commit\":\"npx git-cz\",\"release\":\"node release.js\",\"pm2:reload\":\"pm2 reload ecosystem.config.js --only abcwallet.js\"},\"types\":\"./types/index.d.ts\",\"files\":[\"src/\",\"cjs/\",\"esm/\",\"dist/\",\"types/\",\"public/\"],\"keywords\":[\"eospark\",\"api\",\"service\"],\"author\":\"BlockABC FE Team\",\"main\":\"./cjs/index.js\",\"module\":\"./esm/index.js\",\"browser\":\"./dist/abcwallet.umd.min.js\",\"dependencies\":{\"eventemitter3\":\"^4.0.0\",\"lodash-es\":\"^4.0.0\",\"loglevel\":\"^1.0.0\",\"ts-custom-error\":\"^3.0.0\"},\"devDependencies\":{\"@semantic-release/changelog\":\"^5.0.0\",\"@semantic-release/exec\":\"^5.0.0\",\"@semantic-release/git\":\"^9.0.0\",\"@types/jest\":\"^24.0.11\",\"@types/node\":\"^11.13.4\",\"babel-eslint\":\"^10.0.3\",\"chokidar\":\"^3.0.2\",\"commitizen\":\"^4.0.3\",\"cz-conventional-changelog\":\"^3.1.0\",\"eslint\":\"^6.2.2\",\"eslint-config-blockabc\":\"^0.9.1\",\"html-webpack-plugin\":\"^4.0.1\",\"jest\":\"^24.8.0\",\"semantic-release\":\"^17.4.0\",\"ts-jest\":\"^24.0.0\",\"ts-loader\":\"^5.0.0\",\"typescript\":\"^4.0.0\",\"webpack\":\"^4.29.6\",\"webpack-bundle-analyzer\":\"^3.3.2\",\"webpack-cli\":\"^3.3.0\",\"webpack-dev-server\":\"^3.7.2\",\"webpack-merge\":\"^4.2.1\",\"dotenv\":\"^8.2.0\"},\"config\":{\"commitizen\":{\"path\":\"./node_modules/cz-conventional-changelog\"}}}"); +module.exports = JSON.parse("{\"name\":\"abcwallet\",\"version\":\"1.6.0\",\"description\":\"The only and best SDK for ABCWallet application development.\",\"repository\":\"https://github.com/BlockABC/abcwallet.js\",\"license\":\"MIT\",\"scripts\":{\"build\":\"npm run build:esm && npm run build:cjs && npm run build:umd\",\"build:umd\":\"webpack --mode=production --config webpack.conf.js\",\"build:esm\":\"tsc -p tsconfig.esm.json\",\"build:cjs\":\"tsc -p tsconfig.cjs.json\",\"build:analysis\":\"webpack --mode=production --env.analysis --config webpack.conf.js\",\"dev\":\"webpack-dev-server --mode=development --config webpack.conf.js\",\"lint\":\"eslint --ext .ts --fix src/\",\"lint:nofix\":\"eslint --ext .ts src/\",\"test\":\"jest\",\"test:coverage\":\"jest --collect-coverage\",\"commit\":\"npx git-cz\",\"release\":\"node release.js\",\"pm2:reload\":\"pm2 reload ecosystem.config.js --only abcwallet.js\"},\"types\":\"./types/index.d.ts\",\"files\":[\"src/\",\"cjs/\",\"esm/\",\"dist/\",\"types/\",\"public/\"],\"keywords\":[\"eospark\",\"api\",\"service\"],\"author\":\"BlockABC FE Team\",\"main\":\"./cjs/index.js\",\"module\":\"./esm/index.js\",\"browser\":\"./dist/abcwallet.umd.min.js\",\"dependencies\":{\"eventemitter3\":\"^4.0.0\",\"lodash-es\":\"^4.0.0\",\"loglevel\":\"^1.0.0\",\"ts-custom-error\":\"^3.0.0\"},\"devDependencies\":{\"@semantic-release/changelog\":\"^5.0.0\",\"@semantic-release/exec\":\"^5.0.0\",\"@semantic-release/git\":\"^9.0.0\",\"@types/jest\":\"^24.0.11\",\"@types/node\":\"^11.13.4\",\"babel-eslint\":\"^10.0.3\",\"chokidar\":\"^3.0.2\",\"commitizen\":\"^4.0.3\",\"cz-conventional-changelog\":\"^3.1.0\",\"eslint\":\"^6.2.2\",\"eslint-config-blockabc\":\"^0.9.1\",\"html-webpack-plugin\":\"^4.0.1\",\"jest\":\"^24.8.0\",\"semantic-release\":\"^17.4.0\",\"ts-jest\":\"^24.0.0\",\"ts-loader\":\"^5.0.0\",\"typescript\":\"^4.0.0\",\"webpack\":\"^4.29.6\",\"webpack-bundle-analyzer\":\"^3.3.2\",\"webpack-cli\":\"^3.3.0\",\"webpack-dev-server\":\"^3.7.2\",\"webpack-merge\":\"^4.2.1\",\"dotenv\":\"^8.2.0\"},\"config\":{\"commitizen\":{\"path\":\"./node_modules/cz-conventional-changelog\"}}}"); /***/ }), /* 71 */ diff --git a/dist/abcwallet.umd.min.js b/dist/abcwallet.umd.min.js index 5614339..e69626b 100644 --- a/dist/abcwallet.umd.min.js +++ b/dist/abcwallet.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ABCWallet=e():t.ABCWallet=e()}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=44)}([function(t,e,r){"use strict";var n=Array.isArray;e.a=n},function(t,e,r){"use strict";var n=r(28),o="object"==typeof self&&self&&self.Object===Object&&self,i=n.a||o||Function("return this")();e.a=i},function(t,e,r){"use strict";var n,o=r(25),i=r(1).a["__core-js_shared__"],a=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";var u=function(t){return!!a&&a in t},c=r(3),s=r(8),l=/^\[object .+?Constructor\]$/,f=Function.prototype,p=Object.prototype,d=f.toString,v=p.hasOwnProperty,h=RegExp("^"+d.call(v).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var y=function(t){return!(!Object(c.a)(t)||u(t))&&(Object(o.default)(t)?h:l).test(Object(s.a)(t))};var _=function(t,e){return null==t?void 0:t[e]};e.a=function(t,e){var r=_(t,e);return y(r)?r:void 0}},function(t,e,r){"use strict";e.a=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e,r){"use strict";var n=r(1).a.Symbol;e.a=n},function(t,e,r){"use strict";e.a=function(t){return null!=t&&"object"==typeof t}},function(t,e,r){"use strict";var n=r(4),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=n.a?n.a.toStringTag:void 0;var c=function(t){var e=i.call(t,u),r=t[u];try{t[u]=void 0;var n=!0}catch(t){}var o=a.call(t);return n&&(e?t[u]=r:delete t[u]),o},s=Object.prototype.toString;var l=function(t){return s.call(t)},f=n.a?n.a.toStringTag:void 0;e.a=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":f&&f in Object(t)?c(t):l(t)}},function(t,e,r){"use strict";var n=r(18);e.a=function(t){if("string"==typeof t||Object(n.a)(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},function(t,e,r){"use strict";var n=Function.prototype.toString;e.a=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseAPI=void 0;var n=function(){function t(t){this._abcwallet=t}return t.prototype._request=function(t,e){return void 0===e&&(e=!1),t.namespace=this._namespace,this._abcwallet.request(t,e)},t}();e.BaseAPI=n,e.default=n},function(t,e,r){"use strict";var n=r(25),o=r(19);e.a=function(t){return null!=t&&Object(o.a)(t.length)&&!Object(n.default)(t)}},function(t,e,r){"use strict";var n=/^(?:0|[1-9]\d*)$/;e.a=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t-1};var l=function(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e0)throw a.ABCWalletError.fromCode(10,"["+r.toString()+"]");return!0},e.isDocumentHidden=u,e.invokeNative=function(t,e){void 0===e&&(e=5e3);var r=!1,n=Date.now(),o=function(){u()&&(r=!0)};return document.addEventListener("visibilitychange",o),new Promise((function(i,a){"string"==typeof t&&(window.location.href=t),"function"==typeof t&&t(),setTimeout((function(){document.removeEventListener("visibilitychange",o);var t=Date.now()-n>e+1e3;u()||r||t?i():a(new Error("open failed"))}),e)}))}},function(t,e,r){"use strict";var n=r(2),o=Object(n.a)(Object,"create");var i=function(){this.__data__=o?o(null):{},this.size=0};var a=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},u=Object.prototype.hasOwnProperty;var c=function(t){var e=this.__data__;if(o){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return u.call(e,t)?e[t]:void 0},s=Object.prototype.hasOwnProperty;var l=function(t){var e=this.__data__;return o?void 0!==e[t]:s.call(e,t)};var f=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=o&&void 0===e?"__lodash_hash_undefined__":e,this};function p(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991}},function(t,e,r){"use strict";var n=r(0),o=r(18),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.a=function(t,e){if(Object(n.a)(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Object(o.a)(t))||(a.test(t)||!i.test(t)||null!=e&&t in Object(e))}},function(t,e,r){"use strict";var n=r(14),o=r(7);e.a=function(t,e){for(var r=0,i=(e=Object(n.a)(e,t)).length;null!=t&&ru))return!1;var s=i.get(t),l=i.get(e);if(s&&l)return s==e&&l==t;var f=-1,p=!0,d=2&r?new y:void 0;for(i.set(t,e),i.set(e,t);++f=0&&e<=i.levels.SILENT))throw"log.setLevel() called with invalid level: "+e;if(o=e,!1!==n&&function(t){var e=(r[t]||"silent").toUpperCase();if("undefined"!=typeof window&&u){try{return void(window.localStorage[u]=e)}catch(t){}try{window.document.cookie=encodeURIComponent(u)+"="+e+";"}catch(t){}}}(e),a.call(i,e,t),"undefined"==typeof console&&e36e5&&r.log.warn("ABCWallet.response take too long(more than 5000ms):",e.path)}))}),1e3),r}return o(e,t),e.prototype.request=function(t,e){var r=this;return void 0===e&&(e=!1),new Promise((function(n,o){t=Object.assign(t,{id:e?"":a.default("abcwallet-"),jsonrpc:"2.0"}),e||(r.log.debug("ABCWallet.request add promise: ",t.id),r._promises.set(t.id,{resolve:n,reject:o,path:t.namespace+":"+t.method,createdAt:new Date})),r.log.debug("ABCWallet.request will send message:",t),r._channel.postMessage(t)}))},e.prototype.response=function(t){try{t=JSON.parse(t),this.log.debug("ABCWallet.response received message:",t)}catch(t){return void this.log.error("ABCWallet.call parse message JSON failed.")}var e=t.id,r=t.method,n=t.params;if(s.isRequest(t))this.log.debug("ABCWallet.response trigger notify:",e),this.emit("notify:"+r,n);else{var o=this._promises.get(e);if(!o)return void this.log.error("ABCWallet.response can not find promise for message:",e);(new Date).getTime()-o.createdAt.getTime()>5e3&&this.log.warn("ABCWallet.response take too long(more than 5000ms):",o.path),this._promises.delete(e),this.log.debug("ABCWallet.response find and delete promise:",e),t.error?(this.log.error("ABCWallet.response error:",t.error),o.reject.call(this,t.error)):(this.log.debug("ABCWallet.response result:",t.result),o.resolve.call(this,t.result))}},e.prototype.call=function(t){var e=this;try{t=JSON.parse(t),this.log.debug("ABCWallet.call received message:",t)}catch(t){return void this.log.error("ABCWallet.call parse message JSON failed.")}var r=t.id,n=t.namespace,o=t.method,i=t.params,a=window[n];if(a)if(a[o]&&u.default(a[o])){var c=a[o](i);c.then&&c.catch?c.then((function(t){e._channel.postMessage({jsonrpc:"2.0",id:r,result:t})})):this._channel.postMessage({jsonrpc:"2.0",id:r,result:c})}else this.log.error("ABCWallet.call can not find method: "+n+"."+o);else this.log.error("ABCWallet.call can not find namespace: "+n)},Object.defineProperty(e.prototype,"isABCWallet",{get:function(){var t=window.navigator.userAgent;return/ABCWallet/i.test(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clientVersion",{get:function(){var t=window.navigator.userAgent.match(/ABCWallet\/([a-zA-Z-_]+)/g),e=t&&t[t.length-1]&&t[t.length-1].split("/"),r="";return e[1]&&(r=e[1]),r},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clientLanguage",{get:function(){var t=window.navigator.userAgent.match(/Language\/([a-zA-Z-_]+)/g),e=t&&t[t.length-1]&&t[t.length-1].split("/"),r="";return e[1]&&(r=e[1]),r},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clientFiat",{get:function(){var t=window.navigator.userAgent.match(/Fiat\/([a-zA-Z-_]+)/g),e=t&&t[t.length-1]&&t[t.length-1].split("/"),r="";return e[1]&&(r=e[1]),r},enumerable:!1,configurable:!0}),e.prototype.compareVersion=function(t){var e=this.clientVersion;if(!e)return null;for(var r=e.split("."),n=t.split("."),o=0;oa)return 1;if(i-1&&t%1==0&&t-1};var l=function(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e0)throw a.ABCWalletError.fromCode(10,"["+r.toString()+"]");return!0},e.isDocumentHidden=u,e.invokeNative=function(t,e){void 0===e&&(e=5e3);var r=!1,n=Date.now(),o=function(){u()&&(r=!0)};return document.addEventListener("visibilitychange",o),new Promise((function(i,a){"string"==typeof t&&(window.location.href=t),"function"==typeof t&&t(),setTimeout((function(){document.removeEventListener("visibilitychange",o);var t=Date.now()-n>e+1e3;u()||r||t?i():a(new Error("open failed"))}),e)}))}},function(t,e,r){"use strict";var n=r(2),o=Object(n.a)(Object,"create");var i=function(){this.__data__=o?o(null):{},this.size=0};var a=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},u=Object.prototype.hasOwnProperty;var c=function(t){var e=this.__data__;if(o){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return u.call(e,t)?e[t]:void 0},s=Object.prototype.hasOwnProperty;var l=function(t){var e=this.__data__;return o?void 0!==e[t]:s.call(e,t)};var f=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=o&&void 0===e?"__lodash_hash_undefined__":e,this};function p(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991}},function(t,e,r){"use strict";var n=r(0),o=r(18),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.a=function(t,e){if(Object(n.a)(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Object(o.a)(t))||(a.test(t)||!i.test(t)||null!=e&&t in Object(e))}},function(t,e,r){"use strict";var n=r(14),o=r(7);e.a=function(t,e){for(var r=0,i=(e=Object(n.a)(e,t)).length;null!=t&&ru))return!1;var s=i.get(t),l=i.get(e);if(s&&l)return s==e&&l==t;var f=-1,p=!0,d=2&r?new y:void 0;for(i.set(t,e),i.set(e,t);++f=0&&e<=i.levels.SILENT))throw"log.setLevel() called with invalid level: "+e;if(o=e,!1!==n&&function(t){var e=(r[t]||"silent").toUpperCase();if("undefined"!=typeof window&&u){try{return void(window.localStorage[u]=e)}catch(t){}try{window.document.cookie=encodeURIComponent(u)+"="+e+";"}catch(t){}}}(e),a.call(i,e,t),"undefined"==typeof console&&e36e5&&r.log.warn("ABCWallet.response take too long(more than 5000ms):",e.path)}))}),1e3),r}return o(e,t),e.prototype.request=function(t,e){var r=this;return void 0===e&&(e=!1),new Promise((function(n,o){t=Object.assign(t,{id:e?"":a.default("abcwallet-"),jsonrpc:"2.0"}),e||(r.log.debug("ABCWallet.request add promise: ",t.id),r._promises.set(t.id,{resolve:n,reject:o,path:t.namespace+":"+t.method,createdAt:new Date})),r.log.debug("ABCWallet.request will send message:",t),r._channel.postMessage(t)}))},e.prototype.response=function(t){try{t=JSON.parse(t),this.log.debug("ABCWallet.response received message:",t)}catch(t){return void this.log.error("ABCWallet.call parse message JSON failed.")}var e=t.id,r=t.method,n=t.params;if(s.isRequest(t))this.log.debug("ABCWallet.response trigger notify:",e),this.emit("notify:"+r,n);else{var o=this._promises.get(e);if(!o)return void this.log.error("ABCWallet.response can not find promise for message:",e);(new Date).getTime()-o.createdAt.getTime()>5e3&&this.log.warn("ABCWallet.response take too long(more than 5000ms):",o.path),this._promises.delete(e),this.log.debug("ABCWallet.response find and delete promise:",e),t.error?(this.log.error("ABCWallet.response error:",t.error),o.reject.call(this,t.error)):(this.log.debug("ABCWallet.response result:",t.result),o.resolve.call(this,t.result))}},e.prototype.call=function(t){var e=this;try{t=JSON.parse(t),this.log.debug("ABCWallet.call received message:",t)}catch(t){return void this.log.error("ABCWallet.call parse message JSON failed.")}var r=t.id,n=t.namespace,o=t.method,i=t.params,a=window[n];if(a)if(a[o]&&u.default(a[o])){var c=a[o](i);c.then&&c.catch?c.then((function(t){e._channel.postMessage({jsonrpc:"2.0",id:r,result:t})})):this._channel.postMessage({jsonrpc:"2.0",id:r,result:c})}else this.log.error("ABCWallet.call can not find method: "+n+"."+o);else this.log.error("ABCWallet.call can not find namespace: "+n)},Object.defineProperty(e.prototype,"isABCWallet",{get:function(){var t=window.navigator.userAgent;return/ABCWallet/i.test(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clientVersion",{get:function(){var t=window.navigator.userAgent.match(/ABCWallet\/([a-zA-Z-_]+)/g),e=t&&t[t.length-1]&&t[t.length-1].split("/"),r="";return e[1]&&(r=e[1]),r},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clientLanguage",{get:function(){var t=window.navigator.userAgent.match(/Language\/([a-zA-Z-_]+)/g),e=t&&t[t.length-1]&&t[t.length-1].split("/"),r="";return e[1]&&(r=e[1]),r},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clientFiat",{get:function(){var t=window.navigator.userAgent.match(/Fiat\/([a-zA-Z-_]+)/g),e=t&&t[t.length-1]&&t[t.length-1].split("/"),r="";return e[1]&&(r=e[1]),r},enumerable:!1,configurable:!0}),e.prototype.compareVersion=function(t){var e=this.clientVersion;if(!e)return null;for(var r=e.split("."),n=t.split("."),o=0;oa)return 1;if(i true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseAPI = void 0;\nvar BaseAPI = /** @class */ (function () {\n function BaseAPI(abcwallet) {\n this._abcwallet = abcwallet;\n }\n BaseAPI.prototype._request = function (payload, isNotify) {\n if (isNotify === void 0) { isNotify = false; }\n payload.namespace = this._namespace;\n return this._abcwallet.request(payload, isNotify);\n };\n return BaseAPI;\n}());\nexports.BaseAPI = BaseAPI;\nexports.default = BaseAPI;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.invokeNative = exports.isDocumentHidden = exports.verifyParams = exports.isRequest = void 0;\nvar every_1 = __importDefault(require(\"lodash-es/every\"));\nvar isNil_1 = __importDefault(require(\"lodash-es/isNil\"));\nvar error_1 = require(\"./error\");\nfunction isRequest(obj) {\n var requiredKeys = ['jsonrpc', 'id', 'namespace', 'method', 'params'];\n return every_1.default(requiredKeys, function (key) {\n return obj.hasOwnProperty(key);\n });\n}\nexports.isRequest = isRequest;\nfunction verifyParams(params, required) {\n if (isNil_1.default(params)) {\n throw error_1.ABCWalletError.fromCode(10, \"[\" + required.toString() + \"]\");\n }\n var missing = [];\n for (var _i = 0, required_1 = required; _i < required_1.length; _i++) {\n var key = required_1[_i];\n if (!params.hasOwnProperty(key) || isNil_1.default(params[key])) {\n missing.push(key);\n }\n }\n if (missing.length > 0) {\n throw error_1.ABCWalletError.fromCode(10, \"[\" + missing.toString() + \"]\");\n }\n return true;\n}\nexports.verifyParams = verifyParams;\n/**\n * 判断当前页面是否被隐藏了\n */\nfunction isDocumentHidden() {\n return document.hidden || document.visibilityState === 'hidden';\n}\nexports.isDocumentHidden = isDocumentHidden;\n/**\n * 唤起 native\n * @param schema {string|Function} string 的时候是一个要唤起的 schema;Function 时是一个要执行的动作\n * @param timeout\n */\nfunction invokeNative(schema, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n var hidden = false;\n var startTime = Date.now();\n var visibilityChangeHandler = function () {\n if (isDocumentHidden()) {\n hidden = true;\n }\n };\n document.addEventListener('visibilitychange', visibilityChangeHandler);\n return new Promise(function (resolve, reject) {\n if (typeof schema === 'string') {\n window.location.href = schema;\n }\n if (typeof schema === 'function') {\n schema();\n }\n setTimeout(function () {\n document.removeEventListener('visibilitychange', visibilityChangeHandler);\n var endTime = Date.now();\n var delayed = endTime - startTime > timeout + 1000; // timeout 的执行是否被延迟了\n if (isDocumentHidden() || hidden || delayed) {\n resolve();\n }\n else {\n reject(new Error('open failed'));\n }\n }, timeout);\n });\n}\nexports.invokeNative = invokeNative;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n","import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BTCAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar BTCAPI = /** @class */ (function (_super) {\n __extends(BTCAPI, _super);\n function BTCAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'btc';\n return _this;\n }\n BTCAPI.prototype.offerIdentity = function () {\n return this._request({\n method: 'offerIdentity',\n params: {}\n });\n };\n BTCAPI.prototype.sign = function (params) {\n return this._request({\n method: 'sign',\n params: params\n });\n };\n BTCAPI.prototype.sendTransaction = function (params) {\n return this._request({\n method: 'sendTransaction',\n params: params\n });\n };\n return BTCAPI;\n}(ChainBaseAPI_1.default));\nexports.BTCAPI = BTCAPI;\nexports.default = BTCAPI;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChainBaseAPI = void 0;\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar ChainBaseAPI = /** @class */ (function (_super) {\n __extends(ChainBaseAPI, _super);\n function ChainBaseAPI() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChainBaseAPI.prototype.pushSimpleTransaction = function (params) {\n return this._request({\n method: 'pushSimpleTransaction',\n params: {}\n });\n };\n ChainBaseAPI.prototype.getAddressFromAddressBook = function () {\n return this._request({\n method: 'getAddressFromAddressBook',\n params: {}\n });\n };\n ChainBaseAPI.prototype.getAddressFromCard = function () {\n return this._request({\n method: 'getAddressFromCard',\n params: {}\n });\n };\n ChainBaseAPI.prototype.sendSimpleTransaction = function (params) {\n return this._request({\n method: 'sendSimpleTransaction',\n params: params,\n });\n };\n return ChainBaseAPI;\n}(BaseAPI_1.default));\nexports.ChainBaseAPI = ChainBaseAPI;\nexports.default = ChainBaseAPI;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nexport default isNil;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar loglevel_1 = __importDefault(require(\"loglevel\"));\nvar ABCWallet_1 = require(\"./ABCWallet\");\nvar log = loglevel_1.default.getLogger('ABCWallet');\nlog.setLevel('debug');\nvar abcwallet = new ABCWallet_1.ABCWallet(log);\nexports.default = abcwallet;\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ABCWallet = void 0;\nvar uniqueId_1 = __importDefault(require(\"lodash-es/uniqueId\"));\nvar isFunction_1 = __importDefault(require(\"lodash-es/isFunction\"));\nvar eventemitter3_1 = __importDefault(require(\"eventemitter3\"));\nvar helper_1 = require(\"./helper\");\nvar api_1 = __importDefault(require(\"./api\"));\nvar channel_1 = require(\"./channel\");\nvar pkg = require('../package.json');\nvar ABCWallet = /** @class */ (function (_super) {\n __extends(ABCWallet, _super);\n function ABCWallet(logger) {\n var _this = _super.call(this) || this;\n _this._promises = new Map();\n _this.version = pkg.version;\n window.ABCWallet = _this;\n _this.log = logger;\n if (window.self !== window.top) {\n _this._channel = new channel_1.IframeChannel();\n window.onmessage = function (event) {\n if (event.data && typeof event.data === 'string' && event.data.includes('\"jsonrpc\":\"2.0\"')) {\n _this.response(event.data);\n }\n };\n }\n else {\n _this._channel = new channel_1.NativeChannel('ABCWalletBridge', logger);\n }\n for (var _i = 0, _a = Object.keys(api_1.default); _i < _a.length; _i++) {\n var key = _a[_i];\n _this[key] = new api_1.default[key](_this);\n }\n _this._timer = setInterval(function () {\n var now = (new Date()).getTime();\n _this._promises.forEach(function (promise) {\n var duration = now - promise.createdAt.getTime();\n if (duration > 3600 * 1000) {\n _this.log.warn('ABCWallet.response take too long(more than 5000ms):', promise.path);\n }\n });\n }, 1000);\n return _this;\n }\n ABCWallet.prototype.request = function (payload, isNotify) {\n var _this = this;\n if (isNotify === void 0) { isNotify = false; }\n return new Promise(function (resolve, reject) {\n payload = Object.assign(payload, { id: isNotify ? '' : uniqueId_1.default('abcwallet-'), jsonrpc: '2.0' });\n // 如果不是通知,将 promise 的方法和回调都保存起来,等待响应\n if (!isNotify) {\n _this.log.debug('ABCWallet.request add promise: ', payload.id);\n _this._promises.set(payload.id, {\n resolve: resolve,\n reject: reject,\n path: payload.namespace + \":\" + payload.method,\n createdAt: new Date()\n });\n }\n _this.log.debug('ABCWallet.request will send message:', payload);\n _this._channel.postMessage(payload);\n });\n };\n ABCWallet.prototype.response = function (msg) {\n try {\n msg = JSON.parse(msg);\n this.log.debug('ABCWallet.response received message:', msg);\n }\n catch (err) {\n this.log.error('ABCWallet.call parse message JSON failed.');\n return;\n }\n var id = msg.id, method = msg.method, params = msg.params;\n if (helper_1.isRequest(msg)) {\n this.log.debug('ABCWallet.response trigger notify:', id);\n this.emit(\"notify:\" + method, params);\n }\n else {\n // provider 中对应的 promise 取出并 resolve\n var promise = this._promises.get(id);\n if (!promise) {\n this.log.error('ABCWallet.response can not find promise for message:', id);\n return;\n }\n var duration = (new Date()).getTime() - promise.createdAt.getTime();\n if (duration > 5000) {\n this.log.warn('ABCWallet.response take too long(more than 5000ms):', promise.path);\n }\n // 删除已处理的 promise\n this._promises.delete(id);\n this.log.debug('ABCWallet.response find and delete promise:', id);\n if (msg.error) {\n this.log.error('ABCWallet.response error:', msg.error);\n promise.reject.call(this, msg.error);\n }\n else {\n this.log.debug('ABCWallet.response result:', msg.result);\n promise.resolve.call(this, msg.result);\n }\n }\n };\n ABCWallet.prototype.call = function (msg) {\n var _this = this;\n try {\n msg = JSON.parse(msg);\n this.log.debug('ABCWallet.call received message:', msg);\n }\n catch (err) {\n this.log.error('ABCWallet.call parse message JSON failed.');\n return;\n }\n var id = msg.id, namespace = msg.namespace, method = msg.method, params = msg.params;\n // 根据 namespace 从全局取对应的对象\n var obj = window[namespace];\n if (!obj) {\n this.log.error(\"ABCWallet.call can not find namespace: \" + namespace);\n return;\n }\n if (!obj[method] || !isFunction_1.default(obj[method])) {\n this.log.error(\"ABCWallet.call can not find method: \" + namespace + \".\" + method);\n return;\n }\n var ret = obj[method](params);\n if (ret.then && ret.catch) {\n ret.then(function (ret) {\n _this._channel.postMessage({ jsonrpc: '2.0', id: id, result: ret });\n });\n }\n else {\n this._channel.postMessage({ jsonrpc: '2.0', id: id, result: ret });\n }\n };\n Object.defineProperty(ABCWallet.prototype, \"isABCWallet\", {\n get: function () {\n var UA = window.navigator.userAgent;\n return /ABCWallet/i.test(UA);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ABCWallet.prototype, \"clientVersion\", {\n get: function () {\n // todo 某个版本的 iOS 的 UA 设置了两次,后面一次是对的,所以这里做了一下兼容,后面择机去掉兼容\n var matches = window.navigator.userAgent.match(/ABCWallet\\/([a-zA-Z-_]+)/g); // 形如 Language/zh-CN\n var splitParts = matches && matches[matches.length - 1] && matches[matches.length - 1].split('/');\n var version = '';\n if (splitParts[1]) {\n version = splitParts[1];\n }\n return version;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ABCWallet.prototype, \"clientLanguage\", {\n get: function () {\n // todo 某个版本的 iOS 的 UA 设置了两次,后面一次是对的,所以这里做了一下兼容,后面择机去掉兼容\n var matches = window.navigator.userAgent.match(/Language\\/([a-zA-Z-_]+)/g); // 形如 Language/zh-CN\n var splitParts = matches && matches[matches.length - 1] && matches[matches.length - 1].split('/');\n var language = '';\n if (splitParts[1]) {\n language = splitParts[1];\n }\n return language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ABCWallet.prototype, \"clientFiat\", {\n get: function () {\n // todo 某个版本的 iOS 的 UA 设置了两次,后面一次是对的,所以这里做了一下兼容,后面择机去掉兼容\n var matches = window.navigator.userAgent.match(/Fiat\\/([a-zA-Z-_]+)/g);\n var splitParts = matches && matches[matches.length - 1] && matches[matches.length - 1].split('/');\n var fiat = '';\n if (splitParts[1]) {\n fiat = splitParts[1];\n }\n return fiat;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * check if clientVersion is greater/smaller/equal to targetVersion\n * @param targetVersion\n * @return -1 clientVersion smaller than targetVersion\n * @return 1 clientVersion greater than targetVersion\n * @return 0 clientVersion equal to targetVersion\n * @return null unknown, maybe not in ABCWallet\n */\n ABCWallet.prototype.compareVersion = function (targetVersion) {\n var clientVersion = this.clientVersion;\n if (!clientVersion)\n return null;\n var clientVersionParts = clientVersion.split('.');\n var targetVersionParts = targetVersion.split('.');\n for (var i = 0; i < clientVersionParts.length; i++) {\n var clientVersionPart = parseInt(clientVersionParts[i]);\n var targetVersionPart = parseInt(targetVersionParts[i]);\n if (clientVersionPart > targetVersionPart) {\n return 1;\n }\n else if (clientVersionPart < targetVersionPart) {\n return -1;\n }\n }\n return 0;\n };\n return ABCWallet;\n}(eventemitter3_1.default));\nexports.ABCWallet = ABCWallet;\nexports.default = ABCWallet;\n","import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nexport default uniqueId;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ABCWalletError = void 0;\nvar ts_custom_error_1 = require(\"ts-custom-error\");\nvar ABCWalletError = /** @class */ (function (_super) {\n __extends(ABCWalletError, _super);\n function ABCWalletError(code, message) {\n var _this = _super.call(this, message) || this;\n _this.code = code;\n return _this;\n }\n ABCWalletError.fromCode = function (code, extendMessage) {\n if (extendMessage === void 0) { extendMessage = ''; }\n return new ABCWalletError(code, ABCWalletError.messages[code] + extendMessage);\n };\n ABCWalletError.messages = {\n 1: 'Unkown error',\n 10: 'Params error, missing required params '\n };\n return ABCWalletError;\n}(ts_custom_error_1.CustomError));\nexports.ABCWalletError = ABCWalletError;\n","function fixProto(target, prototype) {\n var setPrototypeOf = Object.setPrototypeOf;\n setPrototypeOf ? setPrototypeOf(target, prototype) : target.__proto__ = prototype;\n}\nfunction fixStack(target, fn) {\n if (fn === void 0) {\n fn = target.constructor;\n }\n\n var captureStackTrace = Error.captureStackTrace;\n captureStackTrace && captureStackTrace(target, fn);\n}\n\nvar __extends = undefined && undefined.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } }\n };\n\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar CustomError = function (_super) {\n __extends(CustomError, _super);\n\n function CustomError(message) {\n var _newTarget = this.constructor;\n\n var _this = _super.call(this, message) || this;\n\n Object.defineProperty(_this, 'name', {\n value: _newTarget.name,\n enumerable: false,\n configurable: true\n });\n fixProto(_this, _newTarget.prototype);\n fixStack(_this);\n return _this;\n }\n\n return CustomError;\n}(Error);\n\nvar __spreadArrays = undefined && undefined.__spreadArrays || function () {\n var arguments$1 = arguments;\n\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) { s += arguments$1[i].length; }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) { for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) { r[k] = a[j]; } }\n\n return r;\n};\nfunction customErrorFactory(fn, parent) {\n if (parent === void 0) {\n parent = Error;\n }\n\n function CustomError() {\n var arguments$1 = arguments;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments$1[_i];\n }\n\n if (!(this instanceof CustomError)) { return new (CustomError.bind.apply(CustomError, __spreadArrays([void 0], args)))(); }\n parent.apply(this, args);\n Object.defineProperty(this, 'name', {\n value: fn.name || parent.name,\n enumerable: false,\n configurable: true\n });\n fn.apply(this, args);\n fixStack(this, CustomError);\n }\n\n return Object.defineProperties(CustomError, {\n prototype: {\n value: Object.create(parent.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n configurable: true\n }\n })\n }\n });\n}\n\nexport { CustomError, customErrorFactory };\n//# sourceMappingURL=custom-error.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserAPI = exports.EOSAPI = exports.ETCAPI = exports.ETHAPI = exports.CKBAPI = exports.DASHAPI = exports.LTCAPI = exports.BSVAPI = exports.BCHAPI = exports.BTCAPI = exports.PrivateAPI = exports.ABCIDAPI = exports.PartnerAPI = exports.DappAPI = exports.WebviewAPI = void 0;\nvar WebviewAPI_1 = require(\"./WebviewAPI\");\nObject.defineProperty(exports, \"WebviewAPI\", { enumerable: true, get: function () { return WebviewAPI_1.WebviewAPI; } });\nvar DappAPI_1 = require(\"./DappAPI\");\nObject.defineProperty(exports, \"DappAPI\", { enumerable: true, get: function () { return DappAPI_1.DappAPI; } });\nvar PartnerAPI_1 = require(\"./PartnerAPI\");\nObject.defineProperty(exports, \"PartnerAPI\", { enumerable: true, get: function () { return PartnerAPI_1.PartnerAPI; } });\nvar ABCIDAPI_1 = require(\"./ABCIDAPI\");\nObject.defineProperty(exports, \"ABCIDAPI\", { enumerable: true, get: function () { return ABCIDAPI_1.ABCIDAPI; } });\nvar PrivateAPI_1 = require(\"./PrivateAPI\");\nObject.defineProperty(exports, \"PrivateAPI\", { enumerable: true, get: function () { return PrivateAPI_1.PrivateAPI; } });\nvar BTCAPI_1 = require(\"./BTCAPI\");\nObject.defineProperty(exports, \"BTCAPI\", { enumerable: true, get: function () { return BTCAPI_1.BTCAPI; } });\nvar BCHAPI_1 = require(\"./BCHAPI\");\nObject.defineProperty(exports, \"BCHAPI\", { enumerable: true, get: function () { return BCHAPI_1.BCHAPI; } });\nvar BSVAPI_1 = require(\"./BSVAPI\");\nObject.defineProperty(exports, \"BSVAPI\", { enumerable: true, get: function () { return BSVAPI_1.BSVAPI; } });\nvar LTCAPI_1 = require(\"./LTCAPI\");\nObject.defineProperty(exports, \"LTCAPI\", { enumerable: true, get: function () { return LTCAPI_1.LTCAPI; } });\nvar DASHAPI_1 = require(\"./DASHAPI\");\nObject.defineProperty(exports, \"DASHAPI\", { enumerable: true, get: function () { return DASHAPI_1.DASHAPI; } });\nvar CKBAPI_1 = require(\"./CKBAPI\");\nObject.defineProperty(exports, \"CKBAPI\", { enumerable: true, get: function () { return CKBAPI_1.CKBAPI; } });\nvar ETHAPI_1 = require(\"./ETHAPI\");\nObject.defineProperty(exports, \"ETHAPI\", { enumerable: true, get: function () { return ETHAPI_1.ETHAPI; } });\nvar ETCAPI_1 = require(\"./ETCAPI\");\nObject.defineProperty(exports, \"ETCAPI\", { enumerable: true, get: function () { return ETCAPI_1.ETCAPI; } });\nvar EOSAPI_1 = require(\"./EOSAPI\");\nObject.defineProperty(exports, \"EOSAPI\", { enumerable: true, get: function () { return EOSAPI_1.EOSAPI; } });\nvar BrowserAPI_1 = require(\"./BrowserAPI\");\nObject.defineProperty(exports, \"BrowserAPI\", { enumerable: true, get: function () { return BrowserAPI_1.BrowserAPI; } });\nexports.default = {\n webview: WebviewAPI_1.WebviewAPI,\n dapp: DappAPI_1.DappAPI,\n partner: PartnerAPI_1.PartnerAPI,\n abcid: ABCIDAPI_1.ABCIDAPI,\n private: PrivateAPI_1.PrivateAPI,\n btc: BTCAPI_1.BTCAPI,\n bch: BCHAPI_1.BCHAPI,\n bsv: BSVAPI_1.BSVAPI,\n ltc: LTCAPI_1.LTCAPI,\n dash: DASHAPI_1.DASHAPI,\n ckb: CKBAPI_1.CKBAPI,\n eth: ETHAPI_1.ETHAPI,\n etc: ETCAPI_1.ETCAPI,\n eos: EOSAPI_1.EOSAPI,\n browser: BrowserAPI_1.BrowserAPI,\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebviewAPI = void 0;\nvar isNil_1 = __importDefault(require(\"lodash-es/isNil\"));\nvar omitBy_1 = __importDefault(require(\"lodash-es/omitBy\"));\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar WebviewAPI = /** @class */ (function (_super) {\n __extends(WebviewAPI, _super);\n function WebviewAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'webview';\n return _this;\n }\n WebviewAPI.prototype.setOrientation = function (params) {\n helper_1.verifyParams(params, ['horizontal']);\n return this._request({\n method: 'setOrientation',\n params: params\n }, true);\n };\n WebviewAPI.prototype.setFullscreen = function (params) {\n helper_1.verifyParams(params, ['fullscreen']);\n return this._request({\n method: 'setFullscreen',\n params: params\n }, true);\n };\n WebviewAPI.prototype.setTitlebar = function (params) {\n params = omitBy_1.default(params, isNil_1.default);\n return this._request({\n method: 'setTitlebar',\n params: params\n }, true);\n };\n WebviewAPI.prototype.home = function () {\n return this._request({\n method: 'home',\n params: {}\n }, true);\n };\n WebviewAPI.prototype.back = function () {\n return this._request({\n method: 'back',\n params: {}\n }, true);\n };\n WebviewAPI.prototype.close = function () {\n return this._request({\n method: 'close',\n params: {}\n }, true);\n };\n WebviewAPI.prototype.share = function (params) {\n if (params === void 0) { params = {}; }\n return this._request({\n method: 'share',\n params: params,\n }, true);\n };\n WebviewAPI.prototype.openUrl = function (params) {\n helper_1.verifyParams(params, ['url']);\n return this._request({\n method: 'openUrl',\n params: params\n }, true);\n };\n WebviewAPI.prototype.invokeQRScanner = function () {\n return this._request({\n method: 'invokeQRScanner',\n params: {}\n });\n };\n WebviewAPI.prototype.copy = function (params) {\n return this._request({\n method: 'copy',\n params: params,\n });\n };\n return WebviewAPI;\n}(BaseAPI_1.default));\nexports.WebviewAPI = WebviewAPI;\nexports.default = WebviewAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DappAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar DappAPI = /** @class */ (function (_super) {\n __extends(DappAPI, _super);\n function DappAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'dapp';\n return _this;\n }\n DappAPI.prototype.getDapp = function () {\n return this._request({\n method: 'getDapp',\n params: {}\n });\n };\n DappAPI.prototype.isCardExist = function (params) {\n helper_1.verifyParams(params, ['userId']);\n return this._request({\n method: 'isCardExist',\n params: params\n });\n };\n DappAPI.prototype.addCard = function (params) {\n return this._request({\n method: 'addCard',\n params: params\n });\n };\n DappAPI.prototype.updateCard = function (params) {\n return this._request({\n method: 'updateCard',\n params: params\n });\n };\n DappAPI.prototype.getCard = function (params) {\n return this._request({\n method: 'getCard',\n params: params\n });\n };\n DappAPI.prototype.updateCardBalance = function (params) {\n return this._request({\n method: 'updateCardBalance',\n params: params\n });\n };\n return DappAPI;\n}(BaseAPI_1.default));\nexports.DappAPI = DappAPI;\nexports.default = DappAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartnerAPI = void 0;\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar helper_1 = require(\"../helper\");\nvar PartnerAPI = /** @class */ (function (_super) {\n __extends(PartnerAPI, _super);\n function PartnerAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'partner';\n return _this;\n }\n /**\n * 添加合作方卡片\n *\n * @return {Promise}\n */\n PartnerAPI.prototype.addPartnerCard = function () {\n return this._request({\n method: 'addPartnerCard',\n params: {}\n });\n };\n /**\n * 查询合作方卡片是否已添加\n *\n * @return {Promise}\n */\n PartnerAPI.prototype.isPartnerCardExist = function () {\n return this._request({\n method: 'isPartnerCardExist',\n params: {}\n });\n };\n /**\n * 查询合作方卡片是否已添加\n *\n * @return {Promise}\n */\n PartnerAPI.prototype.addKeypairCard = function (params) {\n helper_1.verifyParams(params, ['chainType']);\n return this._request({\n method: 'addKeypairCard',\n params: params\n });\n };\n return PartnerAPI;\n}(BaseAPI_1.default));\nexports.PartnerAPI = PartnerAPI;\nexports.default = PartnerAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ABCIDAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar ABCIDAPI = /** @class */ (function (_super) {\n __extends(ABCIDAPI, _super);\n function ABCIDAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'abcid';\n return _this;\n }\n /**\n * 获取 ABCID\n *\n * @param params\n * @returns {Promise}\n */\n ABCIDAPI.prototype.getABCID = function (params) {\n helper_1.verifyParams(params, ['randomStr']);\n return this._request({\n method: 'getABCID',\n params: {\n randomStr: params.randomStr\n }\n });\n };\n /**\n * 获取 ABCID 关联的身份信息\n *\n * @param params\n * @returns {Promise}\n */\n ABCIDAPI.prototype.getIDInfo = function (params) {\n return this._request({\n method: 'getIDInfo',\n params: params,\n });\n };\n return ABCIDAPI;\n}(BaseAPI_1.default));\nexports.ABCIDAPI = ABCIDAPI;\nexports.default = ABCIDAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PrivateAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar PrivateAPI = /** @class */ (function (_super) {\n __extends(PrivateAPI, _super);\n function PrivateAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'abcwallet';\n return _this;\n }\n PrivateAPI.prototype.ensureHasCard = function (params) {\n helper_1.verifyParams(params, ['chainType']);\n return this._request({\n method: 'ensureHasCards',\n params: params\n }, true);\n };\n PrivateAPI.prototype.buildGiftTransaction = function (params) {\n helper_1.verifyParams(params, ['chainType', 'toAddress', 'toPrivateKey', 'value', 'skin', 'message']);\n return this._request({\n method: 'buildGiftTransaction',\n params: params\n });\n };\n PrivateAPI.prototype.encryptDataWithPrivateKey = function (params) {\n helper_1.verifyParams(params, ['chainType', 'data', 'publicKey']);\n return this._request({\n method: 'encryptDataWithPrivateKey',\n params: params\n });\n };\n PrivateAPI.prototype.decryptDataWithPrivateKey = function (params) {\n helper_1.verifyParams(params, ['chainType', 'cipher', 'publicKey']);\n return this._request({\n method: 'decryptDataWithPrivateKey',\n params: params\n });\n };\n PrivateAPI.prototype.forward = function (params) {\n helper_1.verifyParams(params, ['dapp', 'method', 'params']);\n return this._request({\n method: 'forward',\n params: params\n });\n };\n return PrivateAPI;\n}(BaseAPI_1.default));\nexports.PrivateAPI = PrivateAPI;\nexports.default = PrivateAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BCHAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar BCHAPI = /** @class */ (function (_super) {\n __extends(BCHAPI, _super);\n function BCHAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'bch';\n return _this;\n }\n return BCHAPI;\n}(BTCAPI_1.default));\nexports.BCHAPI = BCHAPI;\nexports.default = BCHAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BSVAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar BSVAPI = /** @class */ (function (_super) {\n __extends(BSVAPI, _super);\n function BSVAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'bsv';\n return _this;\n }\n return BSVAPI;\n}(BTCAPI_1.default));\nexports.BSVAPI = BSVAPI;\nexports.default = BSVAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LTCAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar LTCAPI = /** @class */ (function (_super) {\n __extends(LTCAPI, _super);\n function LTCAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'ltc';\n return _this;\n }\n return LTCAPI;\n}(BTCAPI_1.default));\nexports.LTCAPI = LTCAPI;\nexports.default = LTCAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DASHAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar DASHAPI = /** @class */ (function (_super) {\n __extends(DASHAPI, _super);\n function DASHAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'dash';\n return _this;\n }\n return DASHAPI;\n}(BTCAPI_1.default));\nexports.DASHAPI = DASHAPI;\nexports.default = DASHAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CKBAPI = void 0;\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar CKBAPI = /** @class */ (function (_super) {\n __extends(CKBAPI, _super);\n function CKBAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'ckb';\n return _this;\n }\n CKBAPI.prototype.sign = function (params) {\n console.log(params);\n return this._request({\n method: 'sign',\n params: params\n });\n };\n CKBAPI.prototype.sendTransaction = function (params) {\n return this._request({\n method: 'sendTransaction',\n params: params\n });\n };\n return CKBAPI;\n}(BaseAPI_1.default));\nexports.CKBAPI = CKBAPI;\nexports.default = CKBAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ETHAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar ETHAPI = /** @class */ (function (_super) {\n __extends(ETHAPI, _super);\n function ETHAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'eth';\n return _this;\n }\n return ETHAPI;\n}(ChainBaseAPI_1.default));\nexports.ETHAPI = ETHAPI;\nexports.default = ETHAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ETCAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar ETCAPI = /** @class */ (function (_super) {\n __extends(ETCAPI, _super);\n function ETCAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'etc';\n return _this;\n }\n return ETCAPI;\n}(ChainBaseAPI_1.default));\nexports.ETCAPI = ETCAPI;\nexports.default = ETCAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EOSAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar EOSAPI = /** @class */ (function (_super) {\n __extends(EOSAPI, _super);\n function EOSAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'eos';\n return _this;\n }\n return EOSAPI;\n}(ChainBaseAPI_1.default));\nexports.EOSAPI = EOSAPI;\nexports.default = EOSAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar BrowserAPI = /** @class */ (function (_super) {\n __extends(BrowserAPI, _super);\n function BrowserAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'dapp';\n return _this;\n }\n /**\n * invoker and open dapp in abcwallet client\n */\n BrowserAPI.prototype.openDapp = function (_a) {\n var url = _a.url, dapp_id = _a.dapp_id;\n return helper_1.invokeNative(\"abcwallet://open-dapp?url=\" + encodeURIComponent(url) + \"&dapp_id=\" + dapp_id);\n };\n return BrowserAPI;\n}(BaseAPI_1.default));\nexports.BrowserAPI = BrowserAPI;\nexports.default = BrowserAPI;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./IframeChannel\"), exports);\n__exportStar(require(\"./NativeChannel\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IframeChannel = void 0;\nvar IframeChannel = /** @class */ (function () {\n function IframeChannel() {\n }\n IframeChannel.prototype.postMessage = function (data) {\n parent.postMessage(data, '*');\n };\n return IframeChannel;\n}());\nexports.IframeChannel = IframeChannel;\nexports.default = IframeChannel;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NativeChannel = void 0;\n/**\n * Native Channel\n */\nvar NativeChannel = /** @class */ (function () {\n function NativeChannel(requestChannel, logger) {\n this._isIOS = false;\n this._isAndroid = false;\n this._isElectron = false;\n this.log = logger;\n this.requestChannel = requestChannel;\n // Check runtime environment base on user-agent\n var ua = navigator.userAgent.toLowerCase();\n this._isIOS = ua.includes('iphone');\n this._isAndroid = ua.includes('android');\n this._isElectron = ua.includes('electron');\n }\n NativeChannel.prototype.postMessage = function (data) {\n var requestChannel = this.requestChannel;\n if (this._isIOS) {\n this.log.debug(\"NativeChannel send to ios \" + requestChannel);\n if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers[requestChannel] && window.webkit.messageHandlers[requestChannel].postMessage) {\n window.webkit.messageHandlers[requestChannel].postMessage(data);\n }\n else {\n var iframe_1 = document.createElement('iframe');\n iframe_1.setAttribute('src', \"abcwallet://\" + requestChannel + \"?data=\" + this._dataToString(data));\n iframe_1.setAttribute('style', 'display: none');\n document.body.appendChild(iframe_1);\n setTimeout(function () {\n document.body.removeChild(iframe_1);\n }, 100);\n }\n }\n else if (this._isAndroid) {\n this.log.debug(\"NativeChannel send to android \" + requestChannel);\n window[requestChannel].postMessage(this._dataToString(data));\n }\n else if (this._isElectron) {\n this.log.debug(\"NativeChannel send to electron \" + requestChannel);\n window[requestChannel].postMessage(this._dataToString(data));\n }\n else {\n this.log.info(\"Development runtime environment, no data will be sent.\\nYou may create mock response like this in console:\\nABCWallet.response(JSON.stringify(JSON.stringify( { jsonrpc: '\" + data.jsonrpc + \"', id: '\" + data.id + \"', result: your expected response object } )))\\n\");\n }\n };\n /**\n * 将数据类型统一为 string\n *\n * @protected\n * @param {*} data\n * @returns\n * @memberof NativeChannel\n */\n NativeChannel.prototype._dataToString = function (data) {\n return typeof data === 'string' ? data : JSON.stringify(data);\n };\n return NativeChannel;\n}());\nexports.NativeChannel = NativeChannel;\nexports.default = NativeChannel;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nexport default negate;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nexport default basePickBy;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport basePickBy from './_basePickBy.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nexport default pickBy;\n","import baseIteratee from './_baseIteratee.js';\nimport negate from './negate.js';\nimport pickBy from './pickBy.js';\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return pickBy(object, negate(baseIteratee(predicate)));\n}\n\nexport default omitBy;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nexport default arrayEvery;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nexport default baseEvery;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import arrayEvery from './_arrayEvery.js';\nimport baseEvery from './_baseEvery.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default every;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://ABCWallet/webpack/universalModuleDefinition","webpack://ABCWallet/webpack/bootstrap","webpack://ABCWallet/./node_modules/lodash-es/isArray.js","webpack://ABCWallet/./node_modules/lodash-es/_root.js","webpack://ABCWallet/./node_modules/lodash-es/_isMasked.js","webpack://ABCWallet/./node_modules/lodash-es/_coreJsData.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIsNative.js","webpack://ABCWallet/./node_modules/lodash-es/_getValue.js","webpack://ABCWallet/./node_modules/lodash-es/_getNative.js","webpack://ABCWallet/./node_modules/lodash-es/isObject.js","webpack://ABCWallet/./node_modules/lodash-es/_Symbol.js","webpack://ABCWallet/./node_modules/lodash-es/isObjectLike.js","webpack://ABCWallet/./node_modules/lodash-es/_getRawTag.js","webpack://ABCWallet/./node_modules/lodash-es/_objectToString.js","webpack://ABCWallet/./node_modules/lodash-es/_baseGetTag.js","webpack://ABCWallet/./node_modules/lodash-es/_toKey.js","webpack://ABCWallet/./node_modules/lodash-es/_toSource.js","webpack://ABCWallet/./src/api/BaseAPI.ts","webpack://ABCWallet/./node_modules/lodash-es/isArrayLike.js","webpack://ABCWallet/./node_modules/lodash-es/_isIndex.js","webpack://ABCWallet/./node_modules/lodash-es/eq.js","webpack://ABCWallet/./node_modules/lodash-es/_listCacheClear.js","webpack://ABCWallet/./node_modules/lodash-es/_assocIndexOf.js","webpack://ABCWallet/./node_modules/lodash-es/_listCacheDelete.js","webpack://ABCWallet/./node_modules/lodash-es/_listCacheGet.js","webpack://ABCWallet/./node_modules/lodash-es/_listCacheHas.js","webpack://ABCWallet/./node_modules/lodash-es/_listCacheSet.js","webpack://ABCWallet/./node_modules/lodash-es/_ListCache.js","webpack://ABCWallet/./node_modules/lodash-es/memoize.js","webpack://ABCWallet/./node_modules/lodash-es/_memoizeCapped.js","webpack://ABCWallet/./node_modules/lodash-es/_stringToPath.js","webpack://ABCWallet/./node_modules/lodash-es/_castPath.js","webpack://ABCWallet/./node_modules/lodash-es/_Map.js","webpack://ABCWallet/./src/helper.ts","webpack://ABCWallet/./node_modules/lodash-es/_nativeCreate.js","webpack://ABCWallet/./node_modules/lodash-es/_hashClear.js","webpack://ABCWallet/./node_modules/lodash-es/_hashDelete.js","webpack://ABCWallet/./node_modules/lodash-es/_hashGet.js","webpack://ABCWallet/./node_modules/lodash-es/_hashHas.js","webpack://ABCWallet/./node_modules/lodash-es/_hashSet.js","webpack://ABCWallet/./node_modules/lodash-es/_Hash.js","webpack://ABCWallet/./node_modules/lodash-es/_mapCacheClear.js","webpack://ABCWallet/./node_modules/lodash-es/_isKeyable.js","webpack://ABCWallet/./node_modules/lodash-es/_getMapData.js","webpack://ABCWallet/./node_modules/lodash-es/_mapCacheDelete.js","webpack://ABCWallet/./node_modules/lodash-es/_mapCacheGet.js","webpack://ABCWallet/./node_modules/lodash-es/_mapCacheHas.js","webpack://ABCWallet/./node_modules/lodash-es/_mapCacheSet.js","webpack://ABCWallet/./node_modules/lodash-es/_MapCache.js","webpack://ABCWallet/./node_modules/lodash-es/isSymbol.js","webpack://ABCWallet/./node_modules/lodash-es/isLength.js","webpack://ABCWallet/./node_modules/lodash-es/_isKey.js","webpack://ABCWallet/./node_modules/lodash-es/_baseGet.js","webpack://ABCWallet/./node_modules/lodash-es/_stackClear.js","webpack://ABCWallet/./node_modules/lodash-es/_stackDelete.js","webpack://ABCWallet/./node_modules/lodash-es/_stackGet.js","webpack://ABCWallet/./node_modules/lodash-es/_stackHas.js","webpack://ABCWallet/./node_modules/lodash-es/_stackSet.js","webpack://ABCWallet/./node_modules/lodash-es/_Stack.js","webpack://ABCWallet/./node_modules/lodash-es/_setCacheAdd.js","webpack://ABCWallet/./node_modules/lodash-es/_setCacheHas.js","webpack://ABCWallet/./node_modules/lodash-es/_SetCache.js","webpack://ABCWallet/./node_modules/lodash-es/_arraySome.js","webpack://ABCWallet/./node_modules/lodash-es/_cacheHas.js","webpack://ABCWallet/./node_modules/lodash-es/_equalArrays.js","webpack://ABCWallet/./node_modules/lodash-es/_Uint8Array.js","webpack://ABCWallet/./node_modules/lodash-es/_mapToArray.js","webpack://ABCWallet/./node_modules/lodash-es/_setToArray.js","webpack://ABCWallet/./node_modules/lodash-es/_equalByTag.js","webpack://ABCWallet/./node_modules/lodash-es/_getAllKeys.js","webpack://ABCWallet/./node_modules/lodash-es/_equalObjects.js","webpack://ABCWallet/./node_modules/lodash-es/_DataView.js","webpack://ABCWallet/./node_modules/lodash-es/_Promise.js","webpack://ABCWallet/./node_modules/lodash-es/_Set.js","webpack://ABCWallet/./node_modules/lodash-es/_WeakMap.js","webpack://ABCWallet/./node_modules/lodash-es/_getTag.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIsEqualDeep.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIsEqual.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIsMatch.js","webpack://ABCWallet/./node_modules/lodash-es/_isStrictComparable.js","webpack://ABCWallet/./node_modules/lodash-es/_getMatchData.js","webpack://ABCWallet/./node_modules/lodash-es/_matchesStrictComparable.js","webpack://ABCWallet/./node_modules/lodash-es/_baseMatches.js","webpack://ABCWallet/./node_modules/lodash-es/get.js","webpack://ABCWallet/./node_modules/lodash-es/_baseHasIn.js","webpack://ABCWallet/./node_modules/lodash-es/_hasPath.js","webpack://ABCWallet/./node_modules/lodash-es/hasIn.js","webpack://ABCWallet/./node_modules/lodash-es/_baseMatchesProperty.js","webpack://ABCWallet/./node_modules/lodash-es/identity.js","webpack://ABCWallet/./node_modules/lodash-es/_baseProperty.js","webpack://ABCWallet/./node_modules/lodash-es/_basePropertyDeep.js","webpack://ABCWallet/./node_modules/lodash-es/property.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIteratee.js","webpack://ABCWallet/./node_modules/lodash-es/_nativeKeys.js","webpack://ABCWallet/./node_modules/lodash-es/_baseKeys.js","webpack://ABCWallet/./node_modules/lodash-es/keys.js","webpack://ABCWallet/./src/api/BTCAPI.ts","webpack://ABCWallet/./node_modules/lodash-es/isFunction.js","webpack://ABCWallet/./node_modules/lodash-es/isBuffer.js","webpack://ABCWallet/./src/api/ChainBaseAPI.ts","webpack://ABCWallet/./node_modules/lodash-es/_freeGlobal.js","webpack://ABCWallet/./node_modules/lodash-es/_arrayMap.js","webpack://ABCWallet/./node_modules/lodash-es/_isPrototype.js","webpack://ABCWallet/./node_modules/lodash-es/_overArg.js","webpack://ABCWallet/./node_modules/lodash-es/_baseGetAllKeys.js","webpack://ABCWallet/./node_modules/lodash-es/_arrayPush.js","webpack://ABCWallet/./node_modules/lodash-es/stubArray.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIsTypedArray.js","webpack://ABCWallet/./node_modules/lodash-es/_baseUnary.js","webpack://ABCWallet/./node_modules/lodash-es/isTypedArray.js","webpack://ABCWallet/./node_modules/lodash-es/_baseToString.js","webpack://ABCWallet/./node_modules/lodash-es/toString.js","webpack://ABCWallet/./node_modules/lodash-es/_baseTimes.js","webpack://ABCWallet/./node_modules/lodash-es/_arrayLikeKeys.js","webpack://ABCWallet/./node_modules/lodash-es/_baseIsArguments.js","webpack://ABCWallet/./node_modules/lodash-es/isArguments.js","webpack://ABCWallet/./node_modules/lodash-es/_arrayFilter.js","webpack://ABCWallet/./node_modules/lodash-es/_getSymbols.js","webpack://ABCWallet/./node_modules/lodash-es/_nodeUtil.js","webpack://ABCWallet/(webpack)/buildin/harmony-module.js","webpack://ABCWallet/./node_modules/lodash-es/isNil.js","webpack://ABCWallet/./node_modules/lodash-es/stubFalse.js","webpack://ABCWallet/./src/index.ts","webpack://ABCWallet/./node_modules/loglevel/lib/loglevel.js","webpack://ABCWallet/./src/ABCWallet.ts","webpack://ABCWallet/./node_modules/lodash-es/uniqueId.js","webpack://ABCWallet/(webpack)/buildin/global.js","webpack://ABCWallet/./node_modules/eventemitter3/index.js","webpack://ABCWallet/./src/error.ts","webpack://ABCWallet/./node_modules/ts-custom-error/dist/custom-error.mjs","webpack://ABCWallet/./src/api/index.ts","webpack://ABCWallet/./src/api/WebviewAPI.ts","webpack://ABCWallet/./src/api/DappAPI.ts","webpack://ABCWallet/./src/api/PartnerAPI.ts","webpack://ABCWallet/./src/api/ABCIDAPI.ts","webpack://ABCWallet/./src/api/PrivateAPI.ts","webpack://ABCWallet/./src/api/BCHAPI.ts","webpack://ABCWallet/./src/api/BSVAPI.ts","webpack://ABCWallet/./src/api/LTCAPI.ts","webpack://ABCWallet/./src/api/DASHAPI.ts","webpack://ABCWallet/./src/api/CKBAPI.ts","webpack://ABCWallet/./src/api/ETHAPI.ts","webpack://ABCWallet/./src/api/ETCAPI.ts","webpack://ABCWallet/./src/api/EOSAPI.ts","webpack://ABCWallet/./src/api/BrowserAPI.ts","webpack://ABCWallet/./src/channel/index.ts","webpack://ABCWallet/./src/channel/IframeChannel.ts","webpack://ABCWallet/./src/channel/NativeChannel.ts","webpack://ABCWallet/./node_modules/lodash-es/negate.js","webpack://ABCWallet/./node_modules/lodash-es/_defineProperty.js","webpack://ABCWallet/./node_modules/lodash-es/_baseAssignValue.js","webpack://ABCWallet/./node_modules/lodash-es/_assignValue.js","webpack://ABCWallet/./node_modules/lodash-es/_baseSet.js","webpack://ABCWallet/./node_modules/lodash-es/_basePickBy.js","webpack://ABCWallet/./node_modules/lodash-es/_getPrototype.js","webpack://ABCWallet/./node_modules/lodash-es/_getSymbolsIn.js","webpack://ABCWallet/./node_modules/lodash-es/_nativeKeysIn.js","webpack://ABCWallet/./node_modules/lodash-es/_baseKeysIn.js","webpack://ABCWallet/./node_modules/lodash-es/keysIn.js","webpack://ABCWallet/./node_modules/lodash-es/_getAllKeysIn.js","webpack://ABCWallet/./node_modules/lodash-es/pickBy.js","webpack://ABCWallet/./node_modules/lodash-es/omitBy.js","webpack://ABCWallet/./node_modules/lodash-es/_arrayEvery.js","webpack://ABCWallet/./node_modules/lodash-es/_createBaseFor.js","webpack://ABCWallet/./node_modules/lodash-es/_baseFor.js","webpack://ABCWallet/./node_modules/lodash-es/_baseForOwn.js","webpack://ABCWallet/./node_modules/lodash-es/_createBaseEach.js","webpack://ABCWallet/./node_modules/lodash-es/_baseEach.js","webpack://ABCWallet/./node_modules/lodash-es/_baseEvery.js","webpack://ABCWallet/./node_modules/lodash-es/_isIterateeCall.js","webpack://ABCWallet/./node_modules/lodash-es/every.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","isArray","Array","freeSelf","self","Function","uid","maskSrcKey","exec","keys","IE_PROTO","func","reIsHostCtor","funcProto","objectProto","funcToString","toString","reIsNative","RegExp","replace","isObject","isFunction","test","undefined","type","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","e","result","BaseAPI","abcwallet","this","_abcwallet","_request","payload","isNotify","namespace","_namespace","request","default","length","reIsUint","other","__data__","size","array","eq","splice","data","index","pop","push","ListCache","entries","clear","entry","set","has","memoize","resolver","TypeError","memoized","args","arguments","apply","cache","Cache","rePropName","reEscapeChar","string","charCodeAt","match","number","quote","subString","Map","__importDefault","mod","invokeNative","isDocumentHidden","verifyParams","isRequest","every_1","isNil_1","error_1","document","hidden","visibilityState","obj","params","required","ABCWalletError","fromCode","missing","_i","required_1","schema","timeout","startTime","Date","now","visibilityChangeHandler","addEventListener","Promise","resolve","reject","location","href","setTimeout","removeEventListener","delayed","Error","Hash","map","MapCache","reIsDeepProp","reIsPlainProp","path","pairs","LARGE_ARRAY_SIZE","Stack","SetCache","values","add","predicate","bitmask","customizer","equalFunc","stack","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","Uint8Array","forEach","symbolProto","symbolValueOf","valueOf","byteLength","byteOffset","buffer","message","convert","stacked","objProps","objLength","objStacked","skipCtor","objValue","objCtor","constructor","othCtor","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","Ctor","ctorString","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","isBuffer","isTypedArray","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","isObjectLike","source","matchData","noCustomizer","srcValue","defaultValue","hasFunc","isLength","isArguments","isArrayLike","extendStatics","__extends","b","setPrototypeOf","__proto__","String","__","BTCAPI","_super","_this","offerIdentity","method","sign","sendTransaction","signMessage","verifyMessage","freeExports","nodeType","freeModule","Buffer","ChainBaseAPI","pushSimpleTransaction","getAddressFromAddressBook","getAddressFromCard","sendSimpleTransaction","freeGlobal","global","iteratee","transform","arg","keysFunc","symbolsFunc","offset","typedArrayTags","nodeIsTypedArray","symbolToString","baseToString","isSymbol","inherited","isArr","isArg","isBuff","isType","skipIndexes","propertyIsEnumerable","resIndex","nativeGetSymbols","getOwnPropertySymbols","getSymbols","symbol","stubArray","freeProcess","process","nodeUtil","types","require","binding","originalModule","webpackPolyfill","children","loglevel_1","ABCWallet_1","log","getLogger","setLevel","ABCWallet","definition","noop","isIE","navigator","userAgent","logMethods","bindMethod","methodName","traceForIE","console","trace","realMethod","replaceLoggingMethods","level","loggerName","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","defaultLevel","currentLevel","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","indexOf","encodeURIComponent","slice","levels","getLevel","persist","toUpperCase","SILENT","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","logger","_log","noConflict","getLoggers","uniqueId_1","isFunction_1","eventemitter3_1","helper_1","api_1","channel_1","pkg","_promises","version","top","_channel","IframeChannel","onmessage","event","includes","response","NativeChannel","_a","_timer","setInterval","getTime","promise","createdAt","warn","assign","id","jsonrpc","postMessage","msg","JSON","parse","err","error","emit","delete","ret","then","catch","UA","configurable","matches","splitParts","split","language","fiat","compareVersion","targetVersion","clientVersion","clientVersionParts","targetVersionParts","clientVersionPart","parseInt","targetVersionPart","idCounter","prefix","g","Events","EE","fn","context","once","addListener","emitter","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","names","concat","listeners","handlers","ee","listenerCount","a1","a2","a3","a4","a5","len","removeListener","j","on","removeAllListeners","off","prefixed","code","extendMessage","messages","1","10","CustomError","fixStack","target","captureStackTrace","_newTarget","__spreadArrays","arguments$1","il","k","a","jl","customErrorFactory","parent","defineProperties","writable","BrowserAPI","EOSAPI","ETCAPI","ETHAPI","CKBAPI","DASHAPI","LTCAPI","BSVAPI","BCHAPI","PrivateAPI","ABCIDAPI","PartnerAPI","DappAPI","WebviewAPI","WebviewAPI_1","DappAPI_1","PartnerAPI_1","ABCIDAPI_1","PrivateAPI_1","BTCAPI_1","BCHAPI_1","BSVAPI_1","LTCAPI_1","DASHAPI_1","CKBAPI_1","ETHAPI_1","ETCAPI_1","EOSAPI_1","BrowserAPI_1","webview","dapp","partner","abcid","private","btc","bch","bsv","ltc","dash","ckb","eth","etc","eos","browser","omitBy_1","setOrientation","setFullscreen","setTitlebar","home","back","close","share","openUrl","invokeQRScanner","copy","getDapp","isCardExist","addCard","updateCard","getCard","updateCardBalance","BaseAPI_1","addPartnerCard","isPartnerCardExist","addKeypairCard","getABCID","randomStr","getIDInfo","ensureHasCard","buildGiftTransaction","encryptDataWithPrivateKey","decryptDataWithPrivateKey","forward","openDapp","url","dapp_id","__createBinding","k2","__exportStar","requestChannel","_isIOS","_isAndroid","_isElectron","ua","toLowerCase","webkit","messageHandlers","iframe_1","createElement","setAttribute","_dataToString","body","appendChild","removeChild","info","stringify","lastIndex","nested","newValue","paths","getPrototypeOf","isProto","props","prop","fromRight","iterable","eachFunc","collection","guard"],"mappings":"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","file":"abcwallet.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ABCWallet\"] = factory();\n\telse\n\t\troot[\"ABCWallet\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 44);\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseAPI = void 0;\nvar BaseAPI = /** @class */ (function () {\n function BaseAPI(abcwallet) {\n this._abcwallet = abcwallet;\n }\n BaseAPI.prototype._request = function (payload, isNotify) {\n if (isNotify === void 0) { isNotify = false; }\n payload.namespace = this._namespace;\n return this._abcwallet.request(payload, isNotify);\n };\n return BaseAPI;\n}());\nexports.BaseAPI = BaseAPI;\nexports.default = BaseAPI;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.invokeNative = exports.isDocumentHidden = exports.verifyParams = exports.isRequest = void 0;\nvar every_1 = __importDefault(require(\"lodash-es/every\"));\nvar isNil_1 = __importDefault(require(\"lodash-es/isNil\"));\nvar error_1 = require(\"./error\");\nfunction isRequest(obj) {\n var requiredKeys = ['jsonrpc', 'id', 'namespace', 'method', 'params'];\n return every_1.default(requiredKeys, function (key) {\n return obj.hasOwnProperty(key);\n });\n}\nexports.isRequest = isRequest;\nfunction verifyParams(params, required) {\n if (isNil_1.default(params)) {\n throw error_1.ABCWalletError.fromCode(10, \"[\" + required.toString() + \"]\");\n }\n var missing = [];\n for (var _i = 0, required_1 = required; _i < required_1.length; _i++) {\n var key = required_1[_i];\n if (!params.hasOwnProperty(key) || isNil_1.default(params[key])) {\n missing.push(key);\n }\n }\n if (missing.length > 0) {\n throw error_1.ABCWalletError.fromCode(10, \"[\" + missing.toString() + \"]\");\n }\n return true;\n}\nexports.verifyParams = verifyParams;\n/**\n * 判断当前页面是否被隐藏了\n */\nfunction isDocumentHidden() {\n return document.hidden || document.visibilityState === 'hidden';\n}\nexports.isDocumentHidden = isDocumentHidden;\n/**\n * 唤起 native\n * @param schema {string|Function} string 的时候是一个要唤起的 schema;Function 时是一个要执行的动作\n * @param timeout\n */\nfunction invokeNative(schema, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n var hidden = false;\n var startTime = Date.now();\n var visibilityChangeHandler = function () {\n if (isDocumentHidden()) {\n hidden = true;\n }\n };\n document.addEventListener('visibilitychange', visibilityChangeHandler);\n return new Promise(function (resolve, reject) {\n if (typeof schema === 'string') {\n window.location.href = schema;\n }\n if (typeof schema === 'function') {\n schema();\n }\n setTimeout(function () {\n document.removeEventListener('visibilitychange', visibilityChangeHandler);\n var endTime = Date.now();\n var delayed = endTime - startTime > timeout + 1000; // timeout 的执行是否被延迟了\n if (isDocumentHidden() || hidden || delayed) {\n resolve();\n }\n else {\n reject(new Error('open failed'));\n }\n }, timeout);\n });\n}\nexports.invokeNative = invokeNative;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n","import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BTCAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar BTCAPI = /** @class */ (function (_super) {\n __extends(BTCAPI, _super);\n function BTCAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'btc';\n return _this;\n }\n BTCAPI.prototype.offerIdentity = function () {\n return this._request({\n method: 'offerIdentity',\n params: {}\n });\n };\n BTCAPI.prototype.sign = function (params) {\n return this._request({\n method: 'sign',\n params: params\n });\n };\n BTCAPI.prototype.sendTransaction = function (params) {\n return this._request({\n method: 'sendTransaction',\n params: params\n });\n };\n BTCAPI.prototype.signMessage = function (params) {\n return this._request({\n method: 'signMessage',\n params: params\n });\n };\n BTCAPI.prototype.verifyMessage = function (params) {\n return this._request({\n method: 'verifyMessage',\n params: params\n });\n };\n return BTCAPI;\n}(ChainBaseAPI_1.default));\nexports.BTCAPI = BTCAPI;\nexports.default = BTCAPI;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChainBaseAPI = void 0;\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar ChainBaseAPI = /** @class */ (function (_super) {\n __extends(ChainBaseAPI, _super);\n function ChainBaseAPI() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChainBaseAPI.prototype.pushSimpleTransaction = function (params) {\n return this._request({\n method: 'pushSimpleTransaction',\n params: {}\n });\n };\n ChainBaseAPI.prototype.getAddressFromAddressBook = function () {\n return this._request({\n method: 'getAddressFromAddressBook',\n params: {}\n });\n };\n ChainBaseAPI.prototype.getAddressFromCard = function () {\n return this._request({\n method: 'getAddressFromCard',\n params: {}\n });\n };\n ChainBaseAPI.prototype.sendSimpleTransaction = function (params) {\n return this._request({\n method: 'sendSimpleTransaction',\n params: params,\n });\n };\n return ChainBaseAPI;\n}(BaseAPI_1.default));\nexports.ChainBaseAPI = ChainBaseAPI;\nexports.default = ChainBaseAPI;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nexport default isNil;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar loglevel_1 = __importDefault(require(\"loglevel\"));\nvar ABCWallet_1 = require(\"./ABCWallet\");\nvar log = loglevel_1.default.getLogger('ABCWallet');\nlog.setLevel('debug');\nvar abcwallet = new ABCWallet_1.ABCWallet(log);\nexports.default = abcwallet;\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ABCWallet = void 0;\nvar uniqueId_1 = __importDefault(require(\"lodash-es/uniqueId\"));\nvar isFunction_1 = __importDefault(require(\"lodash-es/isFunction\"));\nvar eventemitter3_1 = __importDefault(require(\"eventemitter3\"));\nvar helper_1 = require(\"./helper\");\nvar api_1 = __importDefault(require(\"./api\"));\nvar channel_1 = require(\"./channel\");\nvar pkg = require('../package.json');\nvar ABCWallet = /** @class */ (function (_super) {\n __extends(ABCWallet, _super);\n function ABCWallet(logger) {\n var _this = _super.call(this) || this;\n _this._promises = new Map();\n _this.version = pkg.version;\n window.ABCWallet = _this;\n _this.log = logger;\n if (window.self !== window.top) {\n _this._channel = new channel_1.IframeChannel();\n window.onmessage = function (event) {\n if (event.data && typeof event.data === 'string' && event.data.includes('\"jsonrpc\":\"2.0\"')) {\n _this.response(event.data);\n }\n };\n }\n else {\n _this._channel = new channel_1.NativeChannel('ABCWalletBridge', logger);\n }\n for (var _i = 0, _a = Object.keys(api_1.default); _i < _a.length; _i++) {\n var key = _a[_i];\n _this[key] = new api_1.default[key](_this);\n }\n _this._timer = setInterval(function () {\n var now = (new Date()).getTime();\n _this._promises.forEach(function (promise) {\n var duration = now - promise.createdAt.getTime();\n if (duration > 3600 * 1000) {\n _this.log.warn('ABCWallet.response take too long(more than 5000ms):', promise.path);\n }\n });\n }, 1000);\n return _this;\n }\n ABCWallet.prototype.request = function (payload, isNotify) {\n var _this = this;\n if (isNotify === void 0) { isNotify = false; }\n return new Promise(function (resolve, reject) {\n payload = Object.assign(payload, { id: isNotify ? '' : uniqueId_1.default('abcwallet-'), jsonrpc: '2.0' });\n // 如果不是通知,将 promise 的方法和回调都保存起来,等待响应\n if (!isNotify) {\n _this.log.debug('ABCWallet.request add promise: ', payload.id);\n _this._promises.set(payload.id, {\n resolve: resolve,\n reject: reject,\n path: payload.namespace + \":\" + payload.method,\n createdAt: new Date()\n });\n }\n _this.log.debug('ABCWallet.request will send message:', payload);\n _this._channel.postMessage(payload);\n });\n };\n ABCWallet.prototype.response = function (msg) {\n try {\n msg = JSON.parse(msg);\n this.log.debug('ABCWallet.response received message:', msg);\n }\n catch (err) {\n this.log.error('ABCWallet.call parse message JSON failed.');\n return;\n }\n var id = msg.id, method = msg.method, params = msg.params;\n if (helper_1.isRequest(msg)) {\n this.log.debug('ABCWallet.response trigger notify:', id);\n this.emit(\"notify:\" + method, params);\n }\n else {\n // provider 中对应的 promise 取出并 resolve\n var promise = this._promises.get(id);\n if (!promise) {\n this.log.error('ABCWallet.response can not find promise for message:', id);\n return;\n }\n var duration = (new Date()).getTime() - promise.createdAt.getTime();\n if (duration > 5000) {\n this.log.warn('ABCWallet.response take too long(more than 5000ms):', promise.path);\n }\n // 删除已处理的 promise\n this._promises.delete(id);\n this.log.debug('ABCWallet.response find and delete promise:', id);\n if (msg.error) {\n this.log.error('ABCWallet.response error:', msg.error);\n promise.reject.call(this, msg.error);\n }\n else {\n this.log.debug('ABCWallet.response result:', msg.result);\n promise.resolve.call(this, msg.result);\n }\n }\n };\n ABCWallet.prototype.call = function (msg) {\n var _this = this;\n try {\n msg = JSON.parse(msg);\n this.log.debug('ABCWallet.call received message:', msg);\n }\n catch (err) {\n this.log.error('ABCWallet.call parse message JSON failed.');\n return;\n }\n var id = msg.id, namespace = msg.namespace, method = msg.method, params = msg.params;\n // 根据 namespace 从全局取对应的对象\n var obj = window[namespace];\n if (!obj) {\n this.log.error(\"ABCWallet.call can not find namespace: \" + namespace);\n return;\n }\n if (!obj[method] || !isFunction_1.default(obj[method])) {\n this.log.error(\"ABCWallet.call can not find method: \" + namespace + \".\" + method);\n return;\n }\n var ret = obj[method](params);\n if (ret.then && ret.catch) {\n ret.then(function (ret) {\n _this._channel.postMessage({ jsonrpc: '2.0', id: id, result: ret });\n });\n }\n else {\n this._channel.postMessage({ jsonrpc: '2.0', id: id, result: ret });\n }\n };\n Object.defineProperty(ABCWallet.prototype, \"isABCWallet\", {\n get: function () {\n var UA = window.navigator.userAgent;\n return /ABCWallet/i.test(UA);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ABCWallet.prototype, \"clientVersion\", {\n get: function () {\n // todo 某个版本的 iOS 的 UA 设置了两次,后面一次是对的,所以这里做了一下兼容,后面择机去掉兼容\n var matches = window.navigator.userAgent.match(/ABCWallet\\/([a-zA-Z-_]+)/g); // 形如 Language/zh-CN\n var splitParts = matches && matches[matches.length - 1] && matches[matches.length - 1].split('/');\n var version = '';\n if (splitParts[1]) {\n version = splitParts[1];\n }\n return version;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ABCWallet.prototype, \"clientLanguage\", {\n get: function () {\n // todo 某个版本的 iOS 的 UA 设置了两次,后面一次是对的,所以这里做了一下兼容,后面择机去掉兼容\n var matches = window.navigator.userAgent.match(/Language\\/([a-zA-Z-_]+)/g); // 形如 Language/zh-CN\n var splitParts = matches && matches[matches.length - 1] && matches[matches.length - 1].split('/');\n var language = '';\n if (splitParts[1]) {\n language = splitParts[1];\n }\n return language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ABCWallet.prototype, \"clientFiat\", {\n get: function () {\n // todo 某个版本的 iOS 的 UA 设置了两次,后面一次是对的,所以这里做了一下兼容,后面择机去掉兼容\n var matches = window.navigator.userAgent.match(/Fiat\\/([a-zA-Z-_]+)/g);\n var splitParts = matches && matches[matches.length - 1] && matches[matches.length - 1].split('/');\n var fiat = '';\n if (splitParts[1]) {\n fiat = splitParts[1];\n }\n return fiat;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * check if clientVersion is greater/smaller/equal to targetVersion\n * @param targetVersion\n * @return -1 clientVersion smaller than targetVersion\n * @return 1 clientVersion greater than targetVersion\n * @return 0 clientVersion equal to targetVersion\n * @return null unknown, maybe not in ABCWallet\n */\n ABCWallet.prototype.compareVersion = function (targetVersion) {\n var clientVersion = this.clientVersion;\n if (!clientVersion)\n return null;\n var clientVersionParts = clientVersion.split('.');\n var targetVersionParts = targetVersion.split('.');\n for (var i = 0; i < clientVersionParts.length; i++) {\n var clientVersionPart = parseInt(clientVersionParts[i]);\n var targetVersionPart = parseInt(targetVersionParts[i]);\n if (clientVersionPart > targetVersionPart) {\n return 1;\n }\n else if (clientVersionPart < targetVersionPart) {\n return -1;\n }\n }\n return 0;\n };\n return ABCWallet;\n}(eventemitter3_1.default));\nexports.ABCWallet = ABCWallet;\nexports.default = ABCWallet;\n","import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nexport default uniqueId;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ABCWalletError = void 0;\nvar ts_custom_error_1 = require(\"ts-custom-error\");\nvar ABCWalletError = /** @class */ (function (_super) {\n __extends(ABCWalletError, _super);\n function ABCWalletError(code, message) {\n var _this = _super.call(this, message) || this;\n _this.code = code;\n return _this;\n }\n ABCWalletError.fromCode = function (code, extendMessage) {\n if (extendMessage === void 0) { extendMessage = ''; }\n return new ABCWalletError(code, ABCWalletError.messages[code] + extendMessage);\n };\n ABCWalletError.messages = {\n 1: 'Unkown error',\n 10: 'Params error, missing required params '\n };\n return ABCWalletError;\n}(ts_custom_error_1.CustomError));\nexports.ABCWalletError = ABCWalletError;\n","function fixProto(target, prototype) {\n var setPrototypeOf = Object.setPrototypeOf;\n setPrototypeOf ? setPrototypeOf(target, prototype) : target.__proto__ = prototype;\n}\nfunction fixStack(target, fn) {\n if (fn === void 0) {\n fn = target.constructor;\n }\n\n var captureStackTrace = Error.captureStackTrace;\n captureStackTrace && captureStackTrace(target, fn);\n}\n\nvar __extends = undefined && undefined.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } }\n };\n\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar CustomError = function (_super) {\n __extends(CustomError, _super);\n\n function CustomError(message) {\n var _newTarget = this.constructor;\n\n var _this = _super.call(this, message) || this;\n\n Object.defineProperty(_this, 'name', {\n value: _newTarget.name,\n enumerable: false,\n configurable: true\n });\n fixProto(_this, _newTarget.prototype);\n fixStack(_this);\n return _this;\n }\n\n return CustomError;\n}(Error);\n\nvar __spreadArrays = undefined && undefined.__spreadArrays || function () {\n var arguments$1 = arguments;\n\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) { s += arguments$1[i].length; }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) { for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) { r[k] = a[j]; } }\n\n return r;\n};\nfunction customErrorFactory(fn, parent) {\n if (parent === void 0) {\n parent = Error;\n }\n\n function CustomError() {\n var arguments$1 = arguments;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments$1[_i];\n }\n\n if (!(this instanceof CustomError)) { return new (CustomError.bind.apply(CustomError, __spreadArrays([void 0], args)))(); }\n parent.apply(this, args);\n Object.defineProperty(this, 'name', {\n value: fn.name || parent.name,\n enumerable: false,\n configurable: true\n });\n fn.apply(this, args);\n fixStack(this, CustomError);\n }\n\n return Object.defineProperties(CustomError, {\n prototype: {\n value: Object.create(parent.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n configurable: true\n }\n })\n }\n });\n}\n\nexport { CustomError, customErrorFactory };\n//# sourceMappingURL=custom-error.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserAPI = exports.EOSAPI = exports.ETCAPI = exports.ETHAPI = exports.CKBAPI = exports.DASHAPI = exports.LTCAPI = exports.BSVAPI = exports.BCHAPI = exports.BTCAPI = exports.PrivateAPI = exports.ABCIDAPI = exports.PartnerAPI = exports.DappAPI = exports.WebviewAPI = void 0;\nvar WebviewAPI_1 = require(\"./WebviewAPI\");\nObject.defineProperty(exports, \"WebviewAPI\", { enumerable: true, get: function () { return WebviewAPI_1.WebviewAPI; } });\nvar DappAPI_1 = require(\"./DappAPI\");\nObject.defineProperty(exports, \"DappAPI\", { enumerable: true, get: function () { return DappAPI_1.DappAPI; } });\nvar PartnerAPI_1 = require(\"./PartnerAPI\");\nObject.defineProperty(exports, \"PartnerAPI\", { enumerable: true, get: function () { return PartnerAPI_1.PartnerAPI; } });\nvar ABCIDAPI_1 = require(\"./ABCIDAPI\");\nObject.defineProperty(exports, \"ABCIDAPI\", { enumerable: true, get: function () { return ABCIDAPI_1.ABCIDAPI; } });\nvar PrivateAPI_1 = require(\"./PrivateAPI\");\nObject.defineProperty(exports, \"PrivateAPI\", { enumerable: true, get: function () { return PrivateAPI_1.PrivateAPI; } });\nvar BTCAPI_1 = require(\"./BTCAPI\");\nObject.defineProperty(exports, \"BTCAPI\", { enumerable: true, get: function () { return BTCAPI_1.BTCAPI; } });\nvar BCHAPI_1 = require(\"./BCHAPI\");\nObject.defineProperty(exports, \"BCHAPI\", { enumerable: true, get: function () { return BCHAPI_1.BCHAPI; } });\nvar BSVAPI_1 = require(\"./BSVAPI\");\nObject.defineProperty(exports, \"BSVAPI\", { enumerable: true, get: function () { return BSVAPI_1.BSVAPI; } });\nvar LTCAPI_1 = require(\"./LTCAPI\");\nObject.defineProperty(exports, \"LTCAPI\", { enumerable: true, get: function () { return LTCAPI_1.LTCAPI; } });\nvar DASHAPI_1 = require(\"./DASHAPI\");\nObject.defineProperty(exports, \"DASHAPI\", { enumerable: true, get: function () { return DASHAPI_1.DASHAPI; } });\nvar CKBAPI_1 = require(\"./CKBAPI\");\nObject.defineProperty(exports, \"CKBAPI\", { enumerable: true, get: function () { return CKBAPI_1.CKBAPI; } });\nvar ETHAPI_1 = require(\"./ETHAPI\");\nObject.defineProperty(exports, \"ETHAPI\", { enumerable: true, get: function () { return ETHAPI_1.ETHAPI; } });\nvar ETCAPI_1 = require(\"./ETCAPI\");\nObject.defineProperty(exports, \"ETCAPI\", { enumerable: true, get: function () { return ETCAPI_1.ETCAPI; } });\nvar EOSAPI_1 = require(\"./EOSAPI\");\nObject.defineProperty(exports, \"EOSAPI\", { enumerable: true, get: function () { return EOSAPI_1.EOSAPI; } });\nvar BrowserAPI_1 = require(\"./BrowserAPI\");\nObject.defineProperty(exports, \"BrowserAPI\", { enumerable: true, get: function () { return BrowserAPI_1.BrowserAPI; } });\nexports.default = {\n webview: WebviewAPI_1.WebviewAPI,\n dapp: DappAPI_1.DappAPI,\n partner: PartnerAPI_1.PartnerAPI,\n abcid: ABCIDAPI_1.ABCIDAPI,\n private: PrivateAPI_1.PrivateAPI,\n btc: BTCAPI_1.BTCAPI,\n bch: BCHAPI_1.BCHAPI,\n bsv: BSVAPI_1.BSVAPI,\n ltc: LTCAPI_1.LTCAPI,\n dash: DASHAPI_1.DASHAPI,\n ckb: CKBAPI_1.CKBAPI,\n eth: ETHAPI_1.ETHAPI,\n etc: ETCAPI_1.ETCAPI,\n eos: EOSAPI_1.EOSAPI,\n browser: BrowserAPI_1.BrowserAPI,\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebviewAPI = void 0;\nvar isNil_1 = __importDefault(require(\"lodash-es/isNil\"));\nvar omitBy_1 = __importDefault(require(\"lodash-es/omitBy\"));\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar WebviewAPI = /** @class */ (function (_super) {\n __extends(WebviewAPI, _super);\n function WebviewAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'webview';\n return _this;\n }\n WebviewAPI.prototype.setOrientation = function (params) {\n helper_1.verifyParams(params, ['horizontal']);\n return this._request({\n method: 'setOrientation',\n params: params\n }, true);\n };\n WebviewAPI.prototype.setFullscreen = function (params) {\n helper_1.verifyParams(params, ['fullscreen']);\n return this._request({\n method: 'setFullscreen',\n params: params\n }, true);\n };\n WebviewAPI.prototype.setTitlebar = function (params) {\n params = omitBy_1.default(params, isNil_1.default);\n return this._request({\n method: 'setTitlebar',\n params: params\n }, true);\n };\n WebviewAPI.prototype.home = function () {\n return this._request({\n method: 'home',\n params: {}\n }, true);\n };\n WebviewAPI.prototype.back = function () {\n return this._request({\n method: 'back',\n params: {}\n }, true);\n };\n WebviewAPI.prototype.close = function () {\n return this._request({\n method: 'close',\n params: {}\n }, true);\n };\n WebviewAPI.prototype.share = function (params) {\n if (params === void 0) { params = {}; }\n return this._request({\n method: 'share',\n params: params,\n }, true);\n };\n WebviewAPI.prototype.openUrl = function (params) {\n helper_1.verifyParams(params, ['url']);\n return this._request({\n method: 'openUrl',\n params: params\n }, true);\n };\n WebviewAPI.prototype.invokeQRScanner = function () {\n return this._request({\n method: 'invokeQRScanner',\n params: {}\n });\n };\n WebviewAPI.prototype.copy = function (params) {\n return this._request({\n method: 'copy',\n params: params,\n });\n };\n return WebviewAPI;\n}(BaseAPI_1.default));\nexports.WebviewAPI = WebviewAPI;\nexports.default = WebviewAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DappAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar DappAPI = /** @class */ (function (_super) {\n __extends(DappAPI, _super);\n function DappAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'dapp';\n return _this;\n }\n DappAPI.prototype.getDapp = function () {\n return this._request({\n method: 'getDapp',\n params: {}\n });\n };\n DappAPI.prototype.isCardExist = function (params) {\n helper_1.verifyParams(params, ['userId']);\n return this._request({\n method: 'isCardExist',\n params: params\n });\n };\n DappAPI.prototype.addCard = function (params) {\n return this._request({\n method: 'addCard',\n params: params\n });\n };\n DappAPI.prototype.updateCard = function (params) {\n return this._request({\n method: 'updateCard',\n params: params\n });\n };\n DappAPI.prototype.getCard = function (params) {\n return this._request({\n method: 'getCard',\n params: params\n });\n };\n DappAPI.prototype.updateCardBalance = function (params) {\n return this._request({\n method: 'updateCardBalance',\n params: params\n });\n };\n return DappAPI;\n}(BaseAPI_1.default));\nexports.DappAPI = DappAPI;\nexports.default = DappAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartnerAPI = void 0;\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar helper_1 = require(\"../helper\");\nvar PartnerAPI = /** @class */ (function (_super) {\n __extends(PartnerAPI, _super);\n function PartnerAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'partner';\n return _this;\n }\n /**\n * 添加合作方卡片\n *\n * @return {Promise}\n */\n PartnerAPI.prototype.addPartnerCard = function () {\n return this._request({\n method: 'addPartnerCard',\n params: {}\n });\n };\n /**\n * 查询合作方卡片是否已添加\n *\n * @return {Promise}\n */\n PartnerAPI.prototype.isPartnerCardExist = function () {\n return this._request({\n method: 'isPartnerCardExist',\n params: {}\n });\n };\n /**\n * 查询合作方卡片是否已添加\n *\n * @return {Promise}\n */\n PartnerAPI.prototype.addKeypairCard = function (params) {\n helper_1.verifyParams(params, ['chainType']);\n return this._request({\n method: 'addKeypairCard',\n params: params\n });\n };\n return PartnerAPI;\n}(BaseAPI_1.default));\nexports.PartnerAPI = PartnerAPI;\nexports.default = PartnerAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ABCIDAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar ABCIDAPI = /** @class */ (function (_super) {\n __extends(ABCIDAPI, _super);\n function ABCIDAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'abcid';\n return _this;\n }\n /**\n * 获取 ABCID\n *\n * @param params\n * @returns {Promise}\n */\n ABCIDAPI.prototype.getABCID = function (params) {\n helper_1.verifyParams(params, ['randomStr']);\n return this._request({\n method: 'getABCID',\n params: {\n randomStr: params.randomStr\n }\n });\n };\n /**\n * 获取 ABCID 关联的身份信息\n *\n * @param params\n * @returns {Promise}\n */\n ABCIDAPI.prototype.getIDInfo = function (params) {\n return this._request({\n method: 'getIDInfo',\n params: params,\n });\n };\n return ABCIDAPI;\n}(BaseAPI_1.default));\nexports.ABCIDAPI = ABCIDAPI;\nexports.default = ABCIDAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PrivateAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar PrivateAPI = /** @class */ (function (_super) {\n __extends(PrivateAPI, _super);\n function PrivateAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'abcwallet';\n return _this;\n }\n PrivateAPI.prototype.ensureHasCard = function (params) {\n helper_1.verifyParams(params, ['chainType']);\n return this._request({\n method: 'ensureHasCards',\n params: params\n }, true);\n };\n PrivateAPI.prototype.buildGiftTransaction = function (params) {\n helper_1.verifyParams(params, ['chainType', 'toAddress', 'toPrivateKey', 'value', 'skin', 'message']);\n return this._request({\n method: 'buildGiftTransaction',\n params: params\n });\n };\n PrivateAPI.prototype.encryptDataWithPrivateKey = function (params) {\n helper_1.verifyParams(params, ['chainType', 'data', 'publicKey']);\n return this._request({\n method: 'encryptDataWithPrivateKey',\n params: params\n });\n };\n PrivateAPI.prototype.decryptDataWithPrivateKey = function (params) {\n helper_1.verifyParams(params, ['chainType', 'cipher', 'publicKey']);\n return this._request({\n method: 'decryptDataWithPrivateKey',\n params: params\n });\n };\n PrivateAPI.prototype.forward = function (params) {\n helper_1.verifyParams(params, ['dapp', 'method', 'params']);\n return this._request({\n method: 'forward',\n params: params\n });\n };\n return PrivateAPI;\n}(BaseAPI_1.default));\nexports.PrivateAPI = PrivateAPI;\nexports.default = PrivateAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BCHAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar BCHAPI = /** @class */ (function (_super) {\n __extends(BCHAPI, _super);\n function BCHAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'bch';\n return _this;\n }\n return BCHAPI;\n}(BTCAPI_1.default));\nexports.BCHAPI = BCHAPI;\nexports.default = BCHAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BSVAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar BSVAPI = /** @class */ (function (_super) {\n __extends(BSVAPI, _super);\n function BSVAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'bsv';\n return _this;\n }\n return BSVAPI;\n}(BTCAPI_1.default));\nexports.BSVAPI = BSVAPI;\nexports.default = BSVAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LTCAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar LTCAPI = /** @class */ (function (_super) {\n __extends(LTCAPI, _super);\n function LTCAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'ltc';\n return _this;\n }\n return LTCAPI;\n}(BTCAPI_1.default));\nexports.LTCAPI = LTCAPI;\nexports.default = LTCAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DASHAPI = void 0;\nvar BTCAPI_1 = __importDefault(require(\"./BTCAPI\"));\nvar DASHAPI = /** @class */ (function (_super) {\n __extends(DASHAPI, _super);\n function DASHAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'dash';\n return _this;\n }\n return DASHAPI;\n}(BTCAPI_1.default));\nexports.DASHAPI = DASHAPI;\nexports.default = DASHAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CKBAPI = void 0;\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar CKBAPI = /** @class */ (function (_super) {\n __extends(CKBAPI, _super);\n function CKBAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'ckb';\n return _this;\n }\n CKBAPI.prototype.sign = function (params) {\n console.log(params);\n return this._request({\n method: 'sign',\n params: params\n });\n };\n CKBAPI.prototype.sendTransaction = function (params) {\n return this._request({\n method: 'sendTransaction',\n params: params\n });\n };\n return CKBAPI;\n}(BaseAPI_1.default));\nexports.CKBAPI = CKBAPI;\nexports.default = CKBAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ETHAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar ETHAPI = /** @class */ (function (_super) {\n __extends(ETHAPI, _super);\n function ETHAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'eth';\n return _this;\n }\n return ETHAPI;\n}(ChainBaseAPI_1.default));\nexports.ETHAPI = ETHAPI;\nexports.default = ETHAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ETCAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar ETCAPI = /** @class */ (function (_super) {\n __extends(ETCAPI, _super);\n function ETCAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'etc';\n return _this;\n }\n return ETCAPI;\n}(ChainBaseAPI_1.default));\nexports.ETCAPI = ETCAPI;\nexports.default = ETCAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EOSAPI = void 0;\nvar ChainBaseAPI_1 = __importDefault(require(\"./ChainBaseAPI\"));\nvar EOSAPI = /** @class */ (function (_super) {\n __extends(EOSAPI, _super);\n function EOSAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'eos';\n return _this;\n }\n return EOSAPI;\n}(ChainBaseAPI_1.default));\nexports.EOSAPI = EOSAPI;\nexports.default = EOSAPI;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserAPI = void 0;\nvar helper_1 = require(\"../helper\");\nvar BaseAPI_1 = __importDefault(require(\"./BaseAPI\"));\nvar BrowserAPI = /** @class */ (function (_super) {\n __extends(BrowserAPI, _super);\n function BrowserAPI() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._namespace = 'dapp';\n return _this;\n }\n /**\n * invoker and open dapp in abcwallet client\n */\n BrowserAPI.prototype.openDapp = function (_a) {\n var url = _a.url, dapp_id = _a.dapp_id;\n return helper_1.invokeNative(\"abcwallet://open-dapp?url=\" + encodeURIComponent(url) + \"&dapp_id=\" + dapp_id);\n };\n return BrowserAPI;\n}(BaseAPI_1.default));\nexports.BrowserAPI = BrowserAPI;\nexports.default = BrowserAPI;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./IframeChannel\"), exports);\n__exportStar(require(\"./NativeChannel\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IframeChannel = void 0;\nvar IframeChannel = /** @class */ (function () {\n function IframeChannel() {\n }\n IframeChannel.prototype.postMessage = function (data) {\n parent.postMessage(data, '*');\n };\n return IframeChannel;\n}());\nexports.IframeChannel = IframeChannel;\nexports.default = IframeChannel;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NativeChannel = void 0;\n/**\n * Native Channel\n */\nvar NativeChannel = /** @class */ (function () {\n function NativeChannel(requestChannel, logger) {\n this._isIOS = false;\n this._isAndroid = false;\n this._isElectron = false;\n this.log = logger;\n this.requestChannel = requestChannel;\n // Check runtime environment base on user-agent\n var ua = navigator.userAgent.toLowerCase();\n this._isIOS = ua.includes('iphone');\n this._isAndroid = ua.includes('android');\n this._isElectron = ua.includes('electron');\n }\n NativeChannel.prototype.postMessage = function (data) {\n var requestChannel = this.requestChannel;\n if (this._isIOS) {\n this.log.debug(\"NativeChannel send to ios \" + requestChannel);\n if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers[requestChannel] && window.webkit.messageHandlers[requestChannel].postMessage) {\n window.webkit.messageHandlers[requestChannel].postMessage(data);\n }\n else {\n var iframe_1 = document.createElement('iframe');\n iframe_1.setAttribute('src', \"abcwallet://\" + requestChannel + \"?data=\" + this._dataToString(data));\n iframe_1.setAttribute('style', 'display: none');\n document.body.appendChild(iframe_1);\n setTimeout(function () {\n document.body.removeChild(iframe_1);\n }, 100);\n }\n }\n else if (this._isAndroid) {\n this.log.debug(\"NativeChannel send to android \" + requestChannel);\n window[requestChannel].postMessage(this._dataToString(data));\n }\n else if (this._isElectron) {\n this.log.debug(\"NativeChannel send to electron \" + requestChannel);\n window[requestChannel].postMessage(this._dataToString(data));\n }\n else {\n this.log.info(\"Development runtime environment, no data will be sent.\\nYou may create mock response like this in console:\\nABCWallet.response(JSON.stringify(JSON.stringify( { jsonrpc: '\" + data.jsonrpc + \"', id: '\" + data.id + \"', result: your expected response object } )))\\n\");\n }\n };\n /**\n * 将数据类型统一为 string\n *\n * @protected\n * @param {*} data\n * @returns\n * @memberof NativeChannel\n */\n NativeChannel.prototype._dataToString = function (data) {\n return typeof data === 'string' ? data : JSON.stringify(data);\n };\n return NativeChannel;\n}());\nexports.NativeChannel = NativeChannel;\nexports.default = NativeChannel;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nexport default negate;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nexport default basePickBy;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport basePickBy from './_basePickBy.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nexport default pickBy;\n","import baseIteratee from './_baseIteratee.js';\nimport negate from './negate.js';\nimport pickBy from './pickBy.js';\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return pickBy(object, negate(baseIteratee(predicate)));\n}\n\nexport default omitBy;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nexport default arrayEvery;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nexport default baseEvery;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import arrayEvery from './_arrayEvery.js';\nimport baseEvery from './_baseEvery.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default every;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 41e449a..ea5916e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -683,6 +683,77 @@

{{ chain.toUpperCase() }}

Vue.component('btc-test', { mixins: [btcLike], + template: ` +
+
+
+
+

{{ chain.toUpperCase() }}

+
+
+
+ ${allChain.template} + +
+ +
+ +
+
+ +
+ +
+
+
+ rawTransaction +
+ +
+
+
+ unspents +
+ +
+ + + +
+
+ +
+ +
+
+
+ params +
+ +
+ + +
+
+
+ +
+
+
+ params +
+ +
+ + +
+
+
+
+
+
+
+ `, data () { return { chain: 'btc', @@ -702,9 +773,37 @@

{{ chain.toUpperCase() }}

"value": 789 } ] + }, + signMessageParams: { + address: '', + message: 'hello world', + }, + verifyMessageParams: { + address: '', + message: 'hello world', + signature: '', } } }, + methods: { + async signMessage () { + const ret = await ABCWallet[this.chain].signMessage({ + address: '', + message: '', + }) + + console.log('Transaction ID:', ret) + }, + async verifyMessage () { + const ret = await ABCWallet[this.chain].verifyMessage({ + address: '', + message: '', + signature: '', + }) + + console.log('Transaction ID:', ret) + } + } }) Vue.component('bch-test', { diff --git a/package.json b/package.json index 70880df..1cd0178 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "abcwallet", - "version": "1.5.0", + "version": "1.6.0", "description": "The only and best SDK for ABCWallet application development.", "repository": "https://github.com/BlockABC/abcwallet.js", "license": "MIT", diff --git a/types/api/BTCAPI.d.ts b/types/api/BTCAPI.d.ts index 56b8d16..885744b 100644 --- a/types/api/BTCAPI.d.ts +++ b/types/api/BTCAPI.d.ts @@ -10,5 +10,14 @@ export declare class BTCAPI extends ChainBaseAPI { rawTransaction: string; unspents: string; }): Promise; + signMessage(params: { + address: string; + message: string; + }): Promise; + verifyMessage(params: { + address: string; + message: string; + signature: string; + }): Promise; } export default BTCAPI;