@subwallet/extension-base 1.1.24-3 → 1.1.24-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/cjs/packageInfo.js +1 -1
  2. package/cjs/services/chain-service/constants.js +1 -1
  3. package/cjs/services/chain-service/handler/EvmApi.js +6 -3
  4. package/cjs/services/migration-service/scripts/index.js +6 -4
  5. package/cjs/services/migration-service/scripts/{MigrateEthProvider.js → providers/MigrateEthProvider.js} +2 -2
  6. package/cjs/services/migration-service/scripts/providers/MigrateGeneralProvider.js +20 -0
  7. package/cjs/services/migration-service/scripts/providers/MigrateMultiProviders.js +21 -0
  8. package/cjs/services/migration-service/scripts/{MigrateProvider.js → providers/MigrateProvider.js} +1 -1
  9. package/cjs/services/migration-service/scripts/providers/MigrateProvidersV1M1P24.js +31 -0
  10. package/package.json +36 -21
  11. package/packageInfo.js +1 -1
  12. package/services/chain-service/constants.d.ts +1 -3
  13. package/services/chain-service/constants.js +1 -1
  14. package/services/chain-service/handler/EvmApi.d.ts +1 -0
  15. package/services/chain-service/handler/EvmApi.js +6 -3
  16. package/services/migration-service/scripts/index.js +6 -4
  17. package/services/migration-service/scripts/{MigrateEthProvider.js → providers/MigrateEthProvider.js} +2 -2
  18. package/services/migration-service/scripts/providers/MigrateGeneralProvider.d.ts +13 -0
  19. package/services/migration-service/scripts/providers/MigrateGeneralProvider.js +12 -0
  20. package/services/migration-service/scripts/providers/MigrateMultiProviders.d.ts +6 -0
  21. package/services/migration-service/scripts/providers/MigrateMultiProviders.js +13 -0
  22. package/services/migration-service/scripts/{MigrateProvider.js → providers/MigrateProvider.js} +1 -1
  23. package/services/migration-service/scripts/providers/MigrateProvidersV1M1P24.d.ts +5 -0
  24. package/services/migration-service/scripts/providers/MigrateProvidersV1M1P24.js +23 -0
  25. package/cjs/services/migration-service/scripts/{MigratePioneerProvider.js → providers/MigratePioneerProvider.js} +0 -0
  26. package/services/migration-service/scripts/{MigrateEthProvider.d.ts → providers/MigrateEthProvider.d.ts} +2 -2
  27. /package/services/migration-service/scripts/{MigratePioneerProvider.d.ts → providers/MigratePioneerProvider.d.ts} +0 -0
  28. /package/services/migration-service/scripts/{MigratePioneerProvider.js → providers/MigratePioneerProvider.js} +0 -0
  29. /package/services/migration-service/scripts/{MigrateProvider.d.ts → providers/MigrateProvider.d.ts} +0 -0
@@ -13,6 +13,6 @@ const packageInfo = {
13
13
  name: '@subwallet/extension-base',
14
14
  path: typeof __dirname === 'string' ? __dirname : 'auto',
15
15
  type: 'cjs',
16
- version: '1.1.24-3'
16
+ version: '1.1.24-4'
17
17
  };
18
18
  exports.packageInfo = packageInfo;
@@ -247,7 +247,7 @@ exports._XCM_TYPE = _XCM_TYPE;
247
247
  const _DEFAULT_ACTIVE_CHAINS = [..._chainList._DEFAULT_CHAINS, 'vara_network'];
248
248
  exports._DEFAULT_ACTIVE_CHAINS = _DEFAULT_ACTIVE_CHAINS;
249
249
  const EVM_PASS_CONNECT_STATUS = {
250
- acala: ['acala_evm', 'karura_evm']
250
+ arbitrum_one: ['*']
251
251
  };
252
252
  exports.EVM_PASS_CONNECT_STATUS = EVM_PASS_CONNECT_STATUS;
