From 91021973f73b17c8503b0c81cd777b788239d255 Mon Sep 17 00:00:00 2001 From: shawn Date: Fri, 11 Sep 2020 14:33:25 +0800 Subject: [PATCH] add unbonding time left display & fix acala data bug --- CHANGELOG.md | 4 + ios/Runner.xcodeproj/project.pbxproj | 12 +- lib/common/consts/settings.dart | 4 +- lib/js_service_acala/package.json | 15 +- lib/js_service_acala/yarn.lock | 491 +++++++++++-------- lib/js_service_kusama/src/service/staking.js | 39 +- lib/page-acala/acalaEntry.dart | 11 +- lib/page/staking/actions/actions.dart | 65 ++- lib/page/staking/actions/payoutPage.dart | 2 +- lib/page/staking/actions/redeemPage.dart | 9 +- lib/page/staking/validators/overview.dart | 3 +- lib/service/substrateApi/apiStaking.dart | 9 +- lib/store/staking/staking.dart | 49 +- lib/store/staking/staking.g.dart | 24 +- lib/store/staking/types/ownStashInfo.dart | 31 ++ lib/store/staking/types/ownStashInfo.g.dart | 44 +- pubspec.yaml | 2 +- 17 files changed, 520 insertions(+), 294 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a28aaaf..9d370ef7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.0.1 +- add unbonding time left display +- fix acala data bug + # 1.0.0 - rebuild staking module & update nominees list - add validator sort type: judgements diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 1eaeead7..6819d2d7 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -383,7 +383,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 5; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = WQ5H736A22; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -396,7 +396,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 1.0.0; + MARKETING_VERSION = 1.0.1; PRODUCT_BUNDLE_IDENTIFIER = io.polkawallet.polkawallet; PRODUCT_NAME = Runner; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -518,7 +518,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 5; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = WQ5H736A22; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -531,7 +531,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 1.0.0; + MARKETING_VERSION = 1.0.1; PRODUCT_BUNDLE_IDENTIFIER = io.polkawallet.polkawallet; PRODUCT_NAME = Runner; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -548,7 +548,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 5; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = WQ5H736A22; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -561,7 +561,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 1.0.0; + MARKETING_VERSION = 1.0.1; PRODUCT_BUNDLE_IDENTIFIER = io.polkawallet.polkawallet; PRODUCT_NAME = Runner; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/common/consts/settings.dart b/lib/common/consts/settings.dart index 0a4224d7..62d0a6fa 100644 --- a/lib/common/consts/settings.dart +++ b/lib/common/consts/settings.dart @@ -148,8 +148,8 @@ const String cross_chain_transfer_address_laminar = '5CLaminarAUSDCrossChainTransferxxxxxxxxxxxxxwisu'; /// app versions -const String app_beta_version = 'v1.0.0-beta.5'; -const int app_beta_version_code = 1005; +const String app_beta_version = 'v1.0.1-beta.1'; +const int app_beta_version_code = 1011; /// js code versions const Map js_code_version_map = { diff --git a/lib/js_service_acala/package.json b/lib/js_service_acala/package.json index 66bed171..7898f7d4 100644 --- a/lib/js_service_acala/package.json +++ b/lib/js_service_acala/package.json @@ -8,9 +8,20 @@ "build": "webpack -p --mode production", "build-dev": "webpack -d --mode development" }, + "resolutions": { + "@acala-network/api": "v0.4.0-beta.0", + "@acala-network/app-util": "v0.4.0-beta.0", + "@acala-network/api-derive": "v0.4.0-beta.0", + "@acala-network/types": "v0.4.0-beta.0", + "@acala-network/type-definitions": "^0.4.0-beta.0", + "@polkadot/api": "1.29.1" + }, "dependencies": { - "@acala-network/api": "beta", - "@acala-network/app-util": "beta", + "@acala-network/api": "v0.4.0-beta.0", + "@acala-network/app-util": "v0.4.0-beta.0", + "@acala-network/api-derive": "v0.4.0-beta.0", + "@acala-network/types": "v0.4.0-beta.0", + "@acala-network/type-definitions": "^0.4.0-beta.0", "@babel/polyfill": "^7.8.3", "@polkadot/api": "^1.18.1", "@polkadot/keyring": "^3.1.0-beta.0", diff --git a/lib/js_service_acala/yarn.lock b/lib/js_service_acala/yarn.lock index 9966123f..accc2657 100644 --- a/lib/js_service_acala/yarn.lock +++ b/lib/js_service_acala/yarn.lock @@ -2,56 +2,56 @@ # yarn lockfile v1 -"@acala-network/api-derive@^0.4.0-beta.4": - version "0.4.0-beta.4" - resolved "https://registry.npm.taobao.org/@acala-network/api-derive/download/@acala-network/api-derive-0.4.0-beta.4.tgz#959609f4dfe660db1e9b1702b1d441ab12aeed39" - integrity sha1-lZYJ9N/mYNsemxcCsdRBqxKu7Tk= +"@acala-network/api-derive@^0.4.0-beta.0", "@acala-network/api-derive@v0.4.0-beta.0": + version "0.4.0-beta.0" + resolved "https://registry.npm.taobao.org/@acala-network/api-derive/download/@acala-network/api-derive-0.4.0-beta.0.tgz#66c05238ca571dded3d20c0a13aaf9fe602e789e" + integrity sha1-ZsBSOMpXHd7T0gwKE6r5/mAueJ4= dependencies: - "@acala-network/types" "^0.4.0-beta.4" + "@acala-network/types" "^0.4.0-beta.0" "@babel/runtime" "^7.10.2" - "@polkadot/rpc-core" "^1.27.1" + "@polkadot/rpc-core" "^1.18.1" memoizee "^0.4.14" rxjs "^6.5.5" -"@acala-network/api@beta": - version "0.4.0-beta.4" - resolved "https://registry.npm.taobao.org/@acala-network/api/download/@acala-network/api-0.4.0-beta.4.tgz#36b2752756962d9329d84617450e067f3408b153" - integrity sha1-NrJ1J1aWLZMp2EYXRQ4GfzQIsVM= +"@acala-network/api@v0.4.0-beta.0": + version "0.4.0-beta.0" + resolved "https://registry.npm.taobao.org/@acala-network/api/download/@acala-network/api-0.4.0-beta.0.tgz#f891eeb0a9b390fa2786129f942b17189daf93e2" + integrity sha1-+JHusKmzkPonhhKflCsXGJ2vk+I= dependencies: - "@acala-network/api-derive" "^0.4.0-beta.4" - "@acala-network/types" "^0.4.0-beta.4" + "@acala-network/api-derive" "^0.4.0-beta.0" + "@acala-network/types" "^0.4.0-beta.0" "@babel/runtime" "^7.10.2" - "@open-web3/orml-api-derive" "^0.6.0-beta.5" - "@polkadot/api" "^1.27.1" - "@polkadot/rpc-core" "^1.27.1" + "@open-web3/orml-api-derive" "^0.5.1" + "@polkadot/api" "^1.18.1" + "@polkadot/rpc-core" "^1.18.1" -"@acala-network/app-util@beta": - version "0.4.0-beta.4" - resolved "https://registry.npm.taobao.org/@acala-network/app-util/download/@acala-network/app-util-0.4.0-beta.4.tgz#7b2c2068d485ae18f7c5860cdf0f4dc7816c3160" - integrity sha1-eywgaNSFrhj3xYYM3w9Nx4FsMWA= +"@acala-network/app-util@v0.4.0-beta.0": + version "0.4.0-beta.0" + resolved "https://registry.npm.taobao.org/@acala-network/app-util/download/@acala-network/app-util-0.4.0-beta.0.tgz#ee755391acdfb83b459dcb025fa695585007a885" + integrity sha1-7nVTkazfuDtFncsCX6aVWFAHqIU= dependencies: "@babel/runtime" "^7.10.2" bignumber.js "^9.0.0" -"@acala-network/type-definitions@^0.4.0-beta.4": - version "0.4.0-beta.4" - resolved "https://registry.npm.taobao.org/@acala-network/type-definitions/download/@acala-network/type-definitions-0.4.0-beta.4.tgz#23452c3408a7809d27cb85f03b8dfd9fea890e95" - integrity sha1-I0UsNAingJ0ny4XwO439n+qJDpU= +"@acala-network/type-definitions@^0.4.0-beta.0": + version "0.4.0-beta.5" + resolved "https://registry.npm.taobao.org/@acala-network/type-definitions/download/@acala-network/type-definitions-0.4.0-beta.5.tgz#9610a25d96da767458a200051c915021736ab3f9" + integrity sha1-lhCiXZbadnRYogAFHJFQIXNqs/k= dependencies: "@open-web3/orml-type-definitions" "^0.6.0-beta.5" -"@acala-network/types@^0.4.0-beta.4": - version "0.4.0-beta.4" - resolved "https://registry.npm.taobao.org/@acala-network/types/download/@acala-network/types-0.4.0-beta.4.tgz#c42f50ea72b8f51630a5db664e6833d0df0e8785" - integrity sha1-xC9Q6nK49RYwpdtmTmgz0N8Oh4U= +"@acala-network/types@^0.4.0-beta.0", "@acala-network/types@v0.4.0-beta.0": + version "0.4.0-beta.0" + resolved "https://registry.npm.taobao.org/@acala-network/types/download/@acala-network/types-0.4.0-beta.0.tgz#0ec593165f88821a9a86eccb71a1c92814c03e8b" + integrity sha1-DsWTFl+IghqahuzLcaHJKBTAPos= dependencies: - "@acala-network/type-definitions" "^0.4.0-beta.4" + "@acala-network/type-definitions" "^0.4.0-beta.0" "@babel/runtime" "^7.10.2" - "@open-web3/api-mobx" "^0.6.0-beta.5" - "@open-web3/orml-types" "^0.6.0-beta.5" - "@polkadot/api" "^1.27.1" - "@polkadot/typegen" "^1.27.1" - "@polkadot/types" "^1.27.1" + "@open-web3/api-mobx" "^0.5.1" + "@open-web3/orml-types" "^0.5.1" + "@polkadot/api" "^1.18.1" + "@polkadot/typegen" "^1.18.1" + "@polkadot/types" "^1.18.1" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": version "7.10.4" @@ -69,13 +69,13 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.11.4", "@babel/core@^7.8.3": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.11.5.tgz#6ad96e2f71899ea3f9b651f0a911e85205d1ff6d" - integrity sha1-atluL3GJnqP5tlHwqRHoUgXR/20= +"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.11.6", "@babel/core@^7.8.3": + version "7.11.6" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.11.6.tgz?cache=0&sync_timestamp=1599146827519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" + integrity sha1-OpRV3HOH/xusRXcGULwTugShVlE= dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.5" + "@babel/generator" "^7.11.6" "@babel/helper-module-transforms" "^7.11.0" "@babel/helpers" "^7.10.4" "@babel/parser" "^7.11.5" @@ -89,16 +89,16 @@ lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" - source-map "^0.6.1" + source-map "^0.5.0" -"@babel/generator@^7.11.5", "@babel/generator@^7.4.0": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.11.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.11.5.tgz#a5582773425a468e4ba269d9a1f701fbca6a7a82" - integrity sha1-pVgnc0JaRo5LomnZofcB+8pqeoI= +"@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.4.0": + version "7.11.6" + resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.11.6.tgz?cache=0&sync_timestamp=1599146753105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha1-uGiQD4GxY7TUZOokVFxhy6xNxiA= dependencies: "@babel/types" "^7.11.5" jsesc "^2.5.1" - source-map "^0.6.1" + source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" @@ -877,7 +877,7 @@ "@babel/preset-modules@^0.1.3": version "0.1.4" - resolved "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz?cache=0&sync_timestamp=1598549685847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-modules%2Fdownload%2F%40babel%2Fpreset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + resolved "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" integrity sha1-Ni8raMZihClw/bXiVP/I/BwuQV4= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -894,7 +894,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.10.4" -"@babel/register@^7.0.0", "@babel/register@^7.10.5": +"@babel/register@^7.0.0", "@babel/register@^7.11.5": version "7.11.5" resolved "https://registry.npm.taobao.org/@babel/register/download/@babel/register-7.11.5.tgz?cache=0&sync_timestamp=1598904588273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fregister%2Fdownload%2F%40babel%2Fregister-7.11.5.tgz#79becf89e0ddd0fba8b92bc279bc0f5d2d7ce2ea" integrity sha1-eb7PieDd0PuouSvCebwPXS184uo= @@ -1114,73 +1114,94 @@ resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= -"@open-web3/api-mobx@^0.6.0-beta.5": - version "0.6.0-beta.8" - resolved "https://registry.npm.taobao.org/@open-web3/api-mobx/download/@open-web3/api-mobx-0.6.0-beta.8.tgz#5e429d908f743b788814a7c67881908d39aab473" - integrity sha1-XkKdkI90O3iIFKfGeIGQjTmqtHM= +"@open-web3/api-mobx@^0.5.1": + version "0.5.1" + resolved "https://registry.npm.taobao.org/@open-web3/api-mobx/download/@open-web3/api-mobx-0.5.1.tgz#2de39778c3a639abb516f41dadd2d6f90e8265e1" + integrity sha1-LeOXeMOmOau1FvQdrdLW+Q6CZeE= dependencies: - "@polkadot/api" "^1.31.0-beta.8" - "@polkadot/types" "^1.31.0-beta.8" - "@polkadot/util" "^2.17.1" + "@polkadot/api" "^1.23.1" + "@polkadot/types" "^1.23.1" + "@polkadot/util" "^2.8.1" mobx "^5.15.4" mobx-utils "^5.5.7" -"@open-web3/orml-api-derive@^0.6.0-beta.5": - version "0.6.0-beta.8" - resolved "https://registry.npm.taobao.org/@open-web3/orml-api-derive/download/@open-web3/orml-api-derive-0.6.0-beta.8.tgz#230b69216c962dcdbdc2c35a05fd47c3a6140a48" - integrity sha1-IwtpIWyWLc29wsNaBf1Hw6YUCkg= +"@open-web3/orml-api-derive@^0.5.1": + version "0.5.1" + resolved "https://registry.npm.taobao.org/@open-web3/orml-api-derive/download/@open-web3/orml-api-derive-0.5.1.tgz#839be6e71700e91c78770cd2b26d9a723a4f7b95" + integrity sha1-g5vm5xcA6Rx4dwzSsm2acjpPe5U= dependencies: memoizee "^0.4.14" rxjs "^6.5.5" -"@open-web3/orml-type-definitions@^0.6.0-beta.5", "@open-web3/orml-type-definitions@^0.6.0-beta.8": - version "0.6.0-beta.8" - resolved "https://registry.npm.taobao.org/@open-web3/orml-type-definitions/download/@open-web3/orml-type-definitions-0.6.0-beta.8.tgz#9ecf02e3c92dbaefe200cc303ab4a487864a5a9a" - integrity sha1-ns8C48ktuu/iAMwwOrSkh4ZKWpo= +"@open-web3/orml-type-definitions@^0.5.1": + version "0.5.1" + resolved "https://registry.npm.taobao.org/@open-web3/orml-type-definitions/download/@open-web3/orml-type-definitions-0.5.1.tgz#4cc0746007bcebed2aac48dcb5579f5882655dfe" + integrity sha1-TMB0YAe86+0qrEjctVefWIJlXf4= + +"@open-web3/orml-type-definitions@^0.6.0-beta.5": + version "0.6.0-beta.10" + resolved "https://registry.npm.taobao.org/@open-web3/orml-type-definitions/download/@open-web3/orml-type-definitions-0.6.0-beta.10.tgz#e1311da787cd0916a8d0cdda7a89984947a87537" + integrity sha1-4TEdp4fNCRao0M3aeomYSUeodTc= -"@open-web3/orml-types@^0.6.0-beta.5": - version "0.6.0-beta.8" - resolved "https://registry.npm.taobao.org/@open-web3/orml-types/download/@open-web3/orml-types-0.6.0-beta.8.tgz#c9e761b481ad79532b8d05ba1c5218aac8a72704" - integrity sha1-yedhtIGteVMrjQW6HFIYqsinJwQ= +"@open-web3/orml-types@^0.5.1": + version "0.5.1" + resolved "https://registry.npm.taobao.org/@open-web3/orml-types/download/@open-web3/orml-types-0.5.1.tgz#aecb82846f753d4f44308c15b8e356b716dcaa1a" + integrity sha1-rsuChG91PU9EMIwVuONWtxbcqho= dependencies: - "@open-web3/orml-type-definitions" "^0.6.0-beta.8" + "@open-web3/orml-type-definitions" "^0.5.1" -"@polkadot/api-derive@1.31.2": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/api-derive/download/@polkadot/api-derive-1.31.2.tgz#730788a5b7862a284bbe7c32cc9beac11fa4bf95" - integrity sha1-cweIpbeGKihLvnwyzJvqwR+kv5U= +"@polkadot/api-derive@1.29.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/api-derive/download/@polkadot/api-derive-1.29.1.tgz#9d2226d577df5fab5c4a25e715299cb6e438657c" + integrity sha1-nSIm1XffX6tcSiXnFSmctuQ4ZXw= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/api" "1.31.2" - "@polkadot/rpc-core" "1.31.2" - "@polkadot/rpc-provider" "1.31.2" - "@polkadot/types" "1.31.2" - "@polkadot/util" "^3.4.1" - "@polkadot/util-crypto" "^3.4.1" - bn.js "^5.1.3" + "@polkadot/api" "1.29.1" + "@polkadot/rpc-core" "1.29.1" + "@polkadot/rpc-provider" "1.29.1" + "@polkadot/types" "1.29.1" + "@polkadot/util" "^3.2.1" + "@polkadot/util-crypto" "^3.2.1" + bn.js "^5.1.2" memoizee "^0.4.14" rxjs "^6.6.2" -"@polkadot/api@1.31.2", "@polkadot/api@^1.18.1", "@polkadot/api@^1.27.1", "@polkadot/api@^1.31.0-beta.8": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/api/download/@polkadot/api-1.31.2.tgz#82be98ee346dd279059151ec4e24f5d3ad36806c" - integrity sha1-gr6Y7jRt0nkFkVHsTiT10602gGw= +"@polkadot/api-derive@1.32.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/api-derive/download/@polkadot/api-derive-1.32.1.tgz#66e9e516cec3d8fc67c9de750a48e276f93ca659" + integrity sha1-ZunlFs7D2Pxnyd51Ckjidvk8plk= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/api-derive" "1.31.2" - "@polkadot/keyring" "^3.4.1" - "@polkadot/metadata" "1.31.2" - "@polkadot/rpc-core" "1.31.2" - "@polkadot/rpc-provider" "1.31.2" - "@polkadot/types" "1.31.2" - "@polkadot/types-known" "1.31.2" + "@polkadot/api" "1.32.1" + "@polkadot/rpc-core" "1.32.1" + "@polkadot/rpc-provider" "1.32.1" + "@polkadot/types" "1.32.1" "@polkadot/util" "^3.4.1" "@polkadot/util-crypto" "^3.4.1" bn.js "^5.1.3" - eventemitter3 "^4.0.6" + memoizee "^0.4.14" rxjs "^6.6.2" -"@polkadot/keyring@^3.1.0-beta.0", "@polkadot/keyring@^3.4.1": +"@polkadot/api@1.29.1", "@polkadot/api@1.32.1", "@polkadot/api@^1.18.1", "@polkadot/api@^1.23.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/api/download/@polkadot/api-1.29.1.tgz#0e372d287ce07757e85e1b5c587e8cc07c07b872" + integrity sha1-DjctKHzgd1foXhtcWH6MwHwHuHI= + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/api-derive" "1.29.1" + "@polkadot/keyring" "^3.2.1" + "@polkadot/metadata" "1.29.1" + "@polkadot/rpc-core" "1.29.1" + "@polkadot/rpc-provider" "1.29.1" + "@polkadot/types" "1.29.1" + "@polkadot/types-known" "1.29.1" + "@polkadot/util" "^3.2.1" + "@polkadot/util-crypto" "^3.2.1" + bn.js "^5.1.2" + eventemitter3 "^4.0.4" + rxjs "^6.6.2" + +"@polkadot/keyring@^3.1.0-beta.0", "@polkadot/keyring@^3.2.1", "@polkadot/keyring@^3.4.1": version "3.4.1" resolved "https://registry.npm.taobao.org/@polkadot/keyring/download/@polkadot/keyring-3.4.1.tgz#9898966373b0f1e49a53cf7a21660be6b964e130" integrity sha1-mJiWY3Ow8eSaU896IWYL5rlk4TA= @@ -1189,80 +1210,144 @@ "@polkadot/util" "3.4.1" "@polkadot/util-crypto" "3.4.1" -"@polkadot/metadata@1.31.2": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/metadata/download/@polkadot/metadata-1.31.2.tgz#48aec4dca64fe424422dd131221daf03f055c042" - integrity sha1-SK7E3KZP5CRCLdExIh2vA/BVwEI= +"@polkadot/metadata@1.29.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/metadata/download/@polkadot/metadata-1.29.1.tgz#e7da7d9002298edcc85918ead97e37c433eb5867" + integrity sha1-59p9kAIpjtzIWRjq2X43xDPrWGc= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/types" "1.31.2" - "@polkadot/types-known" "1.31.2" + "@polkadot/types" "1.29.1" + "@polkadot/types-known" "1.29.1" + "@polkadot/util" "^3.2.1" + "@polkadot/util-crypto" "^3.2.1" + bn.js "^5.1.2" + +"@polkadot/metadata@1.32.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/metadata/download/@polkadot/metadata-1.32.1.tgz#7d9622cc3da2c7aa57099feb4671e4d79269881b" + integrity sha1-fZYizD2ix6pXCZ/rRnHk15JpiBs= + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/types" "1.32.1" + "@polkadot/types-known" "1.32.1" "@polkadot/util" "^3.4.1" "@polkadot/util-crypto" "^3.4.1" bn.js "^5.1.3" -"@polkadot/rpc-core@1.31.2", "@polkadot/rpc-core@^1.27.1": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/rpc-core/download/@polkadot/rpc-core-1.31.2.tgz#fbec66771b846f0e93fd5b05138fb0dc99476e42" - integrity sha1-++xmdxuEbw6T/VsFE4+w3JlHbkI= +"@polkadot/rpc-core@1.29.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/rpc-core/download/@polkadot/rpc-core-1.29.1.tgz#ea2b516b62c8a5d8da0b3ff57cc97b649a164188" + integrity sha1-6itRa2LIpdjaCz/1fMl7ZJoWQYg= + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/metadata" "1.29.1" + "@polkadot/rpc-provider" "1.29.1" + "@polkadot/types" "1.29.1" + "@polkadot/util" "^3.2.1" + memoizee "^0.4.14" + rxjs "^6.6.2" + +"@polkadot/rpc-core@1.32.1", "@polkadot/rpc-core@^1.18.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/rpc-core/download/@polkadot/rpc-core-1.32.1.tgz#66d8e5c82c75440f21535826d023b2b386fc8016" + integrity sha1-ZtjlyCx1RA8hU1gm0COys4b8gBY= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/metadata" "1.31.2" - "@polkadot/rpc-provider" "1.31.2" - "@polkadot/types" "1.31.2" + "@polkadot/metadata" "1.32.1" + "@polkadot/rpc-provider" "1.32.1" + "@polkadot/types" "1.32.1" "@polkadot/util" "^3.4.1" memoizee "^0.4.14" rxjs "^6.6.2" -"@polkadot/rpc-provider@1.31.2": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/rpc-provider/download/@polkadot/rpc-provider-1.31.2.tgz#282513287b0fac71ab6446e639636d158de7f525" - integrity sha1-KCUTKHsPrHGrZEbmOWNtFY3n9SU= +"@polkadot/rpc-provider@1.29.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/rpc-provider/download/@polkadot/rpc-provider-1.29.1.tgz#b139b5db827cc6669cd3f5ece3b3efc809b7b4c0" + integrity sha1-sTm124J8xmac0/Xs47PvyAm3tMA= + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/metadata" "1.29.1" + "@polkadot/types" "1.29.1" + "@polkadot/util" "^3.2.1" + "@polkadot/util-crypto" "^3.2.1" + bn.js "^5.1.2" + eventemitter3 "^4.0.4" + isomorphic-fetch "^2.2.1" + websocket "^1.0.31" + +"@polkadot/rpc-provider@1.32.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/rpc-provider/download/@polkadot/rpc-provider-1.32.1.tgz#c1ddac0f7d7f5530ca96d257525e4a6637ebd066" + integrity sha1-wd2sD31/VTDKltJXUl5KZjfr0GY= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/metadata" "1.31.2" - "@polkadot/types" "1.31.2" + "@polkadot/metadata" "1.32.1" + "@polkadot/types" "1.32.1" "@polkadot/util" "^3.4.1" "@polkadot/util-crypto" "^3.4.1" bn.js "^5.1.3" - eventemitter3 "^4.0.6" + eventemitter3 "^4.0.7" isomorphic-fetch "^2.2.1" - websocket "^1.0.31" + websocket "^1.0.32" -"@polkadot/typegen@^1.27.1": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/typegen/download/@polkadot/typegen-1.31.2.tgz#1a815335620692443891345fb44f763b42c4d133" - integrity sha1-GoFTNWIGkkQ4kTRftE92O0LE0TM= +"@polkadot/typegen@^1.18.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/typegen/download/@polkadot/typegen-1.32.1.tgz#4bdd893407773366dfd75ccdc845fdaa7f526849" + integrity sha1-S92JNAd3M2bf11zNyEX9qn9SaEk= dependencies: - "@babel/core" "^7.11.4" - "@babel/register" "^7.10.5" + "@babel/core" "^7.11.6" + "@babel/register" "^7.11.5" "@babel/runtime" "^7.11.2" - "@polkadot/api" "1.31.2" - "@polkadot/metadata" "1.31.2" - "@polkadot/rpc-provider" "1.31.2" - "@polkadot/types" "1.31.2" + "@polkadot/api" "1.32.1" + "@polkadot/metadata" "1.32.1" + "@polkadot/rpc-provider" "1.32.1" + "@polkadot/types" "1.32.1" "@polkadot/util" "^3.4.1" handlebars "^4.7.6" - websocket "^1.0.31" + websocket "^1.0.32" yargs "^15.4.1" -"@polkadot/types-known@1.31.2": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/types-known/download/@polkadot/types-known-1.31.2.tgz#39ff4442e9ea9f3f9232e9ef9bbc3d2cd348cb0b" - integrity sha1-Of9EQunqnz+SMunvm7w9LNNIyws= +"@polkadot/types-known@1.29.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/types-known/download/@polkadot/types-known-1.29.1.tgz#e3c54513afc218cf1ea6290a9fd8b3abdc7fa590" + integrity sha1-48VFE6/CGM8epikKn9izq9x/pZA= + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/types" "1.29.1" + "@polkadot/util" "^3.2.1" + bn.js "^5.1.2" + +"@polkadot/types-known@1.32.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/types-known/download/@polkadot/types-known-1.32.1.tgz#6016c38d70b3e387e504852d8d64eae00c08fbae" + integrity sha1-YBbDjXCz44flBIUtjWTq4AwI+64= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/types" "1.31.2" + "@polkadot/types" "1.32.1" "@polkadot/util" "^3.4.1" bn.js "^5.1.3" -"@polkadot/types@1.31.2", "@polkadot/types@^1.27.1", "@polkadot/types@^1.31.0-beta.8": - version "1.31.2" - resolved "https://registry.npm.taobao.org/@polkadot/types/download/@polkadot/types-1.31.2.tgz#5aa9f2fb366aa7af308d82a471240465d43b0333" - integrity sha1-Wqny+zZqp68wjYKkcSQEZdQ7AzM= +"@polkadot/types@1.29.1": + version "1.29.1" + resolved "https://registry.npm.taobao.org/@polkadot/types/download/@polkadot/types-1.29.1.tgz#b8104e3e9511dc95b382561687d1eade51cd0bd2" + integrity sha1-uBBOPpUR3JWzglYWh9Hq3lHNC9I= dependencies: "@babel/runtime" "^7.11.2" - "@polkadot/metadata" "1.31.2" + "@polkadot/metadata" "1.29.1" + "@polkadot/util" "^3.2.1" + "@polkadot/util-crypto" "^3.2.1" + "@types/bn.js" "^4.11.6" + bn.js "^5.1.2" + memoizee "^0.4.14" + rxjs "^6.6.2" + +"@polkadot/types@1.32.1", "@polkadot/types@^1.18.1", "@polkadot/types@^1.23.1": + version "1.32.1" + resolved "https://registry.npm.taobao.org/@polkadot/types/download/@polkadot/types-1.32.1.tgz#f02707507fd0b413d169ffc64929c1d941fb889e" + integrity sha1-8CcHUH/QtBPRaf/GSSnB2UH7iJ4= + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/metadata" "1.32.1" "@polkadot/util" "^3.4.1" "@polkadot/util-crypto" "^3.4.1" "@types/bn.js" "^4.11.6" @@ -1278,7 +1363,7 @@ "@babel/runtime" "^7.8.4" color "^3.1.2" -"@polkadot/util-crypto@3.4.1", "@polkadot/util-crypto@^3.4.1": +"@polkadot/util-crypto@3.4.1", "@polkadot/util-crypto@^3.2.1", "@polkadot/util-crypto@^3.4.1": version "3.4.1" resolved "https://registry.npm.taobao.org/@polkadot/util-crypto/download/@polkadot/util-crypto-3.4.1.tgz#f8a18f36221cdae772ab6f499779302f3397eb35" integrity sha1-+KGPNiIc2udyq29Jl3kwLzOX6zU= @@ -1297,7 +1382,7 @@ tweetnacl "^1.0.3" xxhashjs "^0.2.2" -"@polkadot/util@3.4.1", "@polkadot/util@^3.4.1": +"@polkadot/util@3.4.1", "@polkadot/util@^3.2.1", "@polkadot/util@^3.4.1": version "3.4.1" resolved "https://registry.npm.taobao.org/@polkadot/util/download/@polkadot/util-3.4.1.tgz#8676dd49e9c2d2332dcb72239287e37f0ab2c60a" integrity sha1-hnbdSenC0jMty3Ijkofjfwqyxgo= @@ -1324,7 +1409,7 @@ ip-regex "^4.0.0" moment "^2.24.0" -"@polkadot/util@^2.17.1": +"@polkadot/util@^2.8.1": version "2.18.1" resolved "https://registry.npm.taobao.org/@polkadot/util/download/@polkadot/util-2.18.1.tgz#81380f21e47f3c5657ef09be7c477a72838d35eb" integrity sha1-gTgPIeR/PFZX7wm+fEd6coONNes= @@ -1390,9 +1475,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.13" - resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.13.tgz?cache=0&sync_timestamp=1596836931604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" - integrity sha1-GHSRS+l0pJLhtMsAWFyrsnTouhg= + version "7.0.14" + resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.14.tgz?cache=0&sync_timestamp=1599597273341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.0.14.tgz#e99da8c075d4fb098c774ba65dabf7dc9954bd13" + integrity sha1-6Z2owHXU+wmMd0umXav33JlUvRM= dependencies: "@babel/types" "^7.3.0" @@ -1457,13 +1542,13 @@ integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= "@types/node@*": - version "14.6.3" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.6.3.tgz#cc4f979548ca4d8e7b90bc0180052ab99ee64224" - integrity sha1-zE+XlUjKTY57kLwBgAUquZ7mQiQ= + version "14.10.0" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.10.0.tgz?cache=0&sync_timestamp=1599757070204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.10.0.tgz#15815dff82c8dc30827f6b1286f865902945095a" + integrity sha1-FYFd/4LI3DCCf2sShvhlkClFCVo= "@types/node@11.11.6": version "11.11.6" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-11.11.6.tgz?cache=0&sync_timestamp=1599757070204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" integrity sha1-35KdG7Lu5a/dpZikGTD+ULQ+qmo= "@types/normalize-package-data@^2.4.0": @@ -1745,9 +1830,9 @@ acorn-globals@^4.1.0: acorn-walk "^6.0.1" acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4= + version "5.3.1" + resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599498962569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns= acorn-walk@^6.0.1: version "6.2.0" @@ -2030,7 +2115,7 @@ aws4@^1.8.0: axios@^0.18.0: version "0.18.1" - resolved "https://registry.npm.taobao.org/axios/download/axios-0.18.1.tgz?cache=0&sync_timestamp=1597979584536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + resolved "https://registry.npm.taobao.org/axios/download/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" integrity sha1-/z8N4ue10YDnV62YAA8Qgbh7zqM= dependencies: follow-redirects "1.5.10" @@ -2350,14 +2435,14 @@ browserify-zlib@^0.2.0: pako "~1.0.5" browserslist@^4.12.0, browserslist@^4.8.5: - version "4.14.0" - resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.0.tgz?cache=0&sync_timestamp=1596754416737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000" - integrity sha1-KQiVGr/k7Jhze3LzTDvO3I1DsAA= + version "4.14.2" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.2.tgz?cache=0&sync_timestamp=1599675930923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" + integrity sha1-GzzsRYobqHWIzF6b5i8ZttSIE84= dependencies: - caniuse-lite "^1.0.30001111" - electron-to-chromium "^1.3.523" + caniuse-lite "^1.0.30001125" + electron-to-chromium "^1.3.564" escalade "^3.0.2" - node-releases "^1.1.60" + node-releases "^1.1.61" bs58@^4.0.1: version "4.0.1" @@ -2499,10 +2584,10 @@ camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= -caniuse-lite@^1.0.30001111: - version "1.0.30001123" - resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001123.tgz?cache=0&sync_timestamp=1599113092809&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001123.tgz#7b981d81382ab2c8fd062f3e6439215e8c503c22" - integrity sha1-e5gdgTgqssj9Bi8+ZDkhXoxQPCI= +caniuse-lite@^1.0.30001125: + version "1.0.30001125" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001125.tgz?cache=0&sync_timestamp=1599631505038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001125.tgz#2a1a51ee045a0a2207474b086f628c34725e997b" + integrity sha1-KhpR7gRaCiIHR0sIb2KMNHJemXs= canvas-renderer@~2.1.1: version "2.1.1" @@ -3325,7 +3410,7 @@ doctrine@^3.0.0: domain-browser@^1.1.1: version "1.2.0" - resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1597693715407&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1599393068432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= domexception@^1.0.1: @@ -3376,7 +3461,7 @@ ecc-jsbn@~0.1.1: editions@^2.2.0: version "2.3.1" - resolved "https://registry.npm.taobao.org/editions/download/editions-2.3.1.tgz?cache=0&sync_timestamp=1597694063675&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feditions%2Fdownload%2Feditions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" + resolved "https://registry.npm.taobao.org/editions/download/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" integrity sha1-O8mWLxl46AExL70K6/7WO0m/5pg= dependencies: errlop "^2.0.0" @@ -3399,10 +3484,10 @@ ejs@^3.0.1: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.523: - version "1.3.560" - resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.560.tgz?cache=0&sync_timestamp=1599118432465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.560.tgz#6c3f61fe50324770b75705300e9f98f29312ea8d" - integrity sha1-bD9h/lAyR3C3VwUwDp+Y8pMS6o0= +electron-to-chromium@^1.3.564: + version "1.3.564" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.564.tgz?cache=0&sync_timestamp=1599566575026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.564.tgz#e9c319ae437b3eb8bbf3e3bae4bead5a21945961" + integrity sha1-6cMZrkN7Pri78+O65L6tWiGUWWE= elliptic@^6.5.3: version "6.5.3" @@ -3467,7 +3552,7 @@ envinfo@7.3.1: errlop@^2.0.0: version "2.2.0" - resolved "https://registry.npm.taobao.org/errlop/download/errlop-2.2.0.tgz?cache=0&sync_timestamp=1597694526711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferrlop%2Fdownload%2Ferrlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" + resolved "https://registry.npm.taobao.org/errlop/download/errlop-2.2.0.tgz?cache=0&sync_timestamp=1599397873615&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferrlop%2Fdownload%2Ferrlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" integrity sha1-H/OD+PkXrjKL67gC1sppZmpC0hs= errno@^0.1.3, errno@~0.1.7: @@ -3721,7 +3806,7 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" -eventemitter3@^4.0.0, eventemitter3@^4.0.6: +eventemitter3@^4.0.0, eventemitter3@^4.0.4, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517809015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= @@ -4095,7 +4180,7 @@ flat-cache@^2.0.1: flatted@^2.0.0: version "2.0.2" - resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1599726191035&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= flow-parser@0.*: @@ -4399,7 +4484,7 @@ globby@^9.2.0: got@9.6.0: version "9.6.0" - resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1599052590467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1599746653975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU= dependencies: "@sindresorhus/is" "^0.14.0" @@ -4416,7 +4501,7 @@ got@9.6.0: got@^6.2.0: version "6.7.1" - resolved "https://registry.npm.taobao.org/got/download/got-6.7.1.tgz?cache=0&sync_timestamp=1599052590467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + resolved "https://registry.npm.taobao.org/got/download/got-6.7.1.tgz?cache=0&sync_timestamp=1599746653975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= dependencies: create-error-class "^3.0.0" @@ -4936,9 +5021,9 @@ is-buffer@^2.0.2: integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM= is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha1-gzNlYLVKOONeOi33r9BFTWkUaLs= + version "1.2.1" + resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.1.tgz?cache=0&sync_timestamp=1599691525045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.1.tgz#4d1e21a4f437509d25ce55f8184350771421c96d" + integrity sha1-TR4hpPQ3UJ0lzlX4GENQdxQhyW0= is-ci@^2.0.0: version "2.0.0" @@ -5082,7 +5167,7 @@ is-plain-obj@^1.1.0: is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1599667247216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= dependencies: isobject "^3.0.1" @@ -5252,7 +5337,7 @@ istanbul-reports@^2.2.6: istextorbinary@^2.5.1: version "2.6.0" - resolved "https://registry.npm.taobao.org/istextorbinary/download/istextorbinary-2.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistextorbinary%2Fdownload%2Fistextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" + resolved "https://registry.npm.taobao.org/istextorbinary/download/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" integrity sha1-YHdjFfsPo5ma3SdsAsaVV7nKKKs= dependencies: binaryextensions "^2.1.2" @@ -5737,7 +5822,7 @@ json-parse-even-better-errors@^2.3.0: json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333999343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= json-schema@0.2.3: @@ -6438,7 +6523,7 @@ node-dir@^0.1.17: node-fetch@^1.0.1: version "1.7.3" - resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-1.7.3.tgz?cache=0&sync_timestamp=1599309119313&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= dependencies: encoding "^0.1.11" @@ -6504,10 +6589,10 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-releases@^1.1.60: - version "1.1.60" - resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.60.tgz?cache=0&sync_timestamp=1595485372345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" - integrity sha1-aUi9/OgobwtdDlqI6DhOlU3+cIQ= +node-releases@^1.1.61: + version "1.1.61" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.61.tgz?cache=0&sync_timestamp=1599612931857&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e" + integrity sha1-cHsPypzk4ReDYSukovy6CQR68W4= normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" @@ -7663,9 +7748,9 @@ run-queue@^1.0.0, run-queue@^1.0.3: aproba "^1.1.1" rxjs@^6.4.0, rxjs@^6.5.5, rxjs@^6.6.0, rxjs@^6.6.2: - version "6.6.2" - resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.2.tgz?cache=0&sync_timestamp=1596402408867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" - integrity sha1-gJanrAPyzE/lhg725XKBDZ4BwNI= + version "6.6.3" + resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.3.tgz?cache=0&sync_timestamp=1599403258987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha1-jKhGNcTaqQDA05Z6buesYCce5VI= dependencies: tslib "^1.9.0" @@ -7800,7 +7885,7 @@ sentence-case@^2.1.0: serialize-javascript@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1591623621018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599740689479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= dependencies: randombytes "^2.1.0" @@ -8040,7 +8125,7 @@ source-map-url@^0.4.0: resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -8417,7 +8502,7 @@ terser-webpack-plugin@^1.4.3: terser@^4.1.2: version "4.8.0" - resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1599751733294&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= dependencies: commander "^2.20.0" @@ -8451,7 +8536,7 @@ text-table@^0.2.0: textextensions@^2.5.0: version "2.6.0" - resolved "https://registry.npm.taobao.org/textextensions/download/textextensions-2.6.0.tgz?cache=0&sync_timestamp=1599076881462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftextextensions%2Fdownload%2Ftextextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + resolved "https://registry.npm.taobao.org/textextensions/download/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" integrity sha1-1+SrE/5U4y4IhzvkDVG3QimwD8Q= throat@^4.0.0: @@ -8672,9 +8757,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= uglify-js@^3.1.4: - version "3.10.3" - resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.10.3.tgz?cache=0&sync_timestamp=1598806851178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.10.3.tgz#f0d2f99736c14de46d2d24649ba328be3e71c3bf" - integrity sha1-8NL5lzbBTeRtLSRkm6Movj5xw78= + version "3.10.4" + resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.10.4.tgz?cache=0&sync_timestamp=1599412825870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.10.4.tgz#dd680f5687bc0d7a93b14a3482d16db6eba2bfbb" + integrity sha1-3WgPVoe8DXqTsUo0gtFttuuiv7s= unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" @@ -9086,7 +9171,7 @@ websocket-extensions@>=0.1.1: resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= -websocket@^1.0.31: +websocket@^1.0.31, websocket@^1.0.32: version "1.0.32" resolved "https://registry.npm.taobao.org/websocket/download/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" integrity sha1-Hxbdqzohotkp3sFoerIc/cbT27E= @@ -9106,9 +9191,9 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: iconv-lite "0.4.24" whatwg-fetch@>=0.10.0: - version "3.4.0" - resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30" - integrity sha1-4R3hT0h493P7683ohxssBpmvizA= + version "3.4.1" + resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.4.1.tgz?cache=0&sync_timestamp=1599473217704&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-fetch%2Fdownload%2Fwhatwg-fetch-3.4.1.tgz#e5f871572d6879663fa5674c8f833f15a8425ab3" + integrity sha1-5fhxVy1oeWY/pWdMj4M/FahCWrM= whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.3.0" @@ -9117,7 +9202,7 @@ whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: whatwg-url@^6.4.1: version "6.5.0" - resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-6.5.0.tgz?cache=0&sync_timestamp=1598370796019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-6.5.0.tgz?cache=0&sync_timestamp=1599418847721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= dependencies: lodash.sortby "^4.7.0" @@ -9126,7 +9211,7 @@ whatwg-url@^6.4.1: whatwg-url@^7.0.0: version "7.1.0" - resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz?cache=0&sync_timestamp=1598370796019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz?cache=0&sync_timestamp=1599418847721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= dependencies: lodash.sortby "^4.7.0" @@ -9267,7 +9352,7 @@ xxhashjs@^0.2.2: "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1599348641853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= yaeti@^0.0.6: @@ -9282,7 +9367,7 @@ yallist@^3.0.2: yargs-parser@^11.1.1: version "11.1.1" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz?cache=0&sync_timestamp=1598505090936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz?cache=0&sync_timestamp=1599672404544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ= dependencies: camelcase "^5.0.0" @@ -9290,7 +9375,7 @@ yargs-parser@^11.1.1: yargs-parser@^13.0.0, yargs-parser@^13.1.2: version "13.1.2" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1598505090936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1599672404544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= dependencies: camelcase "^5.0.0" @@ -9298,7 +9383,7 @@ yargs-parser@^13.0.0, yargs-parser@^13.1.2: yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1598505090936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1599672404544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A= dependencies: camelcase "^5.0.0" @@ -9306,7 +9391,7 @@ yargs-parser@^18.1.2: yargs@12.0.5: version "12.0.5" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz?cache=0&sync_timestamp=1598505705729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz?cache=0&sync_timestamp=1599709346664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM= dependencies: cliui "^4.0.0" @@ -9324,7 +9409,7 @@ yargs@12.0.5: yargs@13.2.2: version "13.2.2" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.2.2.tgz?cache=0&sync_timestamp=1598505705729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.2.2.tgz?cache=0&sync_timestamp=1599709346664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" integrity sha1-DBAfWArpXOp/Odkn53cOP9yX+ZM= dependencies: cliui "^4.0.0" @@ -9341,7 +9426,7 @@ yargs@13.2.2: yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1598505705729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1599709346664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= dependencies: cliui "^5.0.0" @@ -9357,7 +9442,7 @@ yargs@^13.3.0, yargs@^13.3.2: yargs@^15.4.1: version "15.4.1" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1598505705729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1599709346664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg= dependencies: cliui "^6.0.0" @@ -9374,7 +9459,7 @@ yargs@^15.4.1: yargs@~1.2.6: version "1.2.6" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-1.2.6.tgz?cache=0&sync_timestamp=1598505705729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-1.2.6.tgz?cache=0&sync_timestamp=1599709346664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" integrity sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s= dependencies: minimist "^0.1.0" diff --git a/lib/js_service_kusama/src/service/staking.js b/lib/js_service_kusama/src/service/staking.js index 552a98d3..fc2bca85 100644 --- a/lib/js_service_kusama/src/service/staking.js +++ b/lib/js_service_kusama/src/service/staking.js @@ -1,5 +1,6 @@ import BN from "bn.js"; import { u8aConcat, u8aToHex } from "@polkadot/util"; +import { BN_ONE, BN_ZERO, formatBalance, formatNumber } from "@polkadot/util"; const divisor = new BN("1".padEnd(12 + 1, "0")); @@ -403,25 +404,61 @@ async function _getInactives(stashId, nominees) { exposures ); } +function _extractUnbondings(stakingInfo, progress) { + if (!stakingInfo?.unlocking || !progress) { + return { mapped: [], total: BN_ZERO }; + } + + const mapped = stakingInfo.unlocking + .filter( + ({ remainingEras, value }) => + value.gt(BN_ZERO) && remainingEras.gt(BN_ZERO) + ) + .map((unlock) => [ + unlock, + unlock.remainingEras + .sub(BN_ONE) + .imul(progress.eraLength) + .iadd(progress.eraLength) + .isub(progress.eraProgress) + .toNumber(), + ]); + const total = mapped.reduce( + (total, [{ value }]) => total.iadd(value), + new BN(0) + ); + + return { + mapped: mapped.map((i) => [ + formatBalance(i[0].value, { forceUnit: "-", withSi: false }), + i[1], + ]), + total, + }; +} async function getOwnStashInfo(accountId) { const [stashId, isOwnStash] = await _getOwnStash(accountId); - const [account, validators, allStashes] = await Promise.all([ + const [account, validators, allStashes, progress] = await Promise.all([ api.derive.staking.account(stashId), api.query.staking.validators(stashId), api.derive.staking.stashes().then((res) => res.map((i) => i.toString())), + api.derive.session.progress(), ]); const stashInfo = _extractStakerState(accountId, stashId, allStashes, [ isOwnStash, account, validators, ]); + const unbondings = _extractUnbondings(account, progress); let inactives; if (stashInfo.nominating && stashInfo.nominating.length) { inactives = await _getInactives(stashId, stashInfo.nominating); } return { + account, ...stashInfo, inactives, + unbondings, }; } diff --git a/lib/page-acala/acalaEntry.dart b/lib/page-acala/acalaEntry.dart index c74d7178..e34c0556 100644 --- a/lib/page-acala/acalaEntry.dart +++ b/lib/page-acala/acalaEntry.dart @@ -43,7 +43,16 @@ class AcalaEntry extends StatelessWidget { child: Observer( builder: (_) { if (store.settings.loading) { - return CupertinoActivityIndicator(); + return Container( + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width / 2), + child: Column( + children: [ + CupertinoActivityIndicator(), + Text(I18n.of(context).assets['node.connecting']), + ], + ), + ); } return ListView( padding: EdgeInsets.all(16), diff --git a/lib/page/staking/actions/actions.dart b/lib/page/staking/actions/actions.dart index a97a4870..55db12ad 100644 --- a/lib/page/staking/actions/actions.dart +++ b/lib/page/staking/actions/actions.dart @@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:polka_wallet/common/components/TapTooltip.dart'; import 'package:polka_wallet/common/components/infoItem.dart'; import 'package:polka_wallet/common/components/listTail.dart'; import 'package:polka_wallet/page/account/import/importAccountPage.dart'; @@ -216,9 +217,8 @@ class _StakingActions extends State if (hasData && store.staking.ownStashInfo.stakingLedger != null) { bonded = BigInt.parse( store.staking.ownStashInfo.stakingLedger['active'].toString()); - } - if (store.staking.ledger['redeemable'] != null) { - redeemable = BigInt.parse(store.staking.ledger['redeemable'].toString()); + redeemable = BigInt.parse( + store.staking.ownStashInfo.account.redeemable.toString()); } BigInt unlocking = store.staking.accountUnlockingTotal; unlocking -= redeemable; @@ -280,7 +280,7 @@ class _StakingActions extends State ), RowAccount02( acc02: acc02, - accountId: store.staking.ledger['accountId'] ?? + accountId: store.staking.ownStashInfo.account.accountId ?? store.account.currentAddress, stashInfo: store.staking.ownStashInfo, onChangeAccount: _changeCurrentAccount, @@ -289,10 +289,12 @@ class _StakingActions extends State StakingInfoPanel( hasData: hasData, isController: store.staking.ownStashInfo.controllerId == - store.staking.ledger['accountId'], + store.staking.ownStashInfo.account.accountId, accountId: store.account.currentAddress, stashInfo: store.staking.ownStashInfo, decimals: decimals, + blockDuration: store.settings.networkConst['babe'] + ['expectedBlockTime'], bonded: bonded, unlocking: unlocking, redeemable: redeemable, @@ -302,7 +304,7 @@ class _StakingActions extends State Divider(), StakingActionsPanel( isStash: store.staking.ownStashInfo.stashId == - store.staking.ledger['accountId'], + store.staking.ownStashInfo.account.accountId, stashInfo: store.staking.ownStashInfo, bonded: bonded, controller: acc02, @@ -531,6 +533,7 @@ class StakingInfoPanel extends StatelessWidget { this.accountId, this.stashInfo, this.decimals, + this.blockDuration, this.bonded, this.unlocking, this.redeemable, @@ -543,6 +546,7 @@ class StakingInfoPanel extends StatelessWidget { final String accountId; final OwnStashInfoData stashInfo; final int decimals; + final int blockDuration; final BigInt bonded; final BigInt unlocking; final BigInt redeemable; @@ -552,7 +556,15 @@ class StakingInfoPanel extends StatelessWidget { @override Widget build(BuildContext context) { final Map dic = I18n.of(context).staking; + final Map dicGov = I18n.of(context).gov; Color actionButtonColor = Theme.of(context).primaryColor; + final unlockDetail = List.of(stashInfo.unbondings['mapped']) + .map((e) { + return '${dic['bond.unlocking']}: ${Fmt.balance(e[0], decimals)}\n' + '${dicGov['remain']}: ${Fmt.blockToTime(e[1], blockDuration)}'; + }) + .toList() + .join('\n\n'); return Padding( padding: EdgeInsets.only(top: 4, bottom: 4), child: Column( @@ -564,11 +576,40 @@ class StakingInfoPanel extends StatelessWidget { content: Fmt.priceFloorBigInt(bonded, decimals, lengthMax: 3), crossAxisAlignment: CrossAxisAlignment.center, ), - InfoItem( - title: dic['bond.unlocking'], - content: - Fmt.priceFloorBigInt(unlocking, decimals, lengthMax: 3), - crossAxisAlignment: CrossAxisAlignment.center, + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text(dic['bond.unlocking'], style: TextStyle(fontSize: 12)), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + unlocking > BigInt.zero + ? TapTooltip( + child: Padding( + padding: EdgeInsets.only(right: 2), + child: Icon( + Icons.access_time, + size: 16, + color: actionButtonColor, + ), + ), + message: '\n$unlockDetail\n', + ) + : Container(), + Text( + Fmt.priceFloorBigInt(unlocking, decimals, + lengthMax: 3), + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Theme.of(context).unselectedWidgetColor, + ), + ) + ], + ) + ], + ), ), Expanded( child: Column( @@ -640,7 +681,7 @@ class StakingInfoPanel extends StatelessWidget { padding: EdgeInsets.all(1), child: Icon( Icons.card_giftcard, - size: 18, + size: 16, color: actionButtonColor, ), ), diff --git a/lib/page/staking/actions/payoutPage.dart b/lib/page/staking/actions/payoutPage.dart index d0ed2224..d64925e0 100644 --- a/lib/page/staking/actions/payoutPage.dart +++ b/lib/page/staking/actions/payoutPage.dart @@ -39,7 +39,7 @@ class _PayoutPageState extends State { var dic = I18n.of(context).staking; final int decimals = store.settings.networkState.tokenDecimals; - List rewards = store.staking.ledger['rewards']['validators']; + List rewards = store.staking.rewards['validators']; if (rewards.length == 1 && List.of(rewards[0]['eras']).length == 1) { var args = { "title": dic['action.payout'], diff --git a/lib/page/staking/actions/redeemPage.dart b/lib/page/staking/actions/redeemPage.dart index 767eee54..105a8694 100644 --- a/lib/page/staking/actions/redeemPage.dart +++ b/lib/page/staking/actions/redeemPage.dart @@ -25,8 +25,8 @@ class _RedeemPageState extends State { Future _getSlashingSpans() async { if (_slashingSpans != null) return _slashingSpans; - final String stashId = widget.store.staking.ledger['stashId'] ?? - widget.store.staking.ledger['accountId']; + final String stashId = widget.store.staking.ownStashInfo.stashId ?? + widget.store.staking.ownStashInfo.account.accountId; final int spans = await webApi.evalJavascript('staking.getSlashingSpans("$stashId")'); setState(() { @@ -47,7 +47,8 @@ class _RedeemPageState extends State { "detail": jsonEncode({ 'spanCount': _slashingSpans, 'amount': Fmt.token( - Fmt.balanceInt(widget.store.staking.ledger['redeemable'].toString()), + Fmt.balanceInt( + widget.store.staking.ownStashInfo.account.redeemable.toString()), decimals, length: decimals, ) @@ -91,7 +92,7 @@ class _RedeemPageState extends State { ), initialValue: Fmt.token( Fmt.balanceInt(widget - .store.staking.ledger['redeemable'] + .store.staking.ownStashInfo.account.redeemable .toString()), decimals, length: decimals), diff --git a/lib/page/staking/validators/overview.dart b/lib/page/staking/validators/overview.dart index f11d0a4e..e4943675 100644 --- a/lib/page/staking/validators/overview.dart +++ b/lib/page/staking/validators/overview.dart @@ -131,7 +131,8 @@ class _StakingOverviewPageState extends State nominatorListHeight = double.parse((nominators.length * 56).toString()); } } - bool isController = store.staking.ledger['accountId'] == controllerId; + bool isController = + store.staking.ownStashInfo?.account?.accountId == controllerId; Color actionButtonColor = Theme.of(context).primaryColor; Color disabledColor = Theme.of(context).disabledColor; diff --git a/lib/service/substrateApi/apiStaking.dart b/lib/service/substrateApi/apiStaking.dart index 60d9d2e4..5cda3554 100644 --- a/lib/service/substrateApi/apiStaking.dart +++ b/lib/service/substrateApi/apiStaking.dart @@ -13,11 +13,6 @@ class ApiStaking { Future fetchAccountStaking() async { final String pubKey = store.account.currentAccountPubKey; if (pubKey != null && pubKey.isNotEmpty) { - final Map ledger = await apiRoot.evalJavascript( - 'api.derive.staking.account("${store.account.currentAddress}")'); - store.staking - .setLedger(pubKey, Map.of(ledger), reset: true); - queryOwnStashInfo(); } } @@ -33,11 +28,11 @@ class ApiStaking { print('fetching staking rewards...'); Map res = await apiRoot .evalJavascript('staking.loadAccountRewardsData("$address")'); - store.staking.setLedger(pubKey, {'rewards': res}); + store.staking.setRewards(pubKey, res); return; } } - store.staking.setLedger(pubKey, {'rewards': {}}); + store.staking.setRewards(pubKey, {}); } Future fetchStakingOverview() async { diff --git a/lib/store/staking/staking.dart b/lib/store/staking/staking.dart index a98345e7..9a3829ee 100644 --- a/lib/store/staking/staking.dart +++ b/lib/store/staking/staking.dart @@ -19,7 +19,6 @@ abstract class _StakingStore with Store { final String localStorageOverviewKey = 'staking_overview'; final String localStorageValidatorsKey = 'validators'; - final String cacheAccountStakingKey = 'account_staking'; final String cacheOwnStashKey = 'staking_own_stash'; final String cacheStakingTxsKey = 'staking_txs'; final String cacheStakingRewardTxsKey = 'staking_reward_txs'; @@ -45,7 +44,7 @@ abstract class _StakingStore with Store { List validatorsInfo = List(); @observable - ObservableMap ledger = ObservableMap(); + Map rewards; @observable OwnStashInfoData ownStashInfo; @@ -140,13 +139,13 @@ abstract class _StakingStore with Store { @computed BigInt get accountRewardTotal { - if (ledger['rewards'] == null) { + if (rewards == null) { return null; } - if (ledger['rewards']['available'] == null) { + if (rewards['available'] == null) { return BigInt.zero; } - return Fmt.balanceInt(ledger['rewards']['available'].toString()); + return Fmt.balanceInt(rewards['available'].toString()); } @computed @@ -206,31 +205,10 @@ abstract class _StakingStore with Store { } @action - void setLedger( - String pubKey, - Map data, { - bool shouldCache = true, - bool reset = false, - }) { + void setRewards(String pubKey, Map data) { if (rootStore.account.currentAccount.pubKey != pubKey) return; - if (reset) { - ledger = ObservableMap.of(data); - } else { - data.keys.forEach((key) => ledger[key] = data[key]); - } - - if (shouldCache) { - Map cache = {}; - ledger.keys.forEach((key) { - cache[key] = ledger[key]; - }); - rootStore.localStorage.setAccountCache( - rootStore.account.currentAccount.pubKey, - _getCacheKey(cacheAccountStakingKey), - cache, - ); - } + rewards = data; } @action @@ -295,9 +273,9 @@ abstract class _StakingStore with Store { @action void clearState() { txs.clear(); - ledger = ObservableMap(); overview = ObservableMap(); ownStashInfo = null; + rewards = null; } @action @@ -320,20 +298,18 @@ abstract class _StakingStore with Store { List cache = await Future.wait([ rootStore.localStorage - .getAccountCache(pubKey, _getCacheKey(cacheAccountStakingKey)), + .getAccountCache(pubKey, _getCacheKey(cacheOwnStashKey)), rootStore.localStorage .getAccountCache(pubKey, _getCacheKey(cacheStakingTxsKey)), rootStore.localStorage .getAccountCache(pubKey, _getCacheKey(cacheStakingRewardTxsKey)), rootStore.localStorage .getAccountCache(pubKey, _getCacheKey(cacheTimeKey)), - rootStore.localStorage - .getAccountCache(pubKey, _getCacheKey(cacheOwnStashKey)), ]); if (cache[0] != null) { - setLedger(rootStore.account.currentAddress, cache[0], shouldCache: false); + ownStashInfo = OwnStashInfoData.fromJson(cache[0]); } else { - ledger = ObservableMap(); + ownStashInfo = null; } if (cache[1] != null) { addTxs(cache[1]); @@ -348,11 +324,6 @@ abstract class _StakingStore with Store { if (cache[3] != null) { cacheTxsTimestamp = cache[3]; } - if (cache[4] != null) { - ownStashInfo = OwnStashInfoData.fromJson(cache[4]); - } else { - ownStashInfo = null; - } } @action diff --git a/lib/store/staking/staking.g.dart b/lib/store/staking/staking.g.dart index 29e5785d..611f617d 100644 --- a/lib/store/staking/staking.g.dart +++ b/lib/store/staking/staking.g.dart @@ -143,18 +143,18 @@ mixin _$StakingStore on _StakingStore, Store { }); } - final _$ledgerAtom = Atom(name: '_StakingStore.ledger'); + final _$rewardsAtom = Atom(name: '_StakingStore.rewards'); @override - ObservableMap get ledger { - _$ledgerAtom.reportRead(); - return super.ledger; + Map get rewards { + _$rewardsAtom.reportRead(); + return super.rewards; } @override - set ledger(ObservableMap value) { - _$ledgerAtom.reportWrite(value, super.ledger, () { - super.ledger = value; + set rewards(Map value) { + _$rewardsAtom.reportWrite(value, super.rewards, () { + super.rewards = value; }); } @@ -391,13 +391,11 @@ mixin _$StakingStore on _StakingStore, Store { } @override - void setLedger(String pubKey, Map data, - {bool shouldCache = true, bool reset = false}) { + void setRewards(String pubKey, Map data) { final _$actionInfo = _$_StakingStoreActionController.startAction( - name: '_StakingStore.setLedger'); + name: '_StakingStore.setRewards'); try { - return super - .setLedger(pubKey, data, shouldCache: shouldCache, reset: reset); + return super.setRewards(pubKey, data); } finally { _$_StakingStoreActionController.endAction(_$actionInfo); } @@ -455,7 +453,7 @@ overview: ${overview}, staked: ${staked}, nominatorCount: ${nominatorCount}, validatorsInfo: ${validatorsInfo}, -ledger: ${ledger}, +rewards: ${rewards}, ownStashInfo: ${ownStashInfo}, txsLoading: ${txsLoading}, txsCount: ${txsCount}, diff --git a/lib/store/staking/types/ownStashInfo.dart b/lib/store/staking/types/ownStashInfo.dart index 0e27358d..dbfa6811 100644 --- a/lib/store/staking/types/ownStashInfo.dart +++ b/lib/store/staking/types/ownStashInfo.dart @@ -9,6 +9,7 @@ class OwnStashInfoData extends _OwnStashInfoData { } abstract class _OwnStashInfoData { + LedgerInfoData account; String controllerId; String destination; int destinationId; @@ -25,6 +26,8 @@ abstract class _OwnStashInfoData { String stashId; Map validatorPrefs; NomineesInfoData inactives; + Map unbondings; + } @JsonSerializable() @@ -40,3 +43,31 @@ abstract class _NomineesInfoData { List nomsOver; List nomsWaiting; } + +@JsonSerializable() +class LedgerInfoData extends _LedgerInfoData { + static LedgerInfoData fromJson(Map json) => + _$LedgerInfoDataFromJson(json); +} + +abstract class _LedgerInfoData { + String accountId; + String controllerId; + String stashId; + Map exposure; + String rewardDestination; + Map stakingLedger; + Map validatorPrefs; + dynamic redeemable; +} + +@JsonSerializable() +class UnbondingInfoData extends _UnbondingInfoData { + static UnbondingInfoData fromJson(Map json) => + _$UnbondingInfoDataFromJson(json); +} + +abstract class _UnbondingInfoData { + List mapped; + dynamic total; +} diff --git a/lib/store/staking/types/ownStashInfo.g.dart b/lib/store/staking/types/ownStashInfo.g.dart index 4376d680..f3e8f0ac 100644 --- a/lib/store/staking/types/ownStashInfo.g.dart +++ b/lib/store/staking/types/ownStashInfo.g.dart @@ -8,6 +8,9 @@ part of 'ownStashInfo.dart'; OwnStashInfoData _$OwnStashInfoDataFromJson(Map json) { return OwnStashInfoData() + ..account = json['account'] == null + ? null + : LedgerInfoData.fromJson(json['account'] as Map) ..controllerId = json['controllerId'] as String ..destination = json['destination'] as String ..destinationId = json['destinationId'] as int @@ -27,11 +30,13 @@ OwnStashInfoData _$OwnStashInfoDataFromJson(Map json) { ..validatorPrefs = json['validatorPrefs'] as Map ..inactives = json['inactives'] == null ? null - : NomineesInfoData.fromJson(json['inactives'] as Map); + : NomineesInfoData.fromJson(json['inactives'] as Map) + ..unbondings = json['unbondings'] as Map; } Map _$OwnStashInfoDataToJson(OwnStashInfoData instance) => { + 'account': instance.account, 'controllerId': instance.controllerId, 'destination': instance.destination, 'destinationId': instance.destinationId, @@ -48,6 +53,7 @@ Map _$OwnStashInfoDataToJson(OwnStashInfoData instance) => 'stashId': instance.stashId, 'validatorPrefs': instance.validatorPrefs, 'inactives': instance.inactives, + 'unbondings': instance.unbondings, }; NomineesInfoData _$NomineesInfoDataFromJson(Map json) { @@ -71,3 +77,39 @@ Map _$NomineesInfoDataToJson(NomineesInfoData instance) => 'nomsOver': instance.nomsOver, 'nomsWaiting': instance.nomsWaiting, }; + +LedgerInfoData _$LedgerInfoDataFromJson(Map json) { + return LedgerInfoData() + ..accountId = json['accountId'] as String + ..controllerId = json['controllerId'] as String + ..stashId = json['stashId'] as String + ..exposure = json['exposure'] as Map + ..rewardDestination = json['rewardDestination'] as String + ..stakingLedger = json['stakingLedger'] as Map + ..validatorPrefs = json['validatorPrefs'] as Map + ..redeemable = json['redeemable']; +} + +Map _$LedgerInfoDataToJson(LedgerInfoData instance) => + { + 'accountId': instance.accountId, + 'controllerId': instance.controllerId, + 'stashId': instance.stashId, + 'exposure': instance.exposure, + 'rewardDestination': instance.rewardDestination, + 'stakingLedger': instance.stakingLedger, + 'validatorPrefs': instance.validatorPrefs, + 'redeemable': instance.redeemable, + }; + +UnbondingInfoData _$UnbondingInfoDataFromJson(Map json) { + return UnbondingInfoData() + ..mapped = json['mapped'] as List + ..total = json['total']; +} + +Map _$UnbondingInfoDataToJson(UnbondingInfoData instance) => + { + 'mapped': instance.mapped, + 'total': instance.total, + }; diff --git a/pubspec.yaml b/pubspec.yaml index f7da1000..20f44de7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: PolkaWallet made with Flutter. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1005 +version: 1.0.1+1011 environment: sdk: ">=2.1.0 <3.0.0"