@subwallet/extension-base 1.1.53-beta.0 → 1.1.54-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 (96) hide show
  1. package/background/KoniTypes.d.ts +1 -9
  2. package/background/KoniTypes.js +0 -1
  3. package/background/errors/TransactionError.js +0 -9
  4. package/cjs/background/KoniTypes.js +0 -1
  5. package/cjs/background/errors/TransactionError.js +0 -9
  6. package/cjs/koni/api/staking/bonding/utils.js +6 -35
  7. package/cjs/koni/background/handlers/Extension.js +0 -85
  8. package/cjs/koni/background/handlers/State.js +5 -25
  9. package/cjs/packageInfo.js +1 -1
  10. package/cjs/services/balance-service/index.js +3 -6
  11. package/cjs/services/chain-service/constants.js +1 -1
  12. package/cjs/services/chain-service/index.js +18 -43
  13. package/cjs/services/chain-service/utils/index.js +2 -7
  14. package/cjs/services/chain-service/utils/patch.js +1 -1
  15. package/cjs/services/earning-service/constants/chains.js +2 -4
  16. package/cjs/services/earning-service/handlers/native-staking/astar.js +3 -4
  17. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +3 -22
  18. package/cjs/services/transaction-service/index.js +0 -20
  19. package/cjs/services/transaction-service/utils.js +0 -6
  20. package/cjs/types/fee/index.js +1 -27
  21. package/cjs/utils/index.js +0 -12
  22. package/koni/api/staking/bonding/utils.d.ts +1 -3
  23. package/koni/api/staking/bonding/utils.js +6 -32
  24. package/koni/background/handlers/Extension.d.ts +0 -5
  25. package/koni/background/handlers/Extension.js +0 -85
  26. package/koni/background/handlers/State.d.ts +0 -2
  27. package/koni/background/handlers/State.js +6 -26
  28. package/package.json +7 -64
  29. package/packageInfo.js +1 -1
  30. package/services/balance-service/index.js +3 -6
  31. package/services/base/types.d.ts +0 -4
  32. package/services/chain-service/constants.js +1 -1
  33. package/services/chain-service/index.d.ts +0 -4
  34. package/services/chain-service/index.js +0 -24
  35. package/services/chain-service/utils/index.d.ts +5 -6
  36. package/services/chain-service/utils/index.js +2 -5
  37. package/services/chain-service/utils/patch.js +1 -1
  38. package/services/earning-service/constants/chains.d.ts +0 -1
  39. package/services/earning-service/constants/chains.js +0 -1
  40. package/services/earning-service/handlers/native-staking/astar.js +3 -4
  41. package/services/earning-service/handlers/native-staking/relay-chain.js +5 -24
  42. package/services/event-service/types.d.ts +0 -1
  43. package/services/transaction-service/index.js +0 -20
  44. package/services/transaction-service/utils.d.ts +0 -2
  45. package/services/transaction-service/utils.js +2 -6
  46. package/types/fee/index.d.ts +49 -2
  47. package/types/fee/index.js +1 -5
  48. package/types/yield/info/chain/target.d.ts +0 -2
  49. package/types/yield/info/pallet.d.ts +0 -4
  50. package/utils/index.d.ts +0 -1
  51. package/utils/index.js +1 -2
  52. package/background/errors/SwapError.d.ts +0 -6
  53. package/background/errors/SwapError.js +0 -57
  54. package/cjs/background/errors/SwapError.js +0 -64
  55. package/cjs/koni/api/dotsama/balance.js +0 -464
  56. package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
  57. package/cjs/services/balance-service/helpers/subscribe/balance.js +0 -140
  58. package/cjs/services/chain-service/utils.js +0 -506
  59. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
  60. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
  61. package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
  62. package/cjs/services/storage-service/index.js +0 -241
  63. package/cjs/services/swap-service/handler/base-handler.js +0 -171
  64. package/cjs/services/swap-service/handler/chainflip-handler.js +0 -407
  65. package/cjs/services/swap-service/handler/hydradx-handler.js +0 -444
  66. package/cjs/services/swap-service/index.js +0 -249
  67. package/cjs/services/swap-service/utils.js +0 -126
  68. package/cjs/types/balance.js +0 -1
  69. package/cjs/types/fee/evm.js +0 -1
  70. package/cjs/types/fee/fee.js +0 -70
  71. package/cjs/types/service-base.js +0 -1
  72. package/cjs/types/swap/index.js +0 -50
  73. package/cjs/types.js +0 -1
  74. package/cjs/utils/address.js +0 -34
  75. package/cjs/utils/keyring.js +0 -57
  76. package/cjs/utils/swap.js +0 -78
  77. package/services/swap-service/handler/base-handler.d.ts +0 -38
  78. package/services/swap-service/handler/base-handler.js +0 -162
  79. package/services/swap-service/handler/chainflip-handler.d.ts +0 -30
  80. package/services/swap-service/handler/chainflip-handler.js +0 -399
  81. package/services/swap-service/handler/hydradx-handler.d.ts +0 -36
  82. package/services/swap-service/handler/hydradx-handler.js +0 -435
  83. package/services/swap-service/index.d.ts +0 -32
  84. package/services/swap-service/index.js +0 -240
  85. package/services/swap-service/utils.d.ts +0 -18
  86. package/services/swap-service/utils.js +0 -105
  87. package/types/fee/evm.d.ts +0 -49
  88. package/types/fee/evm.js +0 -1
  89. package/types/fee/fee.d.ts +0 -32
  90. package/types/fee/fee.js +0 -63
  91. package/types/service-base.d.ts +0 -10
  92. package/types/service-base.js +0 -1
  93. package/types/swap/index.d.ts +0 -166
  94. package/types/swap/index.js +0 -41
  95. package/utils/swap.d.ts +0 -3
  96. package/utils/swap.js +0 -70
