@subwallet/extension-base 1.3.51-0 → 1.3.53-0

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 (60) hide show
  1. package/cjs/constants/environment.js +3 -1
  2. package/cjs/koni/background/handlers/State.js +1 -5
  3. package/cjs/packageInfo.js +1 -1
  4. package/cjs/services/balance-service/index.js +3 -4
  5. package/cjs/services/balance-service/transfer/cardano-transfer.js +43 -11
  6. package/cjs/services/balance-service/transfer/xcm/acrossBridge/index.js +13 -92
  7. package/cjs/services/balance-service/transfer/xcm/index.js +12 -4
  8. package/cjs/services/chain-service/utils/patch.js +3 -2
  9. package/cjs/services/earning-service/handlers/native-staking/dtao.js +28 -301
  10. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +4 -4
  11. package/cjs/services/earning-service/handlers/native-staking/tao.js +174 -148
  12. package/cjs/services/earning-service/handlers/nomination-pool/index.js +11 -5
  13. package/cjs/services/earning-service/service.js +5 -2
  14. package/cjs/services/fee-service/utils/tokenPayFee.js +17 -13
  15. package/cjs/services/keyring-service/context/handlers/Json.js +28 -3
  16. package/cjs/services/price-service/coingecko.js +3 -3
  17. package/cjs/services/swap-service/handler/hydradx-handler.js +19 -13
  18. package/cjs/services/swap-service/index.js +8 -5
  19. package/cjs/services/transaction-service/utils.js +31 -22
  20. package/cjs/services/wallet-connect-service/constants.js +6 -2
  21. package/cjs/services/wallet-connect-service/index.js +62 -45
  22. package/cjs/utils/index.js +12 -0
  23. package/cjs/utils/setup-api-sdk.js +27 -0
  24. package/constants/environment.d.ts +1 -0
  25. package/constants/environment.js +1 -0
  26. package/koni/background/handlers/State.js +3 -7
  27. package/package.json +34 -29
  28. package/packageInfo.js +1 -1
  29. package/services/balance-service/index.js +3 -4
  30. package/services/balance-service/transfer/cardano-transfer.js +42 -10
  31. package/services/balance-service/transfer/xcm/acrossBridge/index.js +14 -93
  32. package/services/balance-service/transfer/xcm/index.js +12 -4
  33. package/services/chain-service/utils/patch.d.ts +1 -0
  34. package/services/chain-service/utils/patch.js +1 -1
  35. package/services/earning-service/handlers/native-staking/dtao.d.ts +4 -36
  36. package/services/earning-service/handlers/native-staking/dtao.js +24 -298
  37. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +1 -2
  38. package/services/earning-service/handlers/native-staking/relay-chain.js +4 -4
  39. package/services/earning-service/handlers/native-staking/tao.d.ts +25 -5
  40. package/services/earning-service/handlers/native-staking/tao.js +169 -149
  41. package/services/earning-service/handlers/nomination-pool/index.d.ts +1 -2
  42. package/services/earning-service/handlers/nomination-pool/index.js +11 -5
  43. package/services/earning-service/service.d.ts +1 -0
  44. package/services/earning-service/service.js +4 -2
  45. package/services/fee-service/utils/tokenPayFee.js +17 -13
  46. package/services/keyring-service/context/handlers/Json.js +28 -3
  47. package/services/price-service/coingecko.js +2 -3
  48. package/services/swap-service/handler/hydradx-handler.js +19 -13
  49. package/services/swap-service/index.js +8 -5
  50. package/services/transaction-service/utils.d.ts +0 -1
  51. package/services/transaction-service/utils.js +31 -21
  52. package/services/wallet-connect-service/constants.d.ts +2 -0
  53. package/services/wallet-connect-service/constants.js +3 -1
  54. package/services/wallet-connect-service/index.js +50 -33
  55. package/types/swap/index.d.ts +1 -1
  56. package/types/yield/info/chain/info.d.ts +1 -0
  57. package/utils/index.d.ts +1 -0
  58. package/utils/index.js +2 -1
  59. package/utils/setup-api-sdk.d.ts +1 -0
  60. package/utils/setup-api-sdk.js +20 -0
@@ -162,7 +162,17 @@ class AccountJsonHandler extends _Base.AccountBaseHandler {
162
162
  accountProxies,
163
163
  modifyPairs
164
164
  } = json;
165
- const pairs = jsons.map(pair => _uiKeyring.keyring.createFromJson(pair));
165
+ const pairs = jsons.reduce((rs, pair) => {
166
+ try {
167
+ rs.push(_uiKeyring.keyring.createFromJson(pair));
168
+ } catch (e) {
169
+ console.error(e);
170
+ }
171
+ return rs;
172
+ }, []);
173
+ if (!(pairs !== null && pairs !== void 0 && pairs.length)) {
174
+ throw new Error((0, _i18next.t)('No valid accounts found to import'));
175
+ }
166
176
  const accountProxyMap = (0, _utils.combineAccountsWithKeyPair)(pairs, modifyPairs, accountProxies);