253
253
  const EVM_REFORMAT_DECIMALS = {
@@ -14,7 +14,6 @@ var _web = _interopRequireDefault(require("web3"));
14
14
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
15
15
  // SPDX-License-Identifier: Apache-2.0
16
16
 
17
- const acalaEvmNetworks = _constants.EVM_PASS_CONNECT_STATUS.acala;
18
17
  class EvmApi {
19
18
  apiRetry = 0;
20
19
  isApiConnectedSubject = new _rxjs.BehaviorSubject(false);
@@ -74,10 +73,14 @@ class EvmApi {
74
73
  this.intervalCheckApi = this.createIntervalCheckApi();
75
74
  this.connect();
76
75
  }
76
+ get ignoreNetListen() {
77
+ const ignoreRpc = _constants.EVM_PASS_CONNECT_STATUS[this.chainSlug];
78
+ return ignoreRpc ? ignoreRpc.includes('*') || ignoreRpc.includes(this.apiUrl) : false;
79
+ }
77
80
  createIntervalCheckApi() {
78
81
  this.clearIntervalCheckApi();
79
82
  return setInterval(() => {
80
- if (!acalaEvmNetworks.includes(this.chainSlug)) {
83
+ if (!this.ignoreNetListen) {
81
84
  this.api.eth.net.isListening().then(() => {
82
85
  this.onConnect();
83
86
  }).catch(() => {
@@ -98,7 +101,7 @@ class EvmApi {
98
101
  this.updateConnectionStatus(_types._ChainConnectionStatus.CONNECTING);
99
102
 
100
103
  // Check if api is ready
101
- if (!acalaEvmNetworks.includes(this.chainSlug)) {
104
+ if (!this.ignoreNetListen) {
102
105
  this.api.eth.net.isListening().then(() => {
103
106
  this.isApiReadyOnce = true;
104
107
  this.onConnect();
@@ -5,17 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = exports.EVERYTIME = void 0;
8
- var _DeleteChain = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/DeleteChain"));
8
+ var _MigrateEthProvider = _interopRequireDefault(require("./providers/MigrateEthProvider"));
9
+ var _MigratePioneerProvider = _interopRequireDefault(require("./providers/MigratePioneerProvider"));
10
+ var _MigrateProvidersV1M1P = _interopRequireDefault(require("./providers/MigrateProvidersV1M1P24"));
9
11
  var _AutoEnableChainsTokens = _interopRequireDefault(require("./AutoEnableChainsTokens"));
12
+ var _DeleteChain = _interopRequireDefault(require("./DeleteChain"));
10
13
  var _EnableVaraChain = _interopRequireDefault(require("./EnableVaraChain"));
11
14
  var _MigrateAuthUrls = _interopRequireDefault(require("./MigrateAuthUrls"));
12
15
  var _MigrateAutoLock = _interopRequireDefault(require("./MigrateAutoLock"));
13
16
  var _MigrateChainPatrol = _interopRequireDefault(require("./MigrateChainPatrol"));
14
- var _MigrateEthProvider = _interopRequireDefault(require("./MigrateEthProvider"));
15
17
  var _MigrateImportedToken = _interopRequireDefault(require("./MigrateImportedToken"));
16
18
  var _MigrateLedgerAccount = _interopRequireDefault(require("./MigrateLedgerAccount"));
17
19
  var _MigrateNetworkSettings = _interopRequireDefault(require("./MigrateNetworkSettings"));
18
- var _MigratePioneerProvider = _interopRequireDefault(require("./MigratePioneerProvider"));
19
20
  var _MigrateSettings = _interopRequireDefault(require("./MigrateSettings"));
20
21
  var _MigrateTokenDecimals = _interopRequireDefault(require("./MigrateTokenDecimals"));
21
22
  var _MigrateTransactionHistory = _interopRequireDefault(require("./MigrateTransactionHistory"));
@@ -40,7 +41,8 @@ var _default = {
40
41
  '1.1.7': _DeleteChain.default,
41
42
  '1.1.13-01': _MigrateTokenDecimals.default,
42
43
  '1.1.17-01': _MigratePioneerProvider.default,
43
- '1.1.17-03': _EnableVaraChain.default
44
+ '1.1.17-03': _EnableVaraChain.default,
45
+ '1.1.24-01': _MigrateProvidersV1M1P.default
44
46
  // [`${EVERYTIME}-1`]: AutoEnableChainsTokens
45
47
  };
46
48
  exports.default = _default;
@@ -10,8 +10,8 @@ var _MigrateProvider = _interopRequireDefault(require("./MigrateProvider"));
10
10
  // SPDX-License-Identifier: Apache-2.0
11
11
 
12
12
  class MigrateEthProvider extends _MigrateProvider.default {
13
- newProvider = 'ethereum';
13
+ slug = 'ethereum';
14
14
  oldProvider = 'Cloudflare';
15
- slug = 'Llamarpc';
15
+ newProvider = 'Llamarpc';
16
16
  }
17
17
  exports.default = MigrateEthProvider;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _MigrateProvider = _interopRequireDefault(require("./MigrateProvider"));
9
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
10
+ // SPDX-License-Identifier: Apache-2.0
11
+
12
+ class MigrateGeneralProvider extends _MigrateProvider.default {
13
+ constructor(state, target) {
14
+ super(state);
15
+ this.slug = target.slug;
16
+ this.oldProvider = target.oldProvider;
17
+ this.newProvider = target.newProvider;
18
+ }
19
+ }
20
+ exports.default = MigrateGeneralProvider;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
9
+ var _MigrateGeneralProvider = _interopRequireDefault(require("./MigrateGeneralProvider"));
10
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+
13
+ class MigrateMultiProviders extends _Base.default {
14
+ async run() {
15
+ for (const target of this.targets) {
16
+ const migration = new _MigrateGeneralProvider.default(this.state, target);
17
+ await migration.run();
18
+ }
19
+ }
20
+ }
21
+ exports.default = MigrateMultiProviders;
@@ -14,7 +14,7 @@ class MigrateProvider extends _Base.default {
14
14
  const state = this.state;
15
15
  const chainState = state.getChainStateByKey(this.slug);
16
16
  const chainInfo = state.getChainInfo(this.slug);
17
- if (chainState && chainState.active && chainState.currentProvider === this.oldProvider) {
17
+ if (chainState && chainState.active && chainInfo.providers[this.newProvider] && chainState.currentProvider === this.oldProvider) {
18
18
  await state.upsertChainInfo({
19
19
  mode: 'update',
20
20
  chainEditInfo: {
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _MigrateMultiProviders = _interopRequireDefault(require("./MigrateMultiProviders"));
9
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
10
+ // SPDX-License-Identifier: Apache-2.0
11
+
12
+ class MigrateProvidersV1M1P24 extends _MigrateMultiProviders.default {
13
+ targets = [{
14
+ slug: 'polkadot',
15
+ oldProvider: 'Parity',
16
+ newProvider: 'Dwellir'
17
+ }, {
18
+ slug: 'kusama',
19
+ oldProvider: 'Parity',
20
+ newProvider: 'Dwellir'
21
+ }, {
22
+ slug: 'moonbeam',
23
+ oldProvider: 'OnFinality',
24
+ newProvider: 'Moonbeam Foundation'
25
+ }, {
26
+ slug: 'moonbase',
27
+ oldProvider: 'OnFinality',
28
+ newProvider: 'Moonbeam Foundation'
29
+ }];
30
+ }
31
+ exports.default = MigrateProvidersV1M1P24;
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "./cjs/detectPackage.js"
18
18
  ],
19
19
  "type": "module",
20
- "version": "1.1.24-3",
20
+ "version": "1.1.24-4",
21
21
  "main": "./cjs/index.js",
22
22
  "module": "./index.js",
23
23
  "types": "./index.d.ts",
@@ -773,11 +773,6 @@
773
773
  "require": "./cjs/services/migration-service/scripts/MigrateChainPatrol.js",
774
774
  "default": "./services/migration-service/scripts/MigrateChainPatrol.js"
775
775
  },
776
- "./services/migration-service/scripts/MigrateEthProvider": {
777
- "types": "./services/migration-service/scripts/MigrateEthProvider.d.ts",
778
- "require": "./cjs/services/migration-service/scripts/MigrateEthProvider.js",
779
- "default": "./services/migration-service/scripts/MigrateEthProvider.js"
780
- },
781
776
  "./services/migration-service/scripts/MigrateImportedToken": {
782
777
  "types": "./services/migration-service/scripts/MigrateImportedToken.d.ts",
783
778
  "require": "./cjs/services/migration-service/scripts/MigrateImportedToken.js",
@@ -793,16 +788,6 @@
793
788
  "require": "./cjs/services/migration-service/scripts/MigrateNetworkSettings.js",
794
789
  "default": "./services/migration-service/scripts/MigrateNetworkSettings.js"
795
790
  },
796
- "./services/migration-service/scripts/MigratePioneerProvider": {
797
- "types": "./services/migration-service/scripts/MigratePioneerProvider.d.ts",
798
- "require": "./cjs/services/migration-service/scripts/MigratePioneerProvider.js",
799
- "default": "./services/migration-service/scripts/MigratePioneerProvider.js"
800
- },
801
- "./services/migration-service/scripts/MigrateProvider": {
802
- "types": "./services/migration-service/scripts/MigrateProvider.d.ts",
803
- "require": "./cjs/services/migration-service/scripts/MigrateProvider.js",
804
- "default": "./services/migration-service/scripts/MigrateProvider.js"
805
- },
806
791
  "./services/migration-service/scripts/MigrateSettings": {
807
792
  "types": "./services/migration-service/scripts/MigrateSettings.d.ts",
808
793
  "require": "./cjs/services/migration-service/scripts/MigrateSettings.js",
@@ -823,6 +808,36 @@
823
808
  "require": "./cjs/services/migration-service/scripts/MigrateWalletReference.js",
824
809
  "default": "./services/migration-service/scripts/MigrateWalletReference.js"
825
810
  },
811
+ "./services/migration-service/scripts/providers/MigrateEthProvider": {
812
+ "types": "./services/migration-service/scripts/providers/MigrateEthProvider.d.ts",
813
+ "require": "./cjs/services/migration-service/scripts/providers/MigrateEthProvider.js",
814
+ "default": "./services/migration-service/scripts/providers/MigrateEthProvider.js"
815
+ },
816
+ "./services/migration-service/scripts/providers/MigrateGeneralProvider": {
817
+ "types": "./services/migration-service/scripts/providers/MigrateGeneralProvider.d.ts",
818
+ "require": "./cjs/services/migration-service/scripts/providers/MigrateGeneralProvider.js",
819
+ "default": "./services/migration-service/scripts/providers/MigrateGeneralProvider.js"
820
+ },
821
+ "./services/migration-service/scripts/providers/MigrateMultiProviders": {
822
+ "types": "./services/migration-service/scripts/providers/MigrateMultiProviders.d.ts",
823
+ "require": "./cjs/services/migration-service/scripts/providers/MigrateMultiProviders.js",
824
+ "default": "./services/migration-service/scripts/providers/MigrateMultiProviders.js"
825
+ },
826
+ "./services/migration-service/scripts/providers/MigratePioneerProvider": {
827
+ "types": "./services/migration-service/scripts/providers/MigratePioneerProvider.d.ts",
828
+ "require": "./cjs/services/migration-service/scripts/providers/MigratePioneerProvider.js",
829
+ "default": "./services/migration-service/scripts/providers/MigratePioneerProvider.js"
830
+ },
831
+ "./services/migration-service/scripts/providers/MigrateProvider": {
832
+ "types": "./services/migration-service/scripts/providers/MigrateProvider.d.ts",
833
+ "require": "./cjs/services/migration-service/scripts/providers/MigrateProvider.js",
834
+ "default": "./services/migration-service/scripts/providers/MigrateProvider.js"
835
+ },
836
+ "./services/migration-service/scripts/providers/MigrateProvidersV1M1P24": {
837
+ "types": "./services/migration-service/scripts/providers/MigrateProvidersV1M1P24.d.ts",
838
+ "require": "./cjs/services/migration-service/scripts/providers/MigrateProvidersV1M1P24.js",
839
+ "default": "./services/migration-service/scripts/providers/MigrateProvidersV1M1P24.js"
840
+ },
826
841
  "./services/notification-service/NotificationService": {
827
842
  "types": "./services/notification-service/NotificationService.d.ts",
828
843
  "require": "./cjs/services/notification-service/NotificationService.js",
@@ -1347,11 +1362,11 @@
1347
1362
  "@reduxjs/toolkit": "^1.9.1",
1348
1363
  "@sora-substrate/type-definitions": "^1.17.7",
1349
1364
  "@substrate/connect": "^0.7.26",
1350
- "@subwallet/chain-list": "0.2.27",
1351
- "@subwallet/extension-base": "^1.1.24-3",
1352
- "@subwallet/extension-chains": "^1.1.24-3",
1353
- "@subwallet/extension-dapp": "^1.1.24-3",
1354
- "@subwallet/extension-inject": "^1.1.24-3",
1365
+ "@subwallet/chain-list": "0.2.28",
1366
+ "@subwallet/extension-base": "^1.1.24-4",
1367
+ "@subwallet/extension-chains": "^1.1.24-4",
1368
+ "@subwallet/extension-dapp": "^1.1.24-4",
1369
+ "@subwallet/extension-inject": "^1.1.24-4",
1355
1370
  "@subwallet/keyring": "^0.1.1",
1356
1371
  "@subwallet/ui-keyring": "^0.1.1",
1357
1372
  "@walletconnect/sign-client": "^2.8.4",
package/packageInfo.js CHANGED
@@ -7,5 +7,5 @@ export const packageInfo = {
7
7
  name: '@subwallet/extension-base',
8
8
  path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto',
9
9
  type: 'esm',
10
- version: '1.1.24-3'
10
+ version: '1.1.24-4'
11
11
  };
@@ -90,9 +90,7 @@ export declare const _XCM_TYPE: {
90
90
  PR: string;
91
91
  };
92
92
  export declare const _DEFAULT_ACTIVE_CHAINS: string[];
93
- export declare const EVM_PASS_CONNECT_STATUS: {
94
- acala: string[];
95
- };
93
+ export declare const EVM_PASS_CONNECT_STATUS: Record<string, string[]>;
96
94
  export declare const EVM_REFORMAT_DECIMALS: {
97
95
  acala: string[];
98
96
  };
@@ -224,7 +224,7 @@ export const _XCM_TYPE = {
224
224
 
225
225
  export const _DEFAULT_ACTIVE_CHAINS = [..._DEFAULT_CHAINS, 'vara_network'];
226
226
  export const EVM_PASS_CONNECT_STATUS = {
227
- acala: ['acala_evm', 'karura_evm']
227
+ arbitrum_one: ['*']
228
228
  };
229
229
  export const EVM_REFORMAT_DECIMALS = {
230
230
  acala: ['acala_evm', 'karura_evm']
@@ -28,6 +28,7 @@ export declare class EvmApi implements _EvmApi {
28
28
  recoverConnect(): Promise<void>;
29
29
  private createProvider;
30
30
  constructor(chainSlug: string, apiUrl: string, { providerName }?: _ApiOptions);
31
+ get ignoreNetListen(): boolean;
31
32
  createIntervalCheckApi(): NodeJS.Timer;
32
33
  clearIntervalCheckApi(): void;
33
34
  connect(): void;
@@ -7,7 +7,6 @@ import { _ChainConnectionStatus } from '@subwallet/extension-base/services/chain
7
7
  import { createPromiseHandler } from '@subwallet/extension-base/utils/promise';
8
8
  import { BehaviorSubject } from 'rxjs';
9
9
  import Web3 from 'web3';
10
- const acalaEvmNetworks = EVM_PASS_CONNECT_STATUS.acala;
11
10
  export class EvmApi {
12
11
  apiRetry = 0;
13
12
  isApiConnectedSubject = new BehaviorSubject(false);
@@ -66,10 +65,14 @@ export class EvmApi {
66
65
  this.intervalCheckApi = this.createIntervalCheckApi();
67
66
  this.connect();
68
67
  }
68
+ get ignoreNetListen() {
69
+ const ignoreRpc = EVM_PASS_CONNECT_STATUS[this.chainSlug];
70
+ return ignoreRpc ? ignoreRpc.includes('*') || ignoreRpc.includes(this.apiUrl) : false;
71
+ }
69
72
  createIntervalCheckApi() {
70
73
  this.clearIntervalCheckApi();
71
74
  return setInterval(() => {
72
- if (!acalaEvmNetworks.includes(this.chainSlug)) {
75
+ if (!this.ignoreNetListen) {
73
76
  this.api.eth.net.isListening().then(() => {
74
77
  this.onConnect();
75
78
  }).catch(() => {
@@ -90,7 +93,7 @@ export class EvmApi {
90
93
  this.updateConnectionStatus(_ChainConnectionStatus.CONNECTING);
91
94
 
92
95
  // Check if api is ready
93
- if (!acalaEvmNetworks.includes(this.chainSlug)) {
96
+ if (!this.ignoreNetListen) {
94
97
  this.api.eth.net.isListening().then(() => {
95
98
  this.isApiReadyOnce = true;
96
99
  this.onConnect();
@@ -1,17 +1,18 @@
1
1
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import DeleteChain from '@subwallet/extension-base/services/migration-service/scripts/DeleteChain';
4
+ import MigrateEthProvider from "./providers/MigrateEthProvider.js";
5
+ import MigratePioneerProvider from "./providers/MigratePioneerProvider.js";
6
+ import MigrateProvidersV1M1P24 from "./providers/MigrateProvidersV1M1P24.js";
5
7
  import AutoEnableChainsTokens from "./AutoEnableChainsTokens.js";
8
+ import DeleteChain from "./DeleteChain.js";
6
9
  import EnableVaraChain from "./EnableVaraChain.js";
7
10
  import MigrateAuthUrls from "./MigrateAuthUrls.js";
8
11
  import MigrateAutoLock from "./MigrateAutoLock.js";
9
12
  import MigrateChainPatrol from "./MigrateChainPatrol.js";
10
- import MigrateEthProvider from "./MigrateEthProvider.js";
11
13
  import MigrateImportedToken from "./MigrateImportedToken.js";
12
14
  import MigrateLedgerAccount from "./MigrateLedgerAccount.js";
13
15
  import MigrateNetworkSettings from "./MigrateNetworkSettings.js";
14
- import MigratePioneerProvider from "./MigratePioneerProvider.js";
15
16
  import MigrateSettings from "./MigrateSettings.js";
16
17
  import MigrateTokenDecimals from "./MigrateTokenDecimals.js";
17
18
  import MigrateTransactionHistory from "./MigrateTransactionHistory.js";
@@ -32,6 +33,7 @@ export default {
32
33
  '1.1.7': DeleteChain,
33
34
  '1.1.13-01': MigrateTokenDecimals,
34
35
  '1.1.17-01': MigratePioneerProvider,
35
- '1.1.17-03': EnableVaraChain
36
+ '1.1.17-03': EnableVaraChain,
37
+ '1.1.24-01': MigrateProvidersV1M1P24
36
38
  // [`${EVERYTIME}-1`]: AutoEnableChainsTokens
37
39
  };
@@ -3,7 +3,7 @@
3
3
 
4
4
  import MigrateProvider from "./MigrateProvider.js";
5
5
  export default class MigrateEthProvider extends MigrateProvider {
6
- newProvider = 'ethereum';
6
+ slug = 'ethereum';
7
7
  oldProvider = 'Cloudflare';
8
- slug = 'Llamarpc';
8
+ newProvider = 'Llamarpc';
9
9
  }
@@ -0,0 +1,13 @@
1
+ import State from '@subwallet/extension-base/koni/background/handlers/State';
2
+ import MigrateProvider from './MigrateProvider';
3
+ export interface MigrateProviderTarget {
4
+ slug: string;
5
+ oldProvider: string;
6
+ newProvider: string;
7
+ }
8
+ export default class MigrateGeneralProvider extends MigrateProvider {
9
+ readonly newProvider: string;
10
+ readonly oldProvider: string;
11
+ readonly slug: string;
12
+ constructor(state: State, target: MigrateProviderTarget);
13
+ }
@@ -0,0 +1,12 @@
1
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import MigrateProvider from "./MigrateProvider.js";
5
+ export default class MigrateGeneralProvider extends MigrateProvider {
6
+ constructor(state, target) {
7
+ super(state);
8
+ this.slug = target.slug;
9
+ this.oldProvider = target.oldProvider;
10
+ this.newProvider = target.newProvider;
11
+ }
12
+ }
@@ -0,0 +1,6 @@
1
+ import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
2
+ import { MigrateProviderTarget } from './MigrateGeneralProvider';
3
+ export default abstract class MigrateMultiProviders extends BaseMigrationJob {
4
+ abstract targets: MigrateProviderTarget[];
5
+ run(): Promise<void>;
6
+ }
@@ -0,0 +1,13 @@
1
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
5
+ import MigrateGeneralProvider from "./MigrateGeneralProvider.js";
6
+ export default class MigrateMultiProviders extends BaseMigrationJob {
7
+ async run() {
8
+ for (const target of this.targets) {
9
+ const migration = new MigrateGeneralProvider(this.state, target);
10
+ await migration.run();
11
+ }
12
+ }
13
+ }
@@ -7,7 +7,7 @@ export default class MigrateProvider extends BaseMigrationJob {
7
7
  const state = this.state;
8
8
  const chainState = state.getChainStateByKey(this.slug);
9
9
  const chainInfo = state.getChainInfo(this.slug);
10
- if (chainState && chainState.active && chainState.currentProvider === this.oldProvider) {
10
+ if (chainState && chainState.active && chainInfo.providers[this.newProvider] && chainState.currentProvider === this.oldProvider) {
11
11
  await state.upsertChainInfo({
12
12
  mode: 'update',
13
13
  chainEditInfo: {
@@ -0,0 +1,5 @@
1
+ import { MigrateProviderTarget } from './MigrateGeneralProvider';
2
+ import MigrateMultiProviders from './MigrateMultiProviders';
3
+ export default class MigrateProvidersV1M1P24 extends MigrateMultiProviders {
4
+ targets: MigrateProviderTarget[];
5
+ }
@@ -0,0 +1,23 @@
1
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import MigrateMultiProviders from "./MigrateMultiProviders.js";
5
+ export default class MigrateProvidersV1M1P24 extends MigrateMultiProviders {
6
+ targets = [{
7
+ slug: 'polkadot',
8
+ oldProvider: 'Parity',
9
+ newProvider: 'Dwellir'
10
+ }, {
11
+ slug: 'kusama',
12
+ oldProvider: 'Parity',
13
+ newProvider: 'Dwellir'
14
+ }, {
15
+ slug: 'moonbeam',
16
+ oldProvider: 'OnFinality',
17
+ newProvider: 'Moonbeam Foundation'
18
+ }, {
19
+ slug: 'moonbase',
20
+ oldProvider: 'OnFinality',
21
+ newProvider: 'Moonbeam Foundation'
22
+ }];
23
+ }
@@ -1,6 +1,6 @@
1
1
  import MigrateProvider from './MigrateProvider';
2
2
  export default class MigrateEthProvider extends MigrateProvider {
3
- newProvider: string;
4
- oldProvider: string;
5
3
  slug: string;
4
+ oldProvider: string;
5
+ newProvider: string;
6
6
  }