@@ -1,506 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports._checkSmartContractSupportByChain = _checkSmartContractSupportByChain;
7
- exports._generateCustomProviderKey = _generateCustomProviderKey;
8
- exports._getAssetDecimals = _getAssetDecimals;
9
- exports._getAssetOriginChain = _getAssetOriginChain;
10
- exports._getAssetPriceId = _getAssetPriceId;
11
- exports._getAssetSymbol = _getAssetSymbol;
12
- exports._getBlockExplorerFromChain = _getBlockExplorerFromChain;
13
- exports._getChainName = _getChainName;
14
- exports._getChainNativeTokenBasicInfo = _getChainNativeTokenBasicInfo;
15
- exports._getChainNativeTokenSlug = _getChainNativeTokenSlug;
16
- exports._getChainSubstrateAddressPrefix = _getChainSubstrateAddressPrefix;
17
- exports._getContractAddressOfToken = _getContractAddressOfToken;
18
- exports._getCrowdloanUrlFromChain = _getCrowdloanUrlFromChain;
19
- exports._getCustomAssets = _getCustomAssets;
20
- exports._getEvmAbiExplorer = _getEvmAbiExplorer;
21
- exports._getEvmChainId = _getEvmChainId;
22
- exports._getMultiChainAsset = _getMultiChainAsset;
23
- exports._getMultiChainAssetPriceId = _getMultiChainAssetPriceId;
24
- exports._getMultiChainAssetSymbol = _getMultiChainAssetSymbol;
25
- exports._getNftTypesSupportedByChain = _getNftTypesSupportedByChain;
26
- exports._getOriginChainOfAsset = _getOriginChainOfAsset;
27
- exports._getSubstrateGenesisHash = _getSubstrateGenesisHash;
28
- exports._getSubstrateParaId = _getSubstrateParaId;
29
- exports._getSubstrateRelayParent = _getSubstrateRelayParent;
30
- exports._getTokenMinAmount = _getTokenMinAmount;
31
- exports._getTokenOnChainAssetId = _getTokenOnChainAssetId;
32
- exports._getTokenOnChainInfo = _getTokenOnChainInfo;
33
- exports._getTokenTypesSupportedByChain = _getTokenTypesSupportedByChain;
34
- exports._getXcmAssetId = _getXcmAssetId;
35
- exports._getXcmAssetMultilocation = _getXcmAssetMultilocation;
36
- exports._getXcmAssetType = _getXcmAssetType;
37
- exports._getXcmTransferType = _getXcmTransferType;
38
- exports._isAssetFungibleToken = _isAssetFungibleToken;
39
- exports._isAssetSmartContractNft = _isAssetSmartContractNft;
40
- exports._isAssetValuable = _isAssetValuable;
41
- exports._isChainEnabled = _isChainEnabled;
42
- exports._isChainEvmCompatible = _isChainEvmCompatible;
43
- exports._isChainSupportEvmNft = _isChainSupportEvmNft;
44
- exports._isChainSupportNativeNft = _isChainSupportNativeNft;
45
- exports._isChainSupportSubstrateStaking = _isChainSupportSubstrateStaking;
46
- exports._isChainSupportWasmNft = _isChainSupportWasmNft;
47
- exports._isChainTestNet = _isChainTestNet;
48
- exports._isCustomAsset = _isCustomAsset;
49
- exports._isCustomChain = _isCustomChain;
50
- exports._isCustomProvider = _isCustomProvider;
51
- exports._isEqualContractAddress = _isEqualContractAddress;
52
- exports._isEqualSmartContractAsset = _isEqualSmartContractAsset;
53
- exports._isLocalToken = _isLocalToken;
54
- exports._isMantaZkAsset = _isMantaZkAsset;
55
- exports._isNativeToken = _isNativeToken;
56
- exports._isNativeTokenBySlug = _isNativeTokenBySlug;
57
- exports._isPureEvmChain = _isPureEvmChain;
58
- exports._isPureSubstrateChain = _isPureSubstrateChain;
59
- exports._isSmartContractToken = _isSmartContractToken;
60
- exports._isSubstrateChain = _isSubstrateChain;
61
- exports._isSubstrateParaChain = _isSubstrateParaChain;
62
- exports._isSubstrateRelayChain = _isSubstrateRelayChain;
63
- exports._isSupportOrdinal = void 0;
64
- exports._isTokenEvmSmartContract = _isTokenEvmSmartContract;
65
- exports._isTokenTransferredByEvm = _isTokenTransferredByEvm;
66
- exports._isTokenWasmSmartContract = _isTokenWasmSmartContract;
67
- exports._isXcmPathSupported = _isXcmPathSupported;
68
- exports._parseAssetRefKey = _parseAssetRefKey;
69
- exports._parseMetadataForSmartContractAsset = _parseMetadataForSmartContractAsset;
70
- exports.findChainInfoByHalfGenesisHash = exports.findChainInfoByChainId = void 0;
71
- exports.randomizeProvider = randomizeProvider;
72
- exports.updateLatestChainInfo = updateLatestChainInfo;
73
- var _types = require("@subwallet/chain-list/types");
74
- var _constants = require("@subwallet/extension-base/services/chain-service/constants");
75
- var _types2 = require("@subwallet/extension-base/services/chain-service/types");
76
- var _utilCrypto = require("@polkadot/util-crypto");
77
- // Copyright 2019-2022 @subwallet/extension-base
78
- // SPDX-License-Identifier: Apache-2.0
79
-
80
- function _isCustomChain(slug) {
81
- if (slug.length === 0) {
82
- return true;
83
- }
84
- return slug.startsWith(_types2._CUSTOM_PREFIX);
85
- }
86
- function _isCustomAsset(slug) {
87
- // might be different from _isCustomNetwork
88
- if (slug.length === 0) {
89
- return true;
90
- }
91
- return slug.startsWith(_types2._CUSTOM_PREFIX);
92
- }
93
- function _getCustomAssets(assetRegistry) {
94
- const filteredAssetMap = {};
95
- Object.values(assetRegistry).forEach(chainAsset => {
96
- if (_isCustomAsset(chainAsset.slug)) {
97
- filteredAssetMap[chainAsset.slug] = chainAsset;
98
- }
99
- });
100
- return filteredAssetMap;
101
- }
102
- function _isEqualContractAddress(address1, address2) {
103
- if ((0, _utilCrypto.isEthereumAddress)(address1) && (0, _utilCrypto.isEthereumAddress)(address2)) {
104
- return address1.toLowerCase() === address2.toLowerCase(); // EVM address is case-insensitive
105
- }
106
-
107
- return address2 === address1;
108
- }
109
- function _isEqualSmartContractAsset(asset1, asset2) {
110
- var _asset1$metadata, _asset2$metadata;
111
- const contract1 = ((_asset1$metadata = asset1.metadata) === null || _asset1$metadata === void 0 ? void 0 : _asset1$metadata.contractAddress) || undefined || null;
112
- const contract2 = ((_asset2$metadata = asset2.metadata) === null || _asset2$metadata === void 0 ? void 0 : _asset2$metadata.contractAddress) || undefined || null;
113
- if (!contract1 || !contract2) {
114
- return false;
115
- }
116
- if (_isEqualContractAddress(contract1, contract2) && asset1.assetType === asset2.assetType && asset1.originChain === asset2.originChain) {
117
- return true;
118
- }
119
- return false;
120
- }
121
- function _isPureEvmChain(chainInfo) {
122
- return chainInfo.evmInfo !== null && chainInfo.substrateInfo === null;
123
- }
124
- function _isPureSubstrateChain(chainInfo) {
125
- return chainInfo.evmInfo === null && chainInfo.substrateInfo !== null;
126
- }
127
- function _getOriginChainOfAsset(assetSlug) {
128
- if (assetSlug.startsWith(_types2._CUSTOM_PREFIX)) {
129
- const arr = assetSlug.split('-').slice(1);
130
- if (arr[0] === 'custom') {
131
- const end = arr.findIndex(str => Object.values(_types._AssetType).includes(str));
132
- return arr.slice(0, end).join('-');
133
- }
134
- return arr[0];
135
- }
136
- return assetSlug.split('-')[0];
137
- }
138
- function _getContractAddressOfToken(tokenInfo) {
139
- var _tokenInfo$metadata;
140
- return ((_tokenInfo$metadata = tokenInfo.metadata) === null || _tokenInfo$metadata === void 0 ? void 0 : _tokenInfo$metadata.contractAddress) || '';
141
- }
142
- function _isTokenTransferredByEvm(tokenInfo) {
143
- var _tokenInfo$metadata2;
144
- return !!((_tokenInfo$metadata2 = tokenInfo.metadata) !== null && _tokenInfo$metadata2 !== void 0 && _tokenInfo$metadata2.contractAddress) || _isNativeToken(tokenInfo);
145
- }
146
- function _checkSmartContractSupportByChain(chainInfo, contractType) {
147
- // EVM chains support smart contract by default so just checking Substrate chains
148
- if (chainInfo.substrateInfo === null || chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract === null) {
149
- return false;
150
- }
151
- return chainInfo.substrateInfo.supportSmartContract !== null && chainInfo.substrateInfo.supportSmartContract.includes(contractType);
152
- }
153
-
154
- // Utils for balance functions
155
- function _getTokenOnChainAssetId(tokenInfo) {
156
- var _tokenInfo$metadata3;
157
- return ((_tokenInfo$metadata3 = tokenInfo.metadata) === null || _tokenInfo$metadata3 === void 0 ? void 0 : _tokenInfo$metadata3.assetId) || '-1';
158
- }
159
- function _getTokenOnChainInfo(tokenInfo) {
160
- var _tokenInfo$metadata4;
161
- return (_tokenInfo$metadata4 = tokenInfo.metadata) === null || _tokenInfo$metadata4 === void 0 ? void 0 : _tokenInfo$metadata4.onChainInfo;
162
- }
163
- function _getTokenMinAmount(tokenInfo) {
164
- return tokenInfo.minAmount || '0';
165
- }
166
- function _isChainEvmCompatible(chainInfo) {
167
- return !!chainInfo.evmInfo;
168
- }
169
- function _isNativeToken(tokenInfo) {
170
- return tokenInfo.assetType === _types._AssetType.NATIVE;
171
- }
172
- function _isNativeTokenBySlug(tokenSlug) {
173
- return tokenSlug.includes(_types._AssetType.NATIVE);
174
- }
175
- function _isSmartContractToken(tokenInfo) {
176
- return _types2._SMART_CONTRACT_STANDARDS.includes(tokenInfo.assetType);
177
- }
178
- function _isSubstrateChain(chainInfo) {
179
- return !!chainInfo.substrateInfo; // fallback to Ethereum
180
- }
181
-
182
- function _getEvmChainId(chainInfo) {
183
- var _chainInfo$evmInfo;
184
- return ((_chainInfo$evmInfo = chainInfo.evmInfo) === null || _chainInfo$evmInfo === void 0 ? void 0 : _chainInfo$evmInfo.evmChainId) || 1; // fallback to Ethereum
185
- }
186
-
187
- function _getSubstrateParaId(chainInfo) {
188
- var _chainInfo$substrateI;
189
- return ((_chainInfo$substrateI = chainInfo.substrateInfo) === null || _chainInfo$substrateI === void 0 ? void 0 : _chainInfo$substrateI.paraId) || -1;
190
- }
191
- function _getSubstrateRelayParent(chainInfo) {
192
- var _chainInfo$substrateI2;
193
- return ((_chainInfo$substrateI2 = chainInfo.substrateInfo) === null || _chainInfo$substrateI2 === void 0 ? void 0 : _chainInfo$substrateI2.relaySlug) || '';
194
- }
195
- function _getSubstrateGenesisHash(chainInfo) {
196
- var _chainInfo$substrateI3;
197
- return ((_chainInfo$substrateI3 = chainInfo.substrateInfo) === null || _chainInfo$substrateI3 === void 0 ? void 0 : _chainInfo$substrateI3.genesisHash) || '';
198
- }
199
- function _isChainSupportSubstrateStaking(chainInfo) {
200
- var _chainInfo$substrateI4;
201
- return ((_chainInfo$substrateI4 = chainInfo.substrateInfo) === null || _chainInfo$substrateI4 === void 0 ? void 0 : _chainInfo$substrateI4.supportStaking) || false;
202
- }
203
- function _isChainEnabled(chainState) {
204
- return chainState.active;
205
- }
206
- function _getChainSubstrateAddressPrefix(chainInfo) {
207
- var _chainInfo$substrateI5, _chainInfo$substrateI6;
208
- return (_chainInfo$substrateI5 = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI6 = chainInfo.substrateInfo) === null || _chainInfo$substrateI6 === void 0 ? void 0 : _chainInfo$substrateI6.addressPrefix) !== null && _chainInfo$substrateI5 !== void 0 ? _chainInfo$substrateI5 : -1;
209
- }
210
- function _isChainSupportNativeNft(chainInfo) {
211
- var _chainInfo$substrateI7;
212
- return ((_chainInfo$substrateI7 = chainInfo.substrateInfo) === null || _chainInfo$substrateI7 === void 0 ? void 0 : _chainInfo$substrateI7.hasNativeNft) || false;
213
- }
214
- function _isChainSupportEvmNft(chainInfo) {
215
- var _chainInfo$evmInfo2, _chainInfo$evmInfo2$s;
216
- return ((_chainInfo$evmInfo2 = chainInfo.evmInfo) === null || _chainInfo$evmInfo2 === void 0 ? void 0 : (_chainInfo$evmInfo2$s = _chainInfo$evmInfo2.supportSmartContract) === null || _chainInfo$evmInfo2$s === void 0 ? void 0 : _chainInfo$evmInfo2$s.includes(_types._AssetType.ERC721)) || false;
217
- }
218
- function _isChainSupportWasmNft(chainInfo) {
219
- var _chainInfo$substrateI8, _chainInfo$substrateI9;
220
- return ((_chainInfo$substrateI8 = chainInfo.substrateInfo) === null || _chainInfo$substrateI8 === void 0 ? void 0 : (_chainInfo$substrateI9 = _chainInfo$substrateI8.supportSmartContract) === null || _chainInfo$substrateI9 === void 0 ? void 0 : _chainInfo$substrateI9.includes(_types._AssetType.PSP34)) || false;
221
- }
222
- const _isSupportOrdinal = chain => {
223
- const chains = ['polkadot', 'astar', 'bifrost_dot', 'moonbeam'];
224
- return chains.includes(chain);
225
- };
226
- exports._isSupportOrdinal = _isSupportOrdinal;
227
- function _getNftTypesSupportedByChain(chainInfo) {
228
- const result = [];
229
- if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
230
- chainInfo.substrateInfo.supportSmartContract.forEach(assetType => {
231
- if ([_types._AssetType.PSP34].includes(assetType)) {
232
- result.push(assetType);
233
- }
234
- });
235
- }
236
- if (chainInfo.evmInfo && chainInfo.evmInfo.supportSmartContract) {
237
- chainInfo.evmInfo.supportSmartContract.forEach(assetType => {
238
- if ([_types._AssetType.ERC721].includes(assetType)) {
239
- result.push(assetType);
240
- }
241
- });
242
- }
243
- return result;
244
- }
245
- function _getTokenTypesSupportedByChain(chainInfo) {
246
- const result = [];
247
- if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
248
- chainInfo.substrateInfo.supportSmartContract.forEach(assetType => {
249
- if ([_types._AssetType.PSP22].includes(assetType)) {
250
- result.push(assetType);
251
- }
252
- });
253
- }
254
- if (chainInfo.evmInfo && chainInfo.evmInfo.supportSmartContract) {
255
- chainInfo.evmInfo.supportSmartContract.forEach(assetType => {
256
- if ([_types._AssetType.ERC20].includes(assetType)) {
257
- result.push(assetType);
258
- }
259
- });
260
- }
261
- return result;
262
- }
263
- function _getChainNativeTokenBasicInfo(chainInfo) {
264
- if (!chainInfo) {
265
- return {
266
- symbol: '',
267
- decimals: -1
268
- };
269
- }
270
- if (chainInfo.substrateInfo !== null) {
271
- // substrate by default
272
- return {
273
- symbol: chainInfo.substrateInfo.symbol,
274
- decimals: chainInfo.substrateInfo.decimals
275
- };
276
- } else if (chainInfo.evmInfo !== null) {
277
- return {
278
- symbol: chainInfo.evmInfo.symbol,
279
- decimals: chainInfo.evmInfo.decimals
280
- };
281
- }
282
- return {
283
- symbol: '',
284
- decimals: -1
285
- };
286
- }
287
- function _getChainNativeTokenSlug(chainInfo) {
288
- if (_isCustomChain(chainInfo.slug)) {
289
- return `${_types2._CUSTOM_PREFIX}${chainInfo.slug}-${_types._AssetType.NATIVE}-${_getChainNativeTokenBasicInfo(chainInfo).symbol}`;
290
- }
291
- return `${chainInfo.slug}-${_types._AssetType.NATIVE}-${_getChainNativeTokenBasicInfo(chainInfo).symbol}`;
292
- }
293
- function _isLocalToken(tokenInfo) {
294
- return tokenInfo.assetType === _types._AssetType.LOCAL;
295
- }
296
- function _isTokenEvmSmartContract(tokenInfo) {
297
- return [_types._AssetType.ERC721, _types._AssetType.ERC20].includes(tokenInfo.assetType);
298
- }
299
- function _isTokenWasmSmartContract(tokenInfo) {
300
- return [_types._AssetType.PSP22, _types._AssetType.PSP34].includes(tokenInfo.assetType);
301
- }
302
- function _isAssetSmartContractNft(assetInfo) {
303
- return [_types._AssetType.PSP34, _types._AssetType.ERC721].includes(assetInfo.assetType);
304
- }
305
- function _parseAssetRefKey(originTokenSlug, destinationTokenSlug) {
306
- return `${originTokenSlug}___${destinationTokenSlug}`;
307
- }
308
- function _isXcmPathSupported(originTokenSlug, destinationTokenSlug, assetRefMap) {
309
- const assetRef = assetRefMap[_parseAssetRefKey(originTokenSlug, destinationTokenSlug)];
310
- if (!assetRef) {
311
- return false;
312
- }
313
- return assetRef.path === _types._AssetRefPath.XCM;
314
- }
315
- function _getXcmAssetType(tokenInfo) {
316
- var _tokenInfo$metadata5;
317
- return ((_tokenInfo$metadata5 = tokenInfo.metadata) === null || _tokenInfo$metadata5 === void 0 ? void 0 : _tokenInfo$metadata5.assetType) || '';
318
- }
319
- function _getXcmAssetId(tokenInfo) {
320
- var _tokenInfo$metadata6;
321
- return ((_tokenInfo$metadata6 = tokenInfo.metadata) === null || _tokenInfo$metadata6 === void 0 ? void 0 : _tokenInfo$metadata6.assetId) || '-1';
322
- }
323
- function _getXcmAssetMultilocation(tokenInfo) {
324
- var _tokenInfo$metadata7;
325
- return (_tokenInfo$metadata7 = tokenInfo.metadata) === null || _tokenInfo$metadata7 === void 0 ? void 0 : _tokenInfo$metadata7.multilocation;
326
- }
327
- function _getXcmTransferType(originChainInfo, destinationChainInfo) {
328
- var _originChainInfo$subs, _destinationChainInfo;
329
- return `${((_originChainInfo$subs = originChainInfo.substrateInfo) === null || _originChainInfo$subs === void 0 ? void 0 : _originChainInfo$subs.chainType) || ''}-${((_destinationChainInfo = destinationChainInfo.substrateInfo) === null || _destinationChainInfo === void 0 ? void 0 : _destinationChainInfo.chainType) || ''}`;
330
- }
331
- function _isSubstrateRelayChain(chainInfo) {
332
- var _chainInfo$substrateI10;
333
- return ((_chainInfo$substrateI10 = chainInfo.substrateInfo) === null || _chainInfo$substrateI10 === void 0 ? void 0 : _chainInfo$substrateI10.chainType) === _types._SubstrateChainType.RELAYCHAIN;
334
- }
335
- function _isSubstrateParaChain(chainInfo) {
336
- var _chainInfo$substrateI11;
337
- return chainInfo.substrateInfo !== null && chainInfo.substrateInfo.paraId !== null && ((_chainInfo$substrateI11 = chainInfo.substrateInfo) === null || _chainInfo$substrateI11 === void 0 ? void 0 : _chainInfo$substrateI11.chainType) === _types._SubstrateChainType.PARACHAIN;
338
- }
339
- function _getEvmAbiExplorer(chainInfo) {
340
- var _chainInfo$evmInfo3;
341
- return ((_chainInfo$evmInfo3 = chainInfo.evmInfo) === null || _chainInfo$evmInfo3 === void 0 ? void 0 : _chainInfo$evmInfo3.abiExplorer) || '';
342
- }
343
- function _isAssetValuable(assetInfo) {
344
- return assetInfo.hasValue;
345
- }
346
- function _getMultiChainAsset(assetInfo) {
347
- return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.multiChainAsset) || '';
348
- }
349
- function _getAssetPriceId(assetInfo) {
350
- return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.priceId) || '';
351
- }
352
- function _getMultiChainAssetPriceId(multiChainAsset) {
353
- return (multiChainAsset === null || multiChainAsset === void 0 ? void 0 : multiChainAsset.priceId) || '';
354
- }
355
- function _getAssetSymbol(assetInfo) {
356
- return (assetInfo === null || assetInfo === void 0 ? void 0 : assetInfo.symbol) || '';
357
- }
358
- function _getMultiChainAssetSymbol(multiChainAsset) {
359
- return multiChainAsset.symbol;
360
- }
361
- function _getAssetOriginChain(assetInfo) {
362
- return assetInfo.originChain;
363
- }
364
- function _getChainName(chainInfo) {
365
- return chainInfo.name;
366
- }
367
- function _getAssetDecimals(assetInfo) {
368
- return assetInfo.decimals || 0;
369
- }
370
- function _getBlockExplorerFromChain(chainInfo) {
371
- let blockExplorer;
372
- if (!chainInfo) {
373
- return;
374
- }
375
- if (_isPureEvmChain(chainInfo)) {
376
- var _chainInfo$evmInfo4;
377
- blockExplorer = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$evmInfo4 = chainInfo.evmInfo) === null || _chainInfo$evmInfo4 === void 0 ? void 0 : _chainInfo$evmInfo4.blockExplorer;
378
- } else {
379
- var _chainInfo$substrateI12;
380
- blockExplorer = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI12 = chainInfo.substrateInfo) === null || _chainInfo$substrateI12 === void 0 ? void 0 : _chainInfo$substrateI12.blockExplorer;
381
- }
382
- if (!blockExplorer) {
383
- return undefined;
384
- }
385
- if (blockExplorer !== '' && !blockExplorer.endsWith('/')) {
386
- return `${blockExplorer}/`;
387
- } else {
388
- return blockExplorer;
389
- }
390
- }
391
- function _parseMetadataForSmartContractAsset(contractAddress) {
392
- return {
393
- contractAddress
394
- };
395
- }
396
- function _isChainTestNet(chainInfo) {
397
- return chainInfo.isTestnet || false;
398
- }
399
- function _isAssetFungibleToken(chainAsset) {
400
- return ![_types._AssetType.ERC721, _types._AssetType.PSP34, _types._AssetType.UNKNOWN].includes(chainAsset.assetType);
401
- }
402
- function _getCrowdloanUrlFromChain(chainInfo) {
403
- var _chainInfo$substrateI13;
404
- return (chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI13 = chainInfo.substrateInfo) === null || _chainInfo$substrateI13 === void 0 ? void 0 : _chainInfo$substrateI13.crowdloanUrl) || '';
405
- }
406
- function _isCustomProvider(providerKey) {
407
- return providerKey.startsWith(_types2._CUSTOM_PREFIX);
408
- }
409
- function _generateCustomProviderKey(index) {
410
- return `${_types2._CUSTOM_PREFIX}provider-${index}`;
411
- }
412
- const findChainInfoByHalfGenesisHash = (chainMap, halfGenesisHash) => {
413
- if (!halfGenesisHash) {
414
- return null;
415
- }
416
- for (const chainInfo of Object.values(chainMap)) {
417
- var _getSubstrateGenesisH;
418
- if (((_getSubstrateGenesisH = _getSubstrateGenesisHash(chainInfo)) === null || _getSubstrateGenesisH === void 0 ? void 0 : _getSubstrateGenesisH.toLowerCase().substring(2, 2 + 32)) === halfGenesisHash.toLowerCase()) {
419
- return chainInfo;
420
- }
421
- }
422
- return null;
423
- };
424
- exports.findChainInfoByHalfGenesisHash = findChainInfoByHalfGenesisHash;
425
- const findChainInfoByChainId = (chainMap, chainId) => {
426
- if (!chainId) {
427
- return null;
428
- }
429
- for (const chainInfo of Object.values(chainMap)) {
430
- var _chainInfo$evmInfo5;
431
- if (((_chainInfo$evmInfo5 = chainInfo.evmInfo) === null || _chainInfo$evmInfo5 === void 0 ? void 0 : _chainInfo$evmInfo5.evmChainId) === chainId) {
432
- return chainInfo;
433
- }
434
- }
435
- return null;
436
- };
437
- exports.findChainInfoByChainId = findChainInfoByChainId;
438
- function _isMantaZkAsset(chainAsset) {
439
- return _constants._MANTA_ZK_CHAIN_GROUP.includes(chainAsset.originChain) && chainAsset.symbol.startsWith(_constants._ZK_ASSET_PREFIX);
440
- }
441
- function randomizeProvider(providers, excludedKeys) {
442
- if (Object.keys(providers).length === 0) {
443
- return {
444
- providerKey: '',
445
- providerValue: ''
446
- };
447
- }
448
- let isValid = false;
449
- let selectedProviderKey = '';
450
- let selectedProviderValue = '';
451
- while (!isValid) {
452
- var _selectedProviderValu, _selectedProviderKey;
453
- const randomProvider = Math.floor(Math.random() * Object.keys(providers).length);
454
- selectedProviderKey = Object.keys(providers)[randomProvider];
455
- selectedProviderValue = providers[selectedProviderKey];
456
- if (!((_selectedProviderValu = selectedProviderValue) !== null && _selectedProviderValu !== void 0 && _selectedProviderValu.startsWith('light')) && !((_selectedProviderKey = selectedProviderKey) !== null && _selectedProviderKey !== void 0 && _selectedProviderKey.startsWith(_types2._CUSTOM_PREFIX)) && !(excludedKeys !== null && excludedKeys !== void 0 && excludedKeys.includes(selectedProviderKey))) {
457
- // if it's light client, then re-randomize
458
- isValid = true;
459
- }
460
- }
461
- return {
462
- providerKey: selectedProviderKey,
463
- providerValue: selectedProviderValue
464
- };
465
- }
466
- function updateLatestChainInfo(currentDataMap, latestChainInfoList) {
467
- const currentChainInfoMap = currentDataMap.chainInfoMap;
468
- const currentChainStateMap = currentDataMap.chainStateMap;
469
- const storedChainInfoList = [];
470
- const needUpdateChainApiList = [];
471
- latestChainInfoList.forEach(latestChainInfo => {
472
- const currentChainInfo = currentChainInfoMap[latestChainInfo.slug];
473
- const currentChainState = currentChainStateMap[latestChainInfo.slug];
474
- const currentChainProviderValue = currentChainInfo === null || currentChainInfo === void 0 ? void 0 : currentChainInfo.providers[currentChainState === null || currentChainState === void 0 ? void 0 : currentChainState.currentProvider];
475
- if (currentChainInfo && currentChainState) {
476
- const preservedProvider = {};
477
- Object.entries(currentChainInfo.providers).forEach(_ref => {
478
- let [providerKey, providerValue] = _ref;
479
- if (providerValue !== null && providerValue !== void 0 && providerValue.startsWith('light') || providerKey !== null && providerKey !== void 0 && providerKey.startsWith(_types2._CUSTOM_PREFIX)) {
480
- preservedProvider[providerKey] = providerValue;
481
- }
482
- });
483
- currentChainInfo.providers = {
484
- ...latestChainInfo.providers,
485
- ...preservedProvider
486
- };
487
- const currentProviderNotFound = !Object.keys(currentChainInfo.providers).includes(currentChainState.currentProvider);
488
- const currentProviderUpdated = Object.keys(currentChainInfo.providers).includes(currentChainState.currentProvider) && !Object.values(currentChainInfo.providers).includes(currentChainProviderValue);
489
- if (currentChainInfo.chainStatus === _types._ChainStatus.ACTIVE && (currentProviderNotFound || currentProviderUpdated)) {
490
- const {
491
- providerKey
492
- } = randomizeProvider(currentChainInfo.providers);
493
- currentChainState.currentProvider = providerKey;
494
- needUpdateChainApiList.push(currentChainInfo);
495
- }
496
- storedChainInfoList.push({
497
- ...currentChainInfo,
498
- ...currentChainState
499
- });
500
- }
501
- });
502
- return {
503
- storedChainInfoList,
504
- needUpdateChainApiList
505
- };
506
- }
@@ -1,17 +0,0 @@
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 MigrateEthProvider extends _MigrateProvider.default {
13
- newProvider = 'ethereum';
14
- oldProvider = 'Cloudflare';
15
- slug = 'Llamarpc';
16
- }
17
- exports.default = MigrateEthProvider;
@@ -1,17 +0,0 @@
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 MigratePioneerProvider extends _MigrateProvider.default {
13
- slug = 'pioneer';
14
- oldProvider = 'OnFinality';
15
- newProvider = 'Pioneer';
16
- }
17
- exports.default = MigratePioneerProvider;
@@ -1,29 +0,0 @@
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
- // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
10
- // SPDX-License-Identifier: Apache-2.0
11
-
12
- class MigrateProvider extends _Base.default {
13
- async run() {
14
- const state = this.state;
15
- const chainState = state.getChainStateByKey(this.slug);
16
- const chainInfo = state.getChainInfo(this.slug);
17
- if (chainState && chainState.active && chainState.currentProvider === this.oldProvider) {
18
- await state.upsertChainInfo({
19
- mode: 'update',
20
- chainEditInfo: {
21
- currentProvider: this.newProvider,
22
- slug: this.slug,
23
- providers: chainInfo.providers
24
- }
25
- });
26
- }
27
- }
28
- }
29
- exports.default = MigrateProvider;