167
177
  const result = Object.values(accountProxyMap).map(proxy => {
168
178
  const rs = {
@@ -205,9 +215,24 @@ class AccountJsonHandler extends _Base.AccountBaseHandler {
205
215
  try {
206
216
  const {
207
217
  accountProxies,
208
- modifyPairs
218
+ modifyPairs: modifyPairsRestored
209
219
  } = file;
210
- const pairs = jsons.map(pair => _uiKeyring.keyring.createFromJson(pair));
220
+ const modifyPairs = {};
221
+ const pairs = jsons.reduce((rs, pairJson) => {
222
+ try {
223
+ const pair = _uiKeyring.keyring.createFromJson(pairJson);
224
+ if (modifyPairsRestored !== null && modifyPairsRestored !== void 0 && modifyPairsRestored[pair.address]) {
225
+ modifyPairs[pair.address] = modifyPairsRestored[pair.address];
226
+ }
227
+ rs.push(pair);
228
+ } catch (e) {
229
+ console.error(e);
230
+ }
231
+ return rs;
232
+ }, []);
233
+ if (!(pairs !== null && pairs !== void 0 && pairs.length)) {
234
+ throw new Error((0, _i18next.t)('No valid accounts found to import'));
235
+ }
211
236
  const accountProxyMap = (0, _utils.combineAccountsWithKeyPair)(pairs, modifyPairs, accountProxies);
212
237
  const rawProxyIds = _proxyIds && _proxyIds.length ? _proxyIds : Object.keys(accountProxyMap);
213
238
  let _exists;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.getPriceMap = exports.getHistoryPrice = exports.getExchangeRateMap = void 0;
7
8
  var _constants = require("@subwallet/extension-base/constants");
8
9
  var _staticData = require("@subwallet/extension-base/utils/staticData");
9
- var _subwalletApiSdk = require("@subwallet/subwallet-api-sdk");
10
+ var _subwalletServicesSdk = _interopRequireDefault(require("@subwallet-monorepos/subwallet-services-sdk"));
10
11
  var _util = require("@polkadot/util");
11
12
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
12
13
  // SPDX-License-Identifier: Apache-2.0
@@ -155,8 +156,7 @@ const getPriceMap = async function (priceIds) {
155
156
  exports.getPriceMap = getPriceMap;
156
157
  const getHistoryPrice = async (priceId, type) => {
157
158
  try {
158
- var _subwalletApiSdk$pric;
159
- const response = await ((_subwalletApiSdk$pric = _subwalletApiSdk.subwalletApiSdk.priceHistoryApi) === null || _subwalletApiSdk$pric === void 0 ? void 0 : _subwalletApiSdk$pric.getPriceHistory(priceId, type));
159
+ const response = await _subwalletServicesSdk.default.priceHistoryApi.getPriceHistory(priceId, type);
160
160
  if (response) {
161
161
  return response;
162
162
  }
@@ -16,7 +16,7 @@ var _types = require("@subwallet/extension-base/types");
16
16
  var _serviceBase = require("@subwallet/extension-base/types/service-base");
17
17
  var _swap = require("@subwallet/extension-base/types/swap");
18
18
  var _utils3 = require("@subwallet/extension-base/utils");
19
- var _subwalletApiSdk = _interopRequireDefault(require("@subwallet/subwallet-api-sdk"));
19
+ var _subwalletServicesSdk = _interopRequireDefault(require("@subwallet-monorepos/subwallet-services-sdk"));
20
20
  var _bignumber = _interopRequireDefault(require("bignumber.js"));
21
21
  var _util = require("@polkadot/util");
22
22
  // Copyright 2019-2022 @subwallet/extension-base
@@ -145,21 +145,27 @@ class HydradxHandler {
145
145
  let bnSendingValue = (0, _bignumber.default)(fromAmount);
146
146
  let bnExpectedReceive = (0, _bignumber.default)(selectedQuote.toAmount);
147
147
  if (needModifyData) {
148
- var _subwalletApiSdk$swap;
148
+ var _quotes;
149
149
  // override info if xcm-swap-xcm
150
150
  bnSendingValue = bnSendingValue.multipliedBy(_utils2.DEFAULT_EXCESS_AMOUNT_WEIGHT);
151
151
  bnExpectedReceive = bnExpectedReceive.multipliedBy(_utils2.DEFAULT_EXCESS_AMOUNT_WEIGHT);
152
- const quotes = await ((_subwalletApiSdk$swap = _subwalletApiSdk.default.swapApi) === null || _subwalletApiSdk$swap === void 0 ? void 0 : _subwalletApiSdk$swap.fetchSwapQuoteData({
153
- address: sender,
154
- pair: {
155
- from: swapPairInfo.from,
156
- to: swapPairInfo.to,
157
- slug: swapPairInfo.slug
158
- },
159
- fromAmount: bnSendingValue.toFixed(0, 1),
160
- slippage: params.request.slippage
161
- }));
162
- const quoteAskResponse = quotes === null || quotes === void 0 ? void 0 : quotes.find(quote => quote.provider === this.providerSlug);
152
+ let quotes = []; // todo
153
+
154
+ try {
155
+ quotes = await _subwalletServicesSdk.default.swapApi.fetchSwapQuoteData({
156
+ address: sender,
157
+ pair: {
158
+ from: swapPairInfo.from,
159
+ to: swapPairInfo.to,
160
+ slug: swapPairInfo.slug
161
+ },
162
+ fromAmount: bnSendingValue.toFixed(0, 1),
163
+ slippage: params.request.slippage
164
+ });
165
+ } catch (error) {
166
+ throw new Error(`Failed to fetch swap quote: ${error.message}`);
167
+ }
168
+ const quoteAskResponse = (_quotes = quotes) === null || _quotes === void 0 ? void 0 : _quotes.find(quote => quote.provider === this.providerSlug);
163
169
  if (!quoteAskResponse || !quoteAskResponse.quote) {
164
170
  return Promise.resolve(undefined);
165
171
  }
@@ -21,7 +21,7 @@ var _types3 = require("@subwallet/extension-base/types");
21
21
  var _serviceBase = require("@subwallet/extension-base/types/service-base");
22
22
  var _swap = require("@subwallet/extension-base/types/swap");
23
23
  var _utils3 = require("@subwallet/extension-base/utils");
24
- var _subwalletApiSdk = _interopRequireDefault(require("@subwallet/subwallet-api-sdk"));
24
+ var _subwalletServicesSdk = _interopRequireDefault(require("@subwallet-monorepos/subwallet-services-sdk"));
25
25
  var _bignumber = _interopRequireDefault(require("bignumber.js"));
26
26
  var _i18next = require("i18next");
27
27
  var _rxjs = require("rxjs");
@@ -43,7 +43,6 @@ class SwapService {
43
43
  this.chainService = state.chainService;
44
44
  }
45
45
  async askProvidersForQuote(_request) {
46
- var _subwalletApiSdk$swap;
47
46
  const availableQuotes = [];
48
47
 
49
48
  // hotfix // todo: remove later
@@ -51,7 +50,7 @@ class SwapService {
51
50
  ..._request,
52
51
  isSupportKyberVersion: true
53
52
  };
54
- const quotes = await ((_subwalletApiSdk$swap = _subwalletApiSdk.default.swapApi) === null || _subwalletApiSdk$swap === void 0 ? void 0 : _subwalletApiSdk$swap.fetchSwapQuoteData(request));
53
+ const quotes = await _subwalletServicesSdk.default.swapApi.fetchSwapQuoteData(request);
55
54
  if (Array.isArray(quotes)) {
56
55
  quotes.forEach(quoteData => {
57
56
  if (!_swap._SUPPORTED_SWAP_PROVIDERS.includes(quoteData.provider)) {
@@ -272,8 +271,12 @@ class SwapService {
272
271
  return [[], undefined];
273
272
  }
274
273
  async getLatestQuoteFromSwapRequest(request) {
275
- var _subwalletApiSdk$swap2;
276
- const availablePath = await ((_subwalletApiSdk$swap2 = _subwalletApiSdk.default.swapApi) === null || _subwalletApiSdk$swap2 === void 0 ? void 0 : _subwalletApiSdk$swap2.findAvailablePath(request));
274
+ let availablePath;
275
+ try {
276
+ availablePath = await _subwalletServicesSdk.default.swapApi.findAvailablePath(request);
277
+ } catch (e) {
278
+ console.log('Error findAvailablePath', e);
279
+ }
277
280
  if (!availablePath) {
278
281
  return {
279
282
  path: [],
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getChainflipExplorerLink = getChainflipExplorerLink;
7
7
  exports.getExplorerLink = getExplorerLink;
8
8
  exports.getSimpleSwapExplorerLink = getSimpleSwapExplorerLink;
9
- exports.getTransactionId = getTransactionId;
10
9
  exports.parseTransactionData = parseTransactionData;
11
10
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
12
11
  var _utils2 = require("@subwallet/extension-base/services/swap-service/utils");
@@ -52,12 +51,18 @@ function getBlockExplorerAccountRoute(explorerLink) {
52
51
  if (explorerLink.includes('devnet-explorer.mosaicchain.io')) {
53
52
  return 'accounts';
54
53
  }
54
+ if (explorerLink.includes('pdexmon.com')) {
55
+ return 'holders';
56
+ }
55
57
  return 'address';
56
58
  }
57
59
  function getBlockExplorerTxRoute(chainInfo) {
58
60
  if ((0, _utils._isPureEvmChain)(chainInfo) || (0, _utils._isPureBitcoinChain)(chainInfo)) {
59
61
  return 'tx';
60
62
  }
63
+ if (['moonbeam'].includes(chainInfo.slug)) {
64
+ return 'tx';
65
+ }
61
66
  if ((0, _utils._isPureCardanoChain)(chainInfo) || (0, _utils._isPureTonChain)(chainInfo)) {
62
67
  return 'transaction';
63
68
  }
@@ -67,33 +72,38 @@ function getBlockExplorerTxRoute(chainInfo) {
67
72
  if (['gen6_public'].includes(chainInfo.slug)) {
68
73
  return '#/extrinsics';
69
74
  }
70
- if (['mosaicTest'].includes(chainInfo.slug)) {
75
+ if (['mosaicTest', 'polkadex'].includes(chainInfo.slug)) {
71
76
  return 'transactions';
72
77
  }
78
+ if (['autonomys'].includes(chainInfo.slug)) {
79
+ return 'extrinsics';
80
+ }
73
81
  const explorerLink = (0, _utils._getBlockExplorerFromChain)(chainInfo);
74
82
  if (explorerLink && explorerLink.includes('statescan.io')) {
75
83
  return '#/extrinsics';
76
84
  }
77
85
  return 'extrinsic';
78
86
  }
79
- function getTransactionId(value) {
80
- const query = `
81
- query ExtrinsicQuery {
82
- extrinsics(where: {hash_eq: ${value}}, limit: 1) {
83
- id
84
- }
85
- }`;
86
- const apiUrl = 'https://archive-explorer.truth-network.io/graphql';
87
- return fetch(apiUrl, {
88
- method: 'POST',
89
- headers: {
90
- 'Content-Type': 'application/json'
91
- },
92
- body: JSON.stringify({
93
- query
94
- })
95
- }).then(response => response.json()).then(result => result.data.extrinsics[0].id);
96
- }
87
+
88
+ // export function getTransactionId (value: string): Promise<string> {
89
+ // const query = `
90
+ // query ExtrinsicQuery {
91
+ // extrinsics(where: {hash_eq: ${value}}, limit: 1) {
92
+ // id
93
+ // }
94
+ // }`;
95
+ //
96
+ // const apiUrl = 'https://archive-explorer.truth-network.io/graphql';
97
+ //
98
+ // return fetch(apiUrl, {
99
+ // method: 'POST',
100
+ // headers: { 'Content-Type': 'application/json' },
101
+ // body: JSON.stringify({ query })
102
+ // })
103
+ // .then((response) => response.json())
104
+ // .then((result: SWApiResponse<ExtrinsicsDataResponse>) => result.data.extrinsics[0].id);
105
+ // }
106
+
97
107
  function getExplorerLink(chainInfo, value, type) {
98
108
  const explorerLink = (0, _utils._getBlockExplorerFromChain)(chainInfo);
99
109
  if (explorerLink && type === 'account') {
@@ -129,6 +139,5 @@ function getChainflipExplorerLink(data, chainInfo) {
129
139
  return `${chainflipDomain}/channels/${data.depositChannelId}`;
130
140
  }
131
141
  function getSimpleSwapExplorerLink(data) {
132
- const simpleswapDomain = _utils2.SIMPLE_SWAP_EXPLORER;
133
- return `${simpleswapDomain}/exchange?id=${data.id}`;
142
+ return `${_utils2.SIMPLE_SWAP_EXPLORER}/exchange?id=${data.id}`;
134
143
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WALLET_CONNECT_SUPPORT_NAMESPACES = exports.WALLET_CONNECT_SUPPORTED_METHODS = exports.WALLET_CONNECT_REQUEST_KEY = exports.WALLET_CONNECT_POLKADOT_NAMESPACE = exports.WALLET_CONNECT_EIP155_NAMESPACE = exports.RELAY_URL = exports.PROJECT_ID_MOBILE = exports.PROJECT_ID_EXTENSION = exports.DEFAULT_WALLET_CONNECT_OPTIONS = exports.ALL_WALLET_CONNECT_EVENT = void 0;
6
+ exports.WALLET_CONNECT_SUPPORT_NAMESPACES = exports.WALLET_CONNECT_SUPPORTED_METHODS = exports.WALLET_CONNECT_SESSION_TIMEOUT = exports.WALLET_CONNECT_REQUEST_KEY = exports.WALLET_CONNECT_POLKADOT_NAMESPACE = exports.WALLET_CONNECT_EIP155_NAMESPACE = exports.RELAY_URL = exports.RELAY_FALLBACK_URL = exports.PROJECT_ID_MOBILE = exports.PROJECT_ID_EXTENSION = exports.DEFAULT_WALLET_CONNECT_OPTIONS = exports.ALL_WALLET_CONNECT_EVENT = void 0;
7
7
  var _types = require("@subwallet/extension-base/services/wallet-connect-service/types");
8
8
  var _utils = require("@subwallet/extension-base/utils");
9
9
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
@@ -15,6 +15,8 @@ const PROJECT_ID_MOBILE = '6da34c0b48164d27681924dd9a46d6be';
15
15
  exports.PROJECT_ID_MOBILE = PROJECT_ID_MOBILE;
16
16
  const RELAY_URL = 'wss://relay.walletconnect.com';
17
17
  exports.RELAY_URL = RELAY_URL;
18
+ const RELAY_FALLBACK_URL = 'wss://relay.walletconnect.org';
19
+ exports.RELAY_FALLBACK_URL = RELAY_FALLBACK_URL;
18
20
  const DEFAULT_WALLET_CONNECT_OPTIONS = {
19
21
  logger: 'error',
20
22
  projectId: _utils.targetIsMobile ? PROJECT_ID_MOBILE : PROJECT_ID_EXTENSION,
@@ -38,4 +40,6 @@ exports.WALLET_CONNECT_EIP155_NAMESPACE = WALLET_CONNECT_EIP155_NAMESPACE;
38
40
  const WALLET_CONNECT_POLKADOT_NAMESPACE = 'polkadot';
39
41
  exports.WALLET_CONNECT_POLKADOT_NAMESPACE = WALLET_CONNECT_POLKADOT_NAMESPACE;
40
42
  const WALLET_CONNECT_SUPPORT_NAMESPACES = [WALLET_CONNECT_EIP155_NAMESPACE, WALLET_CONNECT_POLKADOT_NAMESPACE];
41
- exports.WALLET_CONNECT_SUPPORT_NAMESPACES = WALLET_CONNECT_SUPPORT_NAMESPACES;
43
+ exports.WALLET_CONNECT_SUPPORT_NAMESPACES = WALLET_CONNECT_SUPPORT_NAMESPACES;
44
+ const WALLET_CONNECT_SESSION_TIMEOUT = 20000; // 20 seconds
45
+ exports.WALLET_CONNECT_SESSION_TIMEOUT = WALLET_CONNECT_SESSION_TIMEOUT;
@@ -10,8 +10,9 @@ var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime
10
10
  var _utils = require("@json-rpc-tools/utils");
11
11
  var _Eip155RequestHandler = _interopRequireDefault(require("@subwallet/extension-base/services/wallet-connect-service/handler/Eip155RequestHandler"));
12
12
  var _storage = require("@subwallet/extension-base/storage");
13
+ var _utils2 = require("@subwallet/extension-base/utils");
13
14
  var _signClient = _interopRequireDefault(require("@walletconnect/sign-client"));
14
- var _utils2 = require("@walletconnect/utils");
15
+ var _utils3 = require("@walletconnect/utils");
15
16
  var _rxjs = require("rxjs");
16
17
  var _PolkadotRequestHandler = _interopRequireDefault(require("./handler/PolkadotRequestHandler"));
17
18
  var _constants = require("./constants");
@@ -130,7 +131,19 @@ class WalletConnectService {
130
131
  async initClient(force) {
131
132
  (0, _classPrivateFieldLooseBase2.default)(this, _removeListener)[_removeListener]();
132
133
  if (force || (await this.haveData())) {
133
- (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client] = await _signClient.default.init((0, _classPrivateFieldLooseBase2.default)(this, _option)[_option]);
134
+ try {
135
+ (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client] = await _signClient.default.init((0, _classPrivateFieldLooseBase2.default)(this, _option)[_option]);
136
+ } catch (e) {
137
+ if ((0, _classPrivateFieldLooseBase2.default)(this, _option)[_option].relayUrl === _constants.RELAY_URL) {
138
+ (0, _classPrivateFieldLooseBase2.default)(this, _option)[_option] = {
139
+ ...(0, _classPrivateFieldLooseBase2.default)(this, _option)[_option],
140
+ relayUrl: _constants.RELAY_FALLBACK_URL
141
+ };
142
+ (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client] = await _signClient.default.init((0, _classPrivateFieldLooseBase2.default)(this, _option)[_option]);
143
+ } else {
144
+ throw e;
145
+ }
146
+ }
134
147
  }
135
148
  (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
136
149
  (0, _classPrivateFieldLooseBase2.default)(this, _createListener)[_createListener]();
@@ -143,7 +156,7 @@ class WalletConnectService {
143
156
  var _classPrivateFieldLoo2;
144
157
  const session = (_classPrivateFieldLoo2 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo2 === void 0 ? void 0 : _classPrivateFieldLoo2.session.get(topic);
145
158
  if (!session) {
146
- throw new Error((0, _utils2.getInternalError)('MISMATCHED_TOPIC').message);
159
+ throw new Error((0, _utils3.getInternalError)('MISMATCHED_TOPIC').message);
147
160
  } else {
148
161
  return session;
149
162
  }
@@ -153,17 +166,21 @@ class WalletConnectService {
153
166
  await this.initClient();
154
167
  }
155
168
  async connect(uri) {
156
- var _classPrivateFieldLoo3;
157
- if (!(await this.haveData())) {
169
+ var _classPrivateFieldLoo3, _classPrivateFieldLoo4;
170
+ if (!(await this.haveData()) || !((_classPrivateFieldLoo3 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) !== null && _classPrivateFieldLoo3 !== void 0 && _classPrivateFieldLoo3.core.relayer.connected)) {
158
171
  await this.initClient(true);
159
172
  }
160
173
  (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
161
- await ((_classPrivateFieldLoo3 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo3 === void 0 ? void 0 : _classPrivateFieldLoo3.pair({
174
+
175
+ // The purpose of designing a timeout for pairing is to prevent the promise from not being resolved if there are issues during the pairing process.
176
+ await Promise.race([(_classPrivateFieldLoo4 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo4 === void 0 ? void 0 : _classPrivateFieldLoo4.pair({
162
177
  uri
163
- }));
178
+ }), (0, _utils2.wait)(_constants.WALLET_CONNECT_SESSION_TIMEOUT).then(() => {
179
+ throw new Error((0, _utils3.getInternalError)('EXPIRED').message);
180
+ })]);
164
181
  }
165
182
  async approveSession(result) {
166
- var _classPrivateFieldLoo4;
183
+ var _classPrivateFieldLoo5;
167
184
  (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
168
185
  Object.entries(result.namespaces).forEach(_ref3 => {
169
186
  let [namespace, {
@@ -172,34 +189,34 @@ class WalletConnectService {
172
189
  methods = [...methods, ...this.findMethodsMissing(_constants.WALLET_CONNECT_EIP155_NAMESPACE === namespace ? methodEVMRequire : methodDOTRequire, methods)];
173
190
  result.namespaces[namespace].methods = methods;
174
191
  });
175
- await ((_classPrivateFieldLoo4 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo4 === void 0 ? void 0 : _classPrivateFieldLoo4.approve(result));
192
+ await ((_classPrivateFieldLoo5 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo5 === void 0 ? void 0 : _classPrivateFieldLoo5.approve(result));
176
193
  (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
177
194
  }
178
195
  async rejectSession(id) {
179
- var _classPrivateFieldLoo5;
196
+ var _classPrivateFieldLoo6;
180
197
  (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
181
- await ((_classPrivateFieldLoo5 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo5 === void 0 ? void 0 : _classPrivateFieldLoo5.reject({
198
+ await ((_classPrivateFieldLoo6 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo6 === void 0 ? void 0 : _classPrivateFieldLoo6.reject({
182
199
  id: id,
183
- reason: (0, _utils2.getSdkError)('USER_REJECTED')
200
+ reason: (0, _utils3.getSdkError)('USER_REJECTED')
184
201
  }));
185
202
  }
186
203
  async responseRequest(response) {
187
- var _classPrivateFieldLoo6;
204
+ var _classPrivateFieldLoo7;
188
205
  (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
189
- await ((_classPrivateFieldLoo6 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo6 === void 0 ? void 0 : _classPrivateFieldLoo6.respond(response));
206
+ await ((_classPrivateFieldLoo7 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo7 === void 0 ? void 0 : _classPrivateFieldLoo7.respond(response));
190
207
  }
191
208
  async resetWallet(resetAll) {
192
- var _classPrivateFieldLoo7, _classPrivateFieldLoo9, _classPrivateFieldLoo11;
209
+ var _classPrivateFieldLoo8, _classPrivateFieldLoo10, _classPrivateFieldLoo12;
193
210
  (0, _classPrivateFieldLooseBase2.default)(this, _removeListener)[_removeListener]();
194
211
 
195
212
  // Disconnect session
196
- const sessions = ((_classPrivateFieldLoo7 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo7 === void 0 ? void 0 : _classPrivateFieldLoo7.session.values) || [];
213
+ const sessions = ((_classPrivateFieldLoo8 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo8 === void 0 ? void 0 : _classPrivateFieldLoo8.session.values) || [];
197
214
  for (const session of sessions) {
198
215
  try {
199
- var _classPrivateFieldLoo8;
200
- await ((_classPrivateFieldLoo8 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo8 === void 0 ? void 0 : _classPrivateFieldLoo8.disconnect({
216
+ var _classPrivateFieldLoo9;
217
+ await ((_classPrivateFieldLoo9 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo9 === void 0 ? void 0 : _classPrivateFieldLoo9.disconnect({
201
218
  topic: session.topic,
202
- reason: (0, _utils2.getSdkError)('USER_DISCONNECTED')
219
+ reason: (0, _utils3.getSdkError)('USER_DISCONNECTED')
203
220
  }));
204
221
  } catch (e) {
205
222
  console.error(e);
@@ -207,24 +224,24 @@ class WalletConnectService {
207
224
  }
208
225
 
209
226
  // Disconnect pair
210
- const pairs = ((_classPrivateFieldLoo9 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo9 === void 0 ? void 0 : _classPrivateFieldLoo9.pairing.values) || [];
227
+ const pairs = ((_classPrivateFieldLoo10 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo10 === void 0 ? void 0 : _classPrivateFieldLoo10.pairing.values) || [];
211
228
  for (const pair of pairs) {
212
229
  try {
213
- var _classPrivateFieldLoo10;
214
- await ((_classPrivateFieldLoo10 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo10 === void 0 ? void 0 : _classPrivateFieldLoo10.disconnect({
230
+ var _classPrivateFieldLoo11;
231
+ await ((_classPrivateFieldLoo11 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo11 === void 0 ? void 0 : _classPrivateFieldLoo11.disconnect({
215
232
  topic: pair.topic,
216
- reason: (0, _utils2.getSdkError)('USER_DISCONNECTED')
233
+ reason: (0, _utils3.getSdkError)('USER_DISCONNECTED')
217
234
  }));
218
235
  } catch (e) {
219
236
  console.error(e);
220
237
  }
221
238
  }
222
- const keys = (await ((_classPrivateFieldLoo11 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo11 === void 0 ? void 0 : _classPrivateFieldLoo11.core.storage.getKeys())) || [];
239
+ const keys = (await ((_classPrivateFieldLoo12 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo12 === void 0 ? void 0 : _classPrivateFieldLoo12.core.storage.getKeys())) || [];
223
240
  const deleteKeys = resetAll ? keys : keys.filter(key => key.startsWith('wc@'));
224
241
  for (const key of deleteKeys) {
225
242
  try {
226
- var _classPrivateFieldLoo12;
227
- await ((_classPrivateFieldLoo12 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo12 === void 0 ? void 0 : _classPrivateFieldLoo12.core.storage.removeItem(key));
243
+ var _classPrivateFieldLoo13;
244
+ await ((_classPrivateFieldLoo13 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo13 === void 0 ? void 0 : _classPrivateFieldLoo13.core.storage.removeItem(key));
228
245
  } catch (e) {
229
246
  console.error(e);
230
247
  }
@@ -233,10 +250,10 @@ class WalletConnectService {
233
250
  (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
234
251
  }
235
252
  async disconnect(topic) {
236
- var _classPrivateFieldLoo13;
237
- await ((_classPrivateFieldLoo13 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo13 === void 0 ? void 0 : _classPrivateFieldLoo13.disconnect({
253
+ var _classPrivateFieldLoo14;
254
+ await ((_classPrivateFieldLoo14 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo14 === void 0 ? void 0 : _classPrivateFieldLoo14.disconnect({
238
255
  topic: topic,
239
- reason: (0, _utils2.getSdkError)('USER_DISCONNECTED')
256
+ reason: (0, _utils3.getSdkError)('USER_DISCONNECTED')
240
257
  }));
241
258
  (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
242
259
  }
@@ -279,19 +296,19 @@ function _onSessionRequest2(requestEvent) {
279
296
  const chainInfoMap = (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].getChainInfoMap();
280
297
  const [requestNamespace] = chainId.split(':');
281
298
  if (!namespaces.includes(requestNamespace)) {
282
- throw Error((0, _utils2.getSdkError)('UNSUPPORTED_NAMESPACE_KEY').message);
299
+ throw Error((0, _utils3.getSdkError)('UNSUPPORTED_NAMESPACE_KEY').message);
283
300
  }
284
301
  if (!chains.includes(chainId)) {
285
- throw Error((0, _utils2.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + chainId);
302
+ throw Error((0, _utils3.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + chainId);
286
303
  }
287
304
  if (!(0, _helpers.isSupportWalletConnectChain)(chainId, chainInfoMap)) {
288
- throw Error((0, _utils2.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + chainId);
305
+ throw Error((0, _utils3.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + chainId);
289
306
  }
290
307
  if (!methods.includes(method)) {
291
- throw Error((0, _utils2.getSdkError)('UNAUTHORIZED_METHOD').message + ' ' + method);
308
+ throw Error((0, _utils3.getSdkError)('UNAUTHORIZED_METHOD').message + ' ' + method);
292
309
  }
293
310
  if (!_constants.WALLET_CONNECT_SUPPORTED_METHODS.includes(method)) {
294
- throw Error((0, _utils2.getSdkError)('UNSUPPORTED_METHODS').message + ' ' + method);
311
+ throw Error((0, _utils3.getSdkError)('UNSUPPORTED_METHODS').message + ' ' + method);
295
312
  }
296
313
  switch (method) {
297
314
  case _types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_MESSAGE:
@@ -307,7 +324,7 @@ function _onSessionRequest2(requestEvent) {
307
324
  (0, _classPrivateFieldLooseBase2.default)(this, _eip155RequestHandler)[_eip155RequestHandler].handleRequest(requestEvent);
308
325
  break;
309
326
  default:
310
- throw Error((0, _utils2.getSdkError)('INVALID_METHOD').message + ' ' + method);
327
+ throw Error((0, _utils3.getSdkError)('INVALID_METHOD').message + ' ' + method);
311
328
  }
312
329
  } catch (e) {
313
330
  console.log(e);
@@ -343,22 +360,22 @@ async function _onPingReply2(_ref4) {
343
360
  }
344
361
  }
345
362
  function _createListener2() {
346
- var _classPrivateFieldLoo14, _classPrivateFieldLoo15, _classPrivateFieldLoo16, _classPrivateFieldLoo17, _classPrivateFieldLoo18, _classPrivateFieldLoo19;
347
- (_classPrivateFieldLoo14 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo14 === void 0 ? void 0 : _classPrivateFieldLoo14.on('session_proposal', (0, _classPrivateFieldLooseBase2.default)(this, _onSessionProposal)[_onSessionProposal].bind(this));
348
- (_classPrivateFieldLoo15 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo15 === void 0 ? void 0 : _classPrivateFieldLoo15.on('session_request', (0, _classPrivateFieldLooseBase2.default)(this, _onSessionRequest)[_onSessionRequest].bind(this));
349
- (_classPrivateFieldLoo16 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo16 === void 0 ? void 0 : _classPrivateFieldLoo16.on('session_ping', (0, _classPrivateFieldLooseBase2.default)(this, _onPingReply)[_onPingReply].bind(this));
350
- (_classPrivateFieldLoo17 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo17 === void 0 ? void 0 : _classPrivateFieldLoo17.on('session_event', data => console.log('event', data));
351
- (_classPrivateFieldLoo18 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo18 === void 0 ? void 0 : _classPrivateFieldLoo18.on('session_update', data => console.log('update', data));
352
- (_classPrivateFieldLoo19 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo19 === void 0 ? void 0 : _classPrivateFieldLoo19.on('session_delete', (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions].bind(this));
363
+ var _classPrivateFieldLoo15, _classPrivateFieldLoo16, _classPrivateFieldLoo17, _classPrivateFieldLoo18, _classPrivateFieldLoo19, _classPrivateFieldLoo20;
364
+ (_classPrivateFieldLoo15 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo15 === void 0 ? void 0 : _classPrivateFieldLoo15.on('session_proposal', (0, _classPrivateFieldLooseBase2.default)(this, _onSessionProposal)[_onSessionProposal].bind(this));
365
+ (_classPrivateFieldLoo16 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo16 === void 0 ? void 0 : _classPrivateFieldLoo16.on('session_request', (0, _classPrivateFieldLooseBase2.default)(this, _onSessionRequest)[_onSessionRequest].bind(this));
366
+ (_classPrivateFieldLoo17 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo17 === void 0 ? void 0 : _classPrivateFieldLoo17.on('session_ping', (0, _classPrivateFieldLooseBase2.default)(this, _onPingReply)[_onPingReply].bind(this));
367
+ (_classPrivateFieldLoo18 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo18 === void 0 ? void 0 : _classPrivateFieldLoo18.on('session_event', data => console.log('event', data));
368
+ (_classPrivateFieldLoo19 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo19 === void 0 ? void 0 : _classPrivateFieldLoo19.on('session_update', data => console.log('update', data));
369
+ (_classPrivateFieldLoo20 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo20 === void 0 ? void 0 : _classPrivateFieldLoo20.on('session_delete', (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions].bind(this));
353
370
  }
354
371
  function _removeListener2() {
355
372
  _constants.ALL_WALLET_CONNECT_EVENT.forEach(event => {
356
- var _classPrivateFieldLoo20;
357
- (_classPrivateFieldLoo20 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo20 === void 0 ? void 0 : _classPrivateFieldLoo20.removeAllListeners(event);
373
+ var _classPrivateFieldLoo21;
374
+ (_classPrivateFieldLoo21 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo21 === void 0 ? void 0 : _classPrivateFieldLoo21.removeAllListeners(event);
358
375
  });
359
376
  }
360
377
  function _checkClient2() {
361
378
  if (!(0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) {
362
- throw new Error((0, _utils2.getInternalError)('NOT_INITIALIZED').message);
379
+ throw new Error((0, _utils3.getInternalError)('NOT_INITIALIZED').message);
363
380
  }
364
381
  }
@@ -343,6 +343,18 @@ Object.keys(_bitcoin).forEach(function (key) {
343
343
  }
344
344
  });
345
345
  });
346
+ var _setupApiSdk = require("./setup-api-sdk");
347
+ Object.keys(_setupApiSdk).forEach(function (key) {
348
+ if (key === "default" || key === "__esModule") return;
349
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
350
+ if (key in exports && exports[key] === _setupApiSdk[key]) return;
351
+ Object.defineProperty(exports, key, {
352
+ enumerable: true,
353
+ get: function () {
354
+ return _setupApiSdk[key];
355
+ }
356
+ });
357
+ });
346
358
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
347
359
  // SPDX-License-Identifier: Apache-2.0
348
360
 
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.setupApiSDK = setupApiSDK;
8
+ var _constants = require("@subwallet/extension-base/constants");
9
+ var _utils = require("@subwallet/extension-base/services/chain-service/utils");
10
+ var _subwalletServicesSdk = _interopRequireDefault(require("@subwallet-monorepos/subwallet-services-sdk"));
11
+ var _environment = require("./environment");
12
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
13
+ // SPDX-License-Identifier: Apache-2.0
14
+
15
+ function setupApiSDK() {
16
+ _subwalletServicesSdk.default.updateConfig({
17
+ appVersion: _constants.APP_VERSION,
18
+ baseUrl: _constants.BACKEND_API_URL,
19
+ platform: _environment.TARGET_ENV,
20
+ chainListVersion: _utils.ChainListVersion
21
+ });
22
+
23
+ // Custom the price history API with other different base URL
24
+ _subwalletServicesSdk.default.priceHistoryApi.updateConfig({
25
+ baseUrl: _constants.BACKEND_PRICE_HISTORY_URL
26
+ });
27
+ }
@@ -1,3 +1,4 @@
1
+ export declare const APP_VERSION: string;
1
2
  export declare const isProductionMode: boolean;
2
3
  export declare const BACKEND_API_URL: string;
3
4
  export declare const BACKEND_PRICE_HISTORY_URL: string;
@@ -3,6 +3,7 @@
3
3
 
4
4
  const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
5
5
  const branchName = process.env.BRANCH_NAME || 'subwallet-dev';
6
+ export const APP_VERSION = process.env.PKG_VERSION || '';
6
7
  export const isProductionMode = PRODUCTION_BRANCHES.indexOf(branchName) > -1;
7
8
  export const BACKEND_API_URL = process.env.SUBWALLET_API || (isProductionMode ? 'https://sw-services.subwallet.app/api' : 'https://be-dev.subwallet.app/api');
8
9
  export const BACKEND_PRICE_HISTORY_URL = process.env.SUBWALLET_PRICE_HISTORY_API || (isProductionMode ? 'https://price-history.subwallet.app/api' : 'https://price-history-dev.subwallet.app/api');
@@ -8,7 +8,7 @@ import { EvmProviderError } from '@subwallet/extension-base/background/errors/Ev
8
8
  import { withErrorLog } from '@subwallet/extension-base/background/handlers/helpers';
9
9
  import { isSubscriptionRunning, unsubscribe } from '@subwallet/extension-base/background/handlers/subscriptions';
10
10
  import { APIItemState, BitcoinProviderErrorType, CardanoProviderErrorType, ChainType, EvmProviderErrorType, ExternalRequestPromiseStatus, ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
11
- import { BACKEND_API_URL, BACKEND_PRICE_HISTORY_URL, MANTA_PAY_BALANCE_INTERVAL, REMIND_EXPORT_ACCOUNT } from '@subwallet/extension-base/constants';
11
+ import { MANTA_PAY_BALANCE_INTERVAL, REMIND_EXPORT_ACCOUNT } from '@subwallet/extension-base/constants';
12
12
  import { convertErrorFormat, generateValidationProcess, validationAuthCardanoMiddleware, validationAuthMiddleware, validationAuthWCMiddleware, validationBitcoinConnectMiddleware, validationBitcoinSendTransactionMiddleware, validationBitcoinSignMessageMiddleware, validationBitcoinSignPsbtMiddleware, validationCardanoSignDataMiddleware, validationConnectMiddleware, validationEvmDataTransactionMiddleware, validationEvmSignMessageMiddleware } from '@subwallet/extension-base/core/logic-validation';
13
13
  import { BalanceService } from '@subwallet/extension-base/services/balance-service';
14
14
  import { ServiceStatus } from '@subwallet/extension-base/services/base/types';
@@ -41,10 +41,9 @@ import TransactionService from '@subwallet/extension-base/services/transaction-s
41
41
  import WalletConnectService from '@subwallet/extension-base/services/wallet-connect-service';
42
42
  import { SWStorage } from '@subwallet/extension-base/storage';
43
43
  import { BasicTxErrorType } from '@subwallet/extension-base/types';
44
- import { addLazy, isManifestV3, isSameAddress, reformatAddress, sailsCache, stripUrl, targetIsWeb } from '@subwallet/extension-base/utils';
44
+ import { addLazy, isManifestV3, isSameAddress, reformatAddress, sailsCache, setupApiSDK, stripUrl, targetIsWeb } from '@subwallet/extension-base/utils';
45
45
  import { convertCardanoHexToBech32, validateAddressNetwork } from '@subwallet/extension-base/utils/cardano';
46
46
  import { createPromiseHandler } from '@subwallet/extension-base/utils/promise';
47
- import subwalletApiSdk from '@subwallet/subwallet-api-sdk';
48
47
  import { keyring } from '@subwallet/ui-keyring';
49
48
  import BigN from 'bignumber.js';
50
49
  import * as bitcoin from 'bitcoinjs-lib';
@@ -93,10 +92,7 @@ export default class KoniState {
93
92
  waitStartingFull = null;
94
93
  constructor(providers = {}) {
95
94
  // Init subwallet api sdk
96
- subwalletApiSdk.init({
97
- url: BACKEND_API_URL,
98
- priceHistoryUrl: BACKEND_PRICE_HISTORY_URL
99
- });
95
+ setupApiSDK();
100
96
  this.providers = providers;
101
97
  this.eventService = new EventService();
102
98
  this.dbService = new DatabaseService(this.eventService);