@subwallet/extension-base 1.2.12-0 → 1.2.14-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.
- package/background/errors/SwapError.js +5 -1
- package/cjs/background/errors/SwapError.js +5 -1
- package/cjs/core/logic-validation/swap.js +56 -3
- package/cjs/koni/api/nft/config.js +28 -18
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +1 -1
- package/cjs/services/balance-service/transfer/xcm/utils.js +2 -2
- package/cjs/services/chain-service/constants.js +1 -1
- package/cjs/services/chain-service/handler/SubstrateApi.js +6 -0
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +1 -1
- package/cjs/services/chain-service/index.js +18 -5
- package/cjs/services/migration-service/scripts/databases/ReloadMetadata.js +35 -0
- package/cjs/services/migration-service/scripts/index.js +4 -2
- package/cjs/services/storage-service/db-stores/BaseStore.js +4 -0
- package/cjs/services/swap-service/handler/asset-hub/handler.js +343 -0
- package/cjs/services/swap-service/handler/asset-hub/index.js +12 -0
- package/cjs/services/swap-service/handler/asset-hub/router.js +93 -0
- package/cjs/services/swap-service/handler/asset-hub/utils.js +158 -0
- package/cjs/services/swap-service/index.js +10 -1
- package/cjs/services/swap-service/utils.js +10 -1
- package/cjs/types/swap/index.js +5 -1
- package/core/logic-validation/swap.d.ts +3 -1
- package/core/logic-validation/swap.js +55 -4
- package/koni/api/nft/config.js +28 -18
- package/package.json +36 -11
- package/packageInfo.js +1 -1
- package/services/balance-service/helpers/subscribe/substrate/index.js +1 -1
- package/services/balance-service/transfer/xcm/utils.js +2 -2
- package/services/chain-service/constants.js +1 -1
- package/services/chain-service/handler/SubstrateApi.js +6 -0
- package/services/chain-service/handler/SubstrateChainHandler.js +1 -1
- package/services/chain-service/index.js +18 -5
- package/services/migration-service/scripts/databases/ReloadMetadata.d.ts +5 -0
- package/services/migration-service/scripts/databases/ReloadMetadata.js +27 -0
- package/services/migration-service/scripts/index.js +4 -2
- package/services/storage-service/db-stores/BaseStore.d.ts +3 -0
- package/services/storage-service/db-stores/BaseStore.js +4 -0
- package/services/swap-service/handler/asset-hub/handler.d.ts +31 -0
- package/services/swap-service/handler/asset-hub/handler.js +335 -0
- package/services/swap-service/handler/asset-hub/index.d.ts +1 -0
- package/services/swap-service/handler/asset-hub/index.js +4 -0
- package/services/swap-service/handler/asset-hub/router.d.ts +16 -0
- package/services/swap-service/handler/asset-hub/router.js +85 -0
- package/services/swap-service/handler/asset-hub/utils.d.ts +18 -0
- package/services/swap-service/handler/asset-hub/utils.js +133 -0
- package/services/swap-service/index.js +10 -1
- package/services/swap-service/utils.d.ts +1 -0
- package/services/swap-service/utils.js +9 -1
- package/types/swap/index.d.ts +15 -2
- package/types/swap/index.js +5 -1
- /package/cjs/services/migration-service/scripts/{ClearMetadataDatabase.js → databases/ClearMetadataDatabase.js} +0 -0
- /package/services/migration-service/scripts/{ClearMetadataDatabase.d.ts → databases/ClearMetadataDatabase.d.ts} +0 -0
- /package/services/migration-service/scripts/{ClearMetadataDatabase.js → databases/ClearMetadataDatabase.js} +0 -0
|
@@ -37,12 +37,16 @@ const defaultErrorMap = {
|
|
|
37
37
|
code: undefined
|
|
38
38
|
},
|
|
39
39
|
NOT_ENOUGH_LIQUIDITY: {
|
|
40
|
-
message: detectTranslate('
|
|
40
|
+
message: detectTranslate('Insufficient liquidity to complete the swap. Lower your amount and try again'),
|
|
41
41
|
code: undefined
|
|
42
42
|
},
|
|
43
43
|
AMOUNT_CANNOT_BE_ZERO: {
|
|
44
44
|
message: detectTranslate('Amount must be greater than 0'),
|
|
45
45
|
code: undefined
|
|
46
|
+
},
|
|
47
|
+
MAKE_POOL_NOT_ENOUGH_EXISTENTIAL_DEPOSIT: {
|
|
48
|
+
message: detectTranslate('Insufficient liquidity to complete the swap. Lower your amount and try again'),
|
|
49
|
+
code: undefined
|
|
46
50
|
}
|
|
47
51
|
};
|
|
48
52
|
export class SwapError extends SWError {
|
|
@@ -43,12 +43,16 @@ const defaultErrorMap = {
|
|
|
43
43
|
code: undefined
|
|
44
44
|
},
|
|
45
45
|
NOT_ENOUGH_LIQUIDITY: {
|
|
46
|
-
message: (0, _utils.detectTranslate)('
|
|
46
|
+
message: (0, _utils.detectTranslate)('Insufficient liquidity to complete the swap. Lower your amount and try again'),
|
|
47
47
|
code: undefined
|
|
48
48
|
},
|
|
49
49
|
AMOUNT_CANNOT_BE_ZERO: {
|
|
50
50
|
message: (0, _utils.detectTranslate)('Amount must be greater than 0'),
|
|
51
51
|
code: undefined
|
|
52
|
+
},
|
|
53
|
+
MAKE_POOL_NOT_ENOUGH_EXISTENTIAL_DEPOSIT: {
|
|
54
|
+
message: (0, _utils.detectTranslate)('Insufficient liquidity to complete the swap. Lower your amount and try again'),
|
|
55
|
+
code: undefined
|
|
52
56
|
}
|
|
53
57
|
};
|
|
54
58
|
class SwapError extends _SWError.SWError {
|
|
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports._getChainflipEarlyValidationError = _getChainflipEarlyValidationError;
|
|
8
|
+
exports._getEarlyAssetHubValidationError = _getEarlyAssetHubValidationError;
|
|
8
9
|
exports._getEarlyHydradxValidationError = _getEarlyHydradxValidationError;
|
|
9
10
|
exports._validateBalanceToSwap = _validateBalanceToSwap;
|
|
11
|
+
exports._validateBalanceToSwapOnAssetHub = _validateBalanceToSwapOnAssetHub;
|
|
10
12
|
exports._validateSwapRecipient = _validateSwapRecipient;
|
|
11
13
|
var _SwapError = require("@subwallet/extension-base/background/errors/SwapError");
|
|
12
14
|
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
@@ -19,12 +21,46 @@ var _utilCrypto = require("@polkadot/util-crypto");
|
|
|
19
21
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
20
22
|
// SPDX-License-Identifier: Apache-2.0
|
|
21
23
|
|
|
24
|
+
function _validateBalanceToSwapOnAssetHub(fromToken, feeToken, feeTokenChainInfo, feeAmount, fromTokenBalance, feeTokenBalance, swapAmount, isXcmOk, minSwap) {
|
|
25
|
+
const bnFromTokenBalance = new _bignumber.default(fromTokenBalance);
|
|
26
|
+
if (!(0, _utils._isNativeToken)(fromToken) && bnFromTokenBalance.minus(swapAmount).lt((0, _utils._getTokenMinAmount)(fromToken))) {
|
|
27
|
+
const parsedMaxBalanceSwap = (0, _utils2.formatNumber)(bnFromTokenBalance.minus((0, _utils._getTokenMinAmount)(fromToken)), (0, _utils._getAssetDecimals)(fromToken));
|
|
28
|
+
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${bnFromTokenBalance.gt(0) ? `below ${parsedMaxBalanceSwap} ${fromToken.symbol}` : ''} and try again`);
|
|
29
|
+
}
|
|
30
|
+
if (new _bignumber.default(feeTokenBalance).lte(feeAmount)) {
|
|
31
|
+
return new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE, `You don't have enough ${feeToken.symbol} (${feeTokenChainInfo.name}) to pay transaction fee`);
|
|
32
|
+
}
|
|
33
|
+
if (!(0, _utils._isNativeToken)(fromToken) && fromToken.slug === feeToken.slug) {
|
|
34
|
+
// todo: need review and refactor
|
|
35
|
+
if (bnFromTokenBalance.lte(new _bignumber.default(feeAmount).plus(swapAmount))) {
|
|
36
|
+
return new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE, `Insufficient balance. Deposit ${fromToken.symbol} and try again.`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (isXcmOk) {
|
|
40
|
+
// assume that the swap is valid if XCM is in the process and it was successful
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
if (minSwap) {
|
|
44
|
+
if (bnFromTokenBalance.lte(minSwap)) {
|
|
45
|
+
const parsedMinSwapValue = (0, _utils2.formatNumber)(minSwap, (0, _utils._getAssetDecimals)(fromToken));
|
|
46
|
+
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_NOT_ENOUGH_BALANCE, `Insufficient balance. You need more than ${parsedMinSwapValue} ${fromToken.symbol} to start swapping. Deposit ${fromToken.symbol} and try again.`); // todo: min swap or amount?
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (new _bignumber.default(swapAmount).gte(fromTokenBalance)) {
|
|
51
|
+
const parsedMaxBalanceSwap = (0, _utils2.formatNumber)(fromTokenBalance, (0, _utils._getAssetDecimals)(fromToken));
|
|
52
|
+
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${bnFromTokenBalance.gt(0) ? `below ${parsedMaxBalanceSwap} ${fromToken.symbol}` : ''} and try again`);
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
22
56
|
function _validateBalanceToSwap(fromToken, feeToken, feeTokenChainInfo, feeAmount, fromTokenBalance, feeTokenBalance, swapAmount, isXcmOk, minSwap) {
|
|
57
|
+
const bnFromTokenBalance = new _bignumber.default(fromTokenBalance);
|
|
23
58
|
if (new _bignumber.default(feeTokenBalance).lte(feeAmount)) {
|
|
24
59
|
return new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE, `You don't have enough ${feeToken.symbol} (${feeTokenChainInfo.name}) to pay transaction fee`);
|
|
25
60
|
}
|
|
26
61
|
if (fromToken.slug === feeToken.slug) {
|
|
27
|
-
|
|
62
|
+
// todo: need review and refactor
|
|
63
|
+
if (bnFromTokenBalance.lte(new _bignumber.default(feeAmount).plus(swapAmount))) {
|
|
28
64
|
return new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE, `Insufficient balance. Deposit ${fromToken.symbol} and try again.`);
|
|
29
65
|
}
|
|
30
66
|
}
|
|
@@ -33,7 +69,7 @@ function _validateBalanceToSwap(fromToken, feeToken, feeTokenChainInfo, feeAmoun
|
|
|
33
69
|
return undefined;
|
|
34
70
|
}
|
|
35
71
|
if (minSwap) {
|
|
36
|
-
if (
|
|
72
|
+
if (bnFromTokenBalance.lte(minSwap)) {
|
|
37
73
|
const parsedMinSwapValue = (0, _utils2.formatNumber)(minSwap, (0, _utils._getAssetDecimals)(fromToken));
|
|
38
74
|
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_NOT_ENOUGH_BALANCE, `Insufficient balance. You need more than ${parsedMinSwapValue} ${fromToken.symbol} to start swapping. Deposit ${fromToken.symbol} and try again.`); // todo: min swap or amount?
|
|
39
75
|
}
|
|
@@ -41,7 +77,7 @@ function _validateBalanceToSwap(fromToken, feeToken, feeTokenChainInfo, feeAmoun
|
|
|
41
77
|
|
|
42
78
|
if (new _bignumber.default(swapAmount).gte(fromTokenBalance)) {
|
|
43
79
|
const parsedMaxBalanceSwap = (0, _utils2.formatNumber)(fromTokenBalance, (0, _utils._getAssetDecimals)(fromToken));
|
|
44
|
-
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${
|
|
80
|
+
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${bnFromTokenBalance.gt(0) ? `below ${parsedMaxBalanceSwap} ${fromToken.symbol}` : ''} and try again`);
|
|
45
81
|
}
|
|
46
82
|
return undefined;
|
|
47
83
|
}
|
|
@@ -96,4 +132,21 @@ function _getEarlyHydradxValidationError(error, metadata) {
|
|
|
96
132
|
default:
|
|
97
133
|
return new _SwapError.SwapError(error);
|
|
98
134
|
}
|
|
135
|
+
}
|
|
136
|
+
function _getEarlyAssetHubValidationError(error, metadata) {
|
|
137
|
+
switch (error) {
|
|
138
|
+
case _swap.SwapErrorType.AMOUNT_CANNOT_BE_ZERO:
|
|
139
|
+
return new _SwapError.SwapError(error, 'Amount too low. Increase your amount above 0 and try again');
|
|
140
|
+
case _swap.SwapErrorType.ASSET_NOT_SUPPORTED:
|
|
141
|
+
return new _SwapError.SwapError(error, 'This swap pair is not supported');
|
|
142
|
+
case _swap.SwapErrorType.UNKNOWN:
|
|
143
|
+
return new _SwapError.SwapError(error, `Undefined error. Check your Internet and ${metadata.chain.slug} connection or contact support`);
|
|
144
|
+
case _swap.SwapErrorType.ERROR_FETCHING_QUOTE:
|
|
145
|
+
return new _SwapError.SwapError(error, 'No swap quote found. Adjust your amount or try again later.');
|
|
146
|
+
case _swap.SwapErrorType.MAKE_POOL_NOT_ENOUGH_EXISTENTIAL_DEPOSIT:
|
|
147
|
+
return new _SwapError.SwapError(error, 'You swap too much. It make pool not enough existential deposit');
|
|
148
|
+
// TODO: i18n this
|
|
149
|
+
default:
|
|
150
|
+
return new _SwapError.SwapError(error);
|
|
151
|
+
}
|
|
99
152
|
}
|
|
@@ -143,24 +143,34 @@ if (_utils.isFirefox) {
|
|
|
143
143
|
if (_utils.RuntimeInfo.protocol && _utils.RuntimeInfo.protocol.startsWith('http')) {
|
|
144
144
|
// This is for https
|
|
145
145
|
if (_utils.RuntimeInfo.protocol.startsWith('https')) {
|
|
146
|
-
RANDOM_IPFS_GATEWAY_SETTING.push(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
146
|
+
RANDOM_IPFS_GATEWAY_SETTING.push(
|
|
147
|
+
// {
|
|
148
|
+
// provider: IPFS_FLEEK,
|
|
149
|
+
// weight: 4
|
|
150
|
+
// },
|
|
151
|
+
// {
|
|
152
|
+
// provider: IPFS_GATEWAY_4EVERLAND,
|
|
153
|
+
// weight: 2
|
|
154
|
+
// },
|
|
155
|
+
// {
|
|
156
|
+
// provider: IPFS_W3S_LINK,
|
|
157
|
+
// weight: 1
|
|
158
|
+
// },
|
|
159
|
+
// {
|
|
160
|
+
// provider: CF_IPFS_GATEWAY,
|
|
161
|
+
// weight: 4
|
|
162
|
+
// },
|
|
163
|
+
// {
|
|
164
|
+
// provider: PINATA_IPFS_GATEWAY,
|
|
165
|
+
// weight: 1 // Rate limit too low
|
|
166
|
+
// },
|
|
167
|
+
// {
|
|
168
|
+
// provider: IPFS_IO,
|
|
169
|
+
// weight: 5
|
|
170
|
+
// },
|
|
171
|
+
{
|
|
172
|
+
provider: SUBWALLET_IPFS,
|
|
173
|
+
weight: 10
|
|
164
174
|
});
|
|
165
175
|
}
|
|
166
176
|
} else {
|
package/cjs/packageInfo.js
CHANGED
|
@@ -447,7 +447,7 @@ const subscribeGRC20Balance = _ref9 => {
|
|
|
447
447
|
substrateApi
|
|
448
448
|
} = _ref9;
|
|
449
449
|
if (!(substrateApi instanceof _api.GearApi)) {
|
|
450
|
-
console.warn('Cannot subscribe
|
|
450
|
+
console.warn('Cannot subscribe VFT balance without GearApi instance');
|
|
451
451
|
return _util.noop;
|
|
452
452
|
}
|
|
453
453
|
const chain = chainInfo.slug;
|
|
@@ -11,7 +11,7 @@ exports.isUseTeleportProtocol = isUseTeleportProtocol;
|
|
|
11
11
|
const STABLE_XCM_VERSION = 3;
|
|
12
12
|
exports.STABLE_XCM_VERSION = STABLE_XCM_VERSION;
|
|
13
13
|
function isUseTeleportProtocol(originChainInfo, destChainInfo) {
|
|
14
|
-
const relayChainToSystemChain = ['polkadot'].includes(originChainInfo.slug) && ['statemint'].includes(destChainInfo.slug) || ['kusama'].includes(originChainInfo.slug) && ['statemine'].includes(destChainInfo.slug);
|
|
15
|
-
const systemChainToRelayChain = ['polkadot'].includes(destChainInfo.slug) && ['statemint'].includes(originChainInfo.slug) || ['kusama'].includes(destChainInfo.slug) && ['statemine'].includes(originChainInfo.slug);
|
|
14
|
+
const relayChainToSystemChain = ['polkadot'].includes(originChainInfo.slug) && ['statemint'].includes(destChainInfo.slug) || ['kusama'].includes(originChainInfo.slug) && ['statemine'].includes(destChainInfo.slug) || ['rococo'].includes(originChainInfo.slug) && ['rococo_assethub'].includes(destChainInfo.slug);
|
|
15
|
+
const systemChainToRelayChain = ['polkadot'].includes(destChainInfo.slug) && ['statemint'].includes(originChainInfo.slug) || ['kusama'].includes(destChainInfo.slug) && ['statemine'].includes(originChainInfo.slug) || ['rococo'].includes(destChainInfo.slug) && ['rococo_assethub'].includes(originChainInfo.slug);
|
|
16
16
|
return relayChainToSystemChain || systemChainToRelayChain;
|
|
17
17
|
}
|
|
@@ -272,7 +272,7 @@ const _DEFAULT_MANTA_ZK_CHAIN = 'calamari';
|
|
|
272
272
|
exports._DEFAULT_MANTA_ZK_CHAIN = _DEFAULT_MANTA_ZK_CHAIN;
|
|
273
273
|
const _XCM_CHAIN_GROUP = {
|
|
274
274
|
polkadotXcm: ['astar', 'shiden', 'statemine', 'statemint', 'equilibrium_parachain', 'rococo_assethub'],
|
|
275
|
-
xcmPallet: ['polkadot', 'kusama']
|
|
275
|
+
xcmPallet: ['polkadot', 'kusama', 'rococo']
|
|
276
276
|
// default is xTokens pallet
|
|
277
277
|
};
|
|
278
278
|
exports._XCM_CHAIN_GROUP = _XCM_CHAIN_GROUP;
|
|
@@ -31,8 +31,14 @@ const typesBundle = {
|
|
|
31
31
|
const _availSpec = {
|
|
32
32
|
signedExtensions: _availJsSdk.spec.signedExtensions
|
|
33
33
|
};
|
|
34
|
+
|
|
35
|
+
// Override avail goldberg spec for signedExtensions
|
|
36
|
+
const _goldbergSpec = {
|
|
37
|
+
signedExtensions: _availJsSdk.spec.signedExtensions
|
|
38
|
+
};
|
|
34
39
|
if (typesBundle.spec) {
|
|
35
40
|
typesBundle.spec.avail = _availSpec;
|
|
41
|
+
typesBundle.spec['data-avail'] = _goldbergSpec;
|
|
36
42
|
}
|
|
37
43
|
class SubstrateApi {
|
|
38
44
|
useLightClient = false;
|
|
@@ -144,7 +144,7 @@ class SubstrateChainHandler extends _AbstractChainHandler.AbstractChainHandler {
|
|
|
144
144
|
}
|
|
145
145
|
async getGrc20TokenInfo(apiPromise, contractAddress) {
|
|
146
146
|
if (!(apiPromise instanceof _api.GearApi)) {
|
|
147
|
-
console.warn('Cannot subscribe
|
|
147
|
+
console.warn('Cannot subscribe VFT balance without GearApi instance');
|
|
148
148
|
return ['', -1, '', true];
|
|
149
149
|
}
|
|
150
150
|
let contractError = false;
|
|
@@ -28,13 +28,30 @@ const filterChainInfoMap = (data, ignoredChains) => {
|
|
|
28
28
|
return !info.bitcoinInfo && !ignoredChains.includes(slug);
|
|
29
29
|
}));
|
|
30
30
|
};
|
|
31
|
-
const ignoredList = ['bevm', 'bevmTest', 'bevm_testnet', 'layerEdge_testnet', 'merlinEvm', 'botanixEvmTest'];
|
|
31
|
+
const ignoredList = ['bevm', 'bevmTest', 'bevm_testnet', 'layerEdge_testnet', 'merlinEvm', 'botanixEvmTest', 'syscoin_evm', 'rollux_evm'];
|
|
32
32
|
const filterAssetInfoMap = (chainInfo, assets) => {
|
|
33
33
|
return Object.fromEntries(Object.entries(assets).filter(_ref2 => {
|
|
34
34
|
let [, info] = _ref2;
|
|
35
35
|
return chainInfo[info.originChain];
|
|
36
36
|
}));
|
|
37
37
|
};
|
|
38
|
+
|
|
39
|
+
// const rawAssetRefMap = (assetRefMap: Record<string, _AssetRef>) => {
|
|
40
|
+
// const result: Record<string, _AssetRef> = {};
|
|
41
|
+
//
|
|
42
|
+
// Object.entries(assetRefMap).forEach(([key, assetRef]) => {
|
|
43
|
+
// const originChainInfo = ChainInfoMap[assetRef.srcChain];
|
|
44
|
+
// const destChainInfo = ChainInfoMap[assetRef.destChain];
|
|
45
|
+
// const isSnowBridgeXcm = assetRef.path === _AssetRefPath.XCM && _isSnowBridgeXcm(originChainInfo, destChainInfo);
|
|
46
|
+
//
|
|
47
|
+
// if (!isSnowBridgeXcm) {
|
|
48
|
+
// result[key] = assetRef;
|
|
49
|
+
// }
|
|
50
|
+
// });
|
|
51
|
+
//
|
|
52
|
+
// return result;
|
|
53
|
+
// };
|
|
54
|
+
|
|
38
55
|
class ChainService {
|
|
39
56
|
dataMap = {
|
|
40
57
|
chainInfoMap: {},
|
|
@@ -467,10 +484,6 @@ class ChainService {
|
|
|
467
484
|
|
|
468
485
|
// TODO: reconsider the flow of initiation
|
|
469
486
|
this.multiChainAssetMapSubject.next(_chainList.MultiChainAssetMap);
|
|
470
|
-
// const storedAssetRefMap = await this.dbService.getAssetRefMap();
|
|
471
|
-
//
|
|
472
|
-
// this.dataMap.assetRefMap = storedAssetRefMap && Object.values(storedAssetRefMap).length > 0 ? storedAssetRefMap : AssetRefMap;
|
|
473
|
-
|
|
474
487
|
await this.initChains();
|
|
475
488
|
this.chainInfoMapSubject.next(this.getChainInfoMap());
|
|
476
489
|
this.assetRegistrySubject.next(this.getAssetRegistry());
|
|
@@ -0,0 +1,35 @@
|
|
|
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 ReloadMetadata extends _Base.default {
|
|
13
|
+
chains = ['goldberg_testnet'];
|
|
14
|
+
async run() {
|
|
15
|
+
const activeChains = this.state.chainService.getActiveChains();
|
|
16
|
+
for (const chain of this.chains) {
|
|
17
|
+
const item = await this.state.dbService.stores.metadata.getMetadata(chain);
|
|
18
|
+
if (item) {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
await this.state.dbService.stores.metadata.remove(item.genesisHash);
|
|
21
|
+
const isActive = activeChains.includes(chain);
|
|
22
|
+
if (isActive) {
|
|
23
|
+
this.state.chainService.disableChain(chain);
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
this.state.chainService.enableChain(chain).catch(console.error);
|
|
26
|
+
}, 500);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Clear all old metadata data
|
|
31
|
+
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.default = ReloadMetadata;
|
|
@@ -6,9 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.EVERYTIME = void 0;
|
|
8
8
|
var _AutoEnableSomeTokens = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/databases/AutoEnableSomeTokens"));
|
|
9
|
+
var _ReloadMetadata = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/databases/ReloadMetadata"));
|
|
9
10
|
var _DeleteEarningData = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/DeleteEarningData"));
|
|
10
11
|
var _MigrateRemoveGenesisHash = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateRemoveGenesisHash"));
|
|
11
12
|
var _MigrateTransactionHistoryBySymbol = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateTransactionHistoryBySymbol"));
|
|
13
|
+
var _ClearMetadataDatabase = _interopRequireDefault(require("./databases/ClearMetadataDatabase"));
|
|
12
14
|
var _MigrateAssetSetting = _interopRequireDefault(require("./databases/MigrateAssetSetting"));
|
|
13
15
|
var _MigrateEarningVersion = _interopRequireDefault(require("./databases/MigrateEarningVersion"));
|
|
14
16
|
var _MigrateEthProvider = _interopRequireDefault(require("./providers/MigrateEthProvider"));
|
|
@@ -16,7 +18,6 @@ var _MigratePioneerProvider = _interopRequireDefault(require("./providers/Migrat
|
|
|
16
18
|
var _MigrateProvidersV1M1P = _interopRequireDefault(require("./providers/MigrateProvidersV1M1P24"));
|
|
17
19
|
var _MigratePolygonUSDCProvider = _interopRequireDefault(require("./tokens/MigratePolygonUSDCProvider"));
|
|
18
20
|
var _AutoEnableChainsTokens = _interopRequireDefault(require("./AutoEnableChainsTokens"));
|
|
19
|
-
var _ClearMetadataDatabase = _interopRequireDefault(require("./ClearMetadataDatabase"));
|
|
20
21
|
var _DeleteChain = _interopRequireDefault(require("./DeleteChain"));
|
|
21
22
|
var _DeleteChainStaking = _interopRequireDefault(require("./DeleteChainStaking"));
|
|
22
23
|
var _EnableVaraChain = _interopRequireDefault(require("./EnableVaraChain"));
|
|
@@ -63,7 +64,8 @@ var _default = {
|
|
|
63
64
|
'1.1.69-03': _MigrateAssetSetting.default,
|
|
64
65
|
'1.1.69-02': _MigrateTransactionHistoryBySymbol.default,
|
|
65
66
|
'1.2.69-01': _MigrateRemoveGenesisHash.default,
|
|
66
|
-
'1.2.1-01': _ClearMetadataDatabase.default
|
|
67
|
+
'1.2.1-01': _ClearMetadataDatabase.default,
|
|
68
|
+
'1.2.13-01': _ReloadMetadata.default
|
|
67
69
|
// [`${EVERYTIME}-1.1.42-02`]: MigrateTransactionHistoryBySymbol
|
|
68
70
|
// [`${EVERYTIME}-1`]: AutoEnableChainsTokens
|
|
69
71
|
};